Пример #1
0
        private void CreateSubscription()
        {
            IndexMethod();
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var alarmItem = new OpcMonitoredItem(_opc.cl.GetNode(AlarmPcy), OpcAttribute.Value);

            alarmItem.DataChangeReceived += HandleAlarmStatusChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(alarmItem);
            var onItem = new OpcMonitoredItem(_opc.cl.GetNode(KmPcy), OpcAttribute.Value);

            onItem.DataChangeReceived += HandleKmStatusChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(onItem);
            var modeAutomat = new OpcMonitoredItem(_opc.cl.GetNode(ModePcy), OpcAttribute.Value);

            modeAutomat.DataChangeReceived += HandleAutomatChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(modeAutomat);
            var modeManual = new OpcMonitoredItem(_opc.cl.GetNode(ManualPcy), OpcAttribute.Value);

            modeManual.DataChangeReceived += HandleManualChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(modeManual);

            if (FreqPcay == null)
            {
                VisFreq = Visibility.Collapsed;
            }
            else
            {
                VisFreq = Visibility.Visible;
                var freqItem = new OpcMonitoredItem(_opc.cl.GetNode(FreqPcay), OpcAttribute.Value);
                freqItem.DataChangeReceived += HandleFreqChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(freqItem);
            }
        }
Пример #2
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var weightItem = new OpcMonitoredItem(_opc.cl.GetNode("WeightDiff_" + _tagWeight), OpcAttribute.Value);

            weightItem.DataChangeReceived += HandleWeightChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(weightItem);

            var percentRought = new OpcMonitoredItem(_opc.cl.GetNode(_tagPreciseDos + ".Percents"), OpcAttribute.Value);

            percentRought.DataChangeReceived += HandlePercentRoughtChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(percentRought);
            var weightPrecise = new OpcMonitoredItem(_opc.cl.GetNode(_tagPreciseDos + ".PreciseWeight"), OpcAttribute.Value);

            weightPrecise.DataChangeReceived += HandleWeightPreciseChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(weightPrecise);
            var byPercent = new OpcMonitoredItem(_opc.cl.GetNode(_tagPreciseDos + ".Work_ByPercent"), OpcAttribute.Value);

            byPercent.DataChangeReceived += HandleByPercentChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(byPercent);

            for (int i = 0; i < WorkMode.Length; i++)
            {
                WorkMode[i].Subscribe();
            }

            OpcServer.GetInstance().GetSubscription(_opcName).ApplyChanges();
        }
Пример #3
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var activeVibroItem = new OpcMonitoredItem(_opc.cl.GetNode(_tagVibro + ".Active"), OpcAttribute.Value);

            activeVibroItem.DataChangeReceived += HandleActiveVibroChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(activeVibroItem);

            var onQuantityItem = new OpcMonitoredItem(_opc.cl.GetNode(_tagVibro + ".Work_Count"), OpcAttribute.Value);

            onQuantityItem.DataChangeReceived += HandleOnQuantityChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(onQuantityItem);

            var onTimeItem = new OpcMonitoredItem(_opc.cl.GetNode(_tagVibro + ".Work_Time"), OpcAttribute.Value);

            onTimeItem.DataChangeReceived += HandleOnTimeChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(onTimeItem);

            var pauseTimeItem = new OpcMonitoredItem(_opc.cl.GetNode(_tagVibro + ".Pause_Time"), OpcAttribute.Value);

            pauseTimeItem.DataChangeReceived += HandlePauseTimeChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(pauseTimeItem);

            OpcServer.GetInstance().GetSubscription(_opcName).ApplyChanges();
        }
Пример #4
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            if (_isInertBunker)
            {
                var preciseModeItem = new OpcMonitoredItem(_opc.cl.GetNode("Precise." + TagGate), OpcAttribute.Value);
                preciseModeItem.DataChangeReceived += HandlePreciseModeChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(preciseModeItem);

                var roughtModeItem = new OpcMonitoredItem(_opc.cl.GetNode("Rought." + TagGate), OpcAttribute.Value);
                roughtModeItem.DataChangeReceived += HandleRoughtModeChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(roughtModeItem);
            }
            var preciseWorkItem = new OpcMonitoredItem(_opc.cl.GetNode(TagGate + ".Precise_Work"), OpcAttribute.Value);

            preciseWorkItem.DataChangeReceived += HandlePreciseWorkChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(preciseWorkItem);

            var precisePauseItem = new OpcMonitoredItem(_opc.cl.GetNode(TagGate + ".Precise_Pause"), OpcAttribute.Value);

            precisePauseItem.DataChangeReceived += HandlePrecisePauseChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(precisePauseItem);

            var roughtWorkItem = new OpcMonitoredItem(_opc.cl.GetNode(TagGate + ".Rought_Work"), OpcAttribute.Value);

            roughtWorkItem.DataChangeReceived += HandleRoughtWorkChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(roughtWorkItem);

            var roughtPauseItem = new OpcMonitoredItem(_opc.cl.GetNode(TagGate + ".Rought_Pause"), OpcAttribute.Value);

            roughtPauseItem.DataChangeReceived += HandleRoughtPauseChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(roughtPauseItem);
        }
Пример #5
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var runningItem = new OpcMonitoredItem(_opc.cl.GetNode("Work_ON"), OpcAttribute.Value);

            runningItem.DataChangeReceived += HandleRunningChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(runningItem);

            var pauseItem = new OpcMonitoredItem(_opc.cl.GetNode("Work_Pause"), OpcAttribute.Value);

            pauseItem.DataChangeReceived += HandlePauseChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(pauseItem);

            var rdyStartItem = new OpcMonitoredItem(_opc.cl.GetNode("rdy_btn_Start"), OpcAttribute.Value);

            rdyStartItem.DataChangeReceived += HandleRdyStartChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(rdyStartItem);

            var rdyStopItem = new OpcMonitoredItem(_opc.cl.GetNode("rdy_btn_Stop"), OpcAttribute.Value);

            rdyStopItem.DataChangeReceived += HandleRdyStopChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(rdyStopItem);

            var rdyPauseItem = new OpcMonitoredItem(_opc.cl.GetNode("rdy_btn_Pause"), OpcAttribute.Value);

            rdyPauseItem.DataChangeReceived += HandleRdyPauseChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(rdyPauseItem);
        }
Пример #6
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var readVal   = _readVal ?? ValuePcay;
            var valueItem = new OpcMonitoredItem(_opc.cl.GetNode(Prefix + readVal), OpcAttribute.Value);

            valueItem.DataChangeReceived += HandleValueChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(valueItem);
            if (VisValue != null)
            {
                var visItem = new OpcMonitoredItem(_opc.cl.GetNode(Prefix + VisValue), OpcAttribute.Value);
                visItem.DataChangeReceived += HandleVisChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(visItem);
            }
            if (VisErrorTag != null)
            {
                var visErrorItem = new OpcMonitoredItem(_opc.cl.GetNode(Prefix + VisErrorTag), OpcAttribute.Value);
                visErrorItem.DataChangeReceived += HandleVisErrorChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(visErrorItem);
            }
            if (!string.IsNullOrEmpty(PermitTag))
            {
                _opc = OpcServer.GetInstance().GetOpc(_opcName);
                var permitDos = new OpcMonitoredItem(_opc.cl.GetNode(PermitTag), OpcAttribute.Value);
                permitDos.DataChangeReceived += HandlePermitDosChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(permitDos);
            }
        }
Пример #7
0
        private static void HandleAnalogDataChange(object sender, OpcDataChangeReceivedEventArgs e)
        {
            OpcMonitoredItem item = (OpcMonitoredItem)sender;

            Console.WriteLine(
                "Data Change from NodeId '{0}': {1}",
                item.RelativePath,
                e.Item.Value);
            var objects = Objects.OPCObjects.createObjects();

            using (var context = new MyDBContext())
            {
                lock (objects.getSQLLocker())
                {
                    var analogs = context.AnalogValue.Where(x => x.Path == item.NodeId);
                    foreach (var analog in analogs)
                    {
                        var input = e.Item.Value.ToString();
                        analog.Value = float.Parse(input);
                        context.Update(analog);
                        context.SaveChanges();
                    }
                }
            }
        }
Пример #8
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var addVolumeItem = new OpcMonitoredItem(_opc.cl.GetNode("Add_Volume[" + _contNumDictionary[_containerItem] + "]"), OpcAttribute.Value);

            addVolumeItem.DataChangeReceived += HandleAddVolumeChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(addVolumeItem);

            var parVolumeItem = new OpcMonitoredItem(_opc.cl.GetNode("PAR_Volume[" + _contNumDictionary[_containerItem] + "]"), OpcAttribute.Value);

            parVolumeItem.DataChangeReceived += HandleParVolumeChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(parVolumeItem);

            var currentVolumeItem = new OpcMonitoredItem(_opc.cl.GetNode("Volume[" + _contNumDictionary[_containerItem] + "]"), OpcAttribute.Value);

            currentVolumeItem.DataChangeReceived += HandleCurrentVolumeChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(currentVolumeItem);

            var loadCement = new OpcMonitoredItem(_opc.cl.GetNode("LoadCement_Silos" + _numSilo), OpcAttribute.Value);

            loadCement.DataChangeReceived += HandleLoadCementChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(loadCement);

            OpcServer.GetInstance().GetSubscription(_opcName).ApplyChanges();
        }
Пример #9
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var visItem = new OpcMonitoredItem(_opc.cl.GetNode(TagContainer + ".Pause"), OpcAttribute.Value);

            visItem.DataChangeReceived += HandleVisChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(visItem);
        }
Пример #10
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(OpcServer.OpcList.Rbu);
            var idItem = new OpcMonitoredItem(_opc.cl.GetNode("TaskID"), OpcAttribute.Value);

            idItem.DataChangeReceived += HandleIdChanged;
            OpcServer.GetInstance().GetSubscription(OpcServer.OpcList.Rbu).AddMonitoredItem(idItem);
        }
Пример #11
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var paramItem = new OpcMonitoredItem(_opc.cl.GetNode(_opcTag), OpcAttribute.Value);

            paramItem.DataChangeReceived += HandleIdChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(paramItem);
        }
Пример #12
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var readVal = _readVal ?? OnPcy;
            var visItem = new OpcMonitoredItem(_opc.cl.GetNode(Prefix + readVal), OpcAttribute.Value);

            visItem.DataChangeReceived += HandleVisChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(visItem);
        }
Пример #13
0
 private void CreateSubscription()
 {
     if (!string.IsNullOrEmpty(PermitTag))
     {
         _opc = OpcServer.GetInstance().GetOpc(_opcName);
         var permitDos = new OpcMonitoredItem(_opc.cl.GetNode(PermitTag), OpcAttribute.Value);
         permitDos.DataChangeReceived += HandlePermitDosChanged;
         OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(permitDos);
     }
 }
Пример #14
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var leftManualItem = new OpcMonitoredItem(_opc.cl.GetNode(LeftManualPcy), OpcAttribute.Value);

            leftManualItem.DataChangeReceived += HandleLeftManualChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(leftManualItem);
            var rightManualItem = new OpcMonitoredItem(_opc.cl.GetNode(RightManualPcy), OpcAttribute.Value);

            rightManualItem.DataChangeReceived += HandleRightManualChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(rightManualItem);
        }
Пример #15
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var visWindowItem = new OpcMonitoredItem(_opc.cl.GetNode(VisWindowTag), OpcAttribute.Value);

            visWindowItem.DataChangeReceived += HandleVisWindowChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(visWindowItem);

            var eventsNumValueItem = new OpcMonitoredItem(_opc.cl.GetNode(EventsNumTag), OpcAttribute.Value);

            eventsNumValueItem.DataChangeReceived += HandleEventsNumValueChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(eventsNumValueItem);
        }
Пример #16
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var idItem = new OpcMonitoredItem(_opc.cl.GetNode("TaskID"), OpcAttribute.Value);

            idItem.DataChangeReceived += HandleIdChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(idItem);
            //var batchNumItem = new OpcMonitoredItem(_opc.cl.GetNode("Current_batchNum"), OpcAttribute.Value);
            //batchNumItem.DataChangeReceived += HandleBatchNumChanged;
            //OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(batchNumItem);
            //var componentWights = new OpcMonitoredItem(_opc.cl.GetNode("ComponentsWeight"), OpcAttribute.Value);
            //componentWights.DataChangeReceived += HandleComponentsWeightChanged;
            //OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(componentWights);
        }
Пример #17
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var idItem = new OpcMonitoredItem(_opc.cl.GetNode("TaskID"), OpcAttribute.Value);

            idItem.DataChangeReceived += HandleIdChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(idItem);

            var currentBatchNumItem = new OpcMonitoredItem(_opc.cl.GetNode("Current_batchNum"), OpcAttribute.Value);

            currentBatchNumItem.DataChangeReceived += HandleCurrentBatchNumChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(currentBatchNumItem);

            var batchesQuantityItem = new OpcMonitoredItem(_opc.cl.GetNode("PAR_BatchesQuantity"), OpcAttribute.Value);

            batchesQuantityItem.DataChangeReceived += HandleBatchesQuantityChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(batchesQuantityItem);

            var dosingProcessItem = new OpcMonitoredItem(_opc.cl.GetNode("CommonProgress"), OpcAttribute.Value);

            dosingProcessItem.DataChangeReceived += HandleDosingProcessChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(dosingProcessItem);

            var componentWights = new OpcMonitoredItem(_opc.cl.GetNode("ComponentsWeight"), OpcAttribute.Value);

            componentWights.DataChangeReceived += HandleComponentsWeightChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(componentWights);

            var cementDone = new OpcMonitoredItem(_opc.cl.GetNode("DozingCement_Done"), OpcAttribute.Value);

            cementDone.DataChangeReceived += HandleItemDoneChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(cementDone);
            var waterDone = new OpcMonitoredItem(_opc.cl.GetNode("DozingWater_Done"), OpcAttribute.Value);

            waterDone.DataChangeReceived += HandleItemDoneChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(waterDone);
            var inertDone = new OpcMonitoredItem(_opc.cl.GetNode("DozingInert_Done"), OpcAttribute.Value);

            inertDone.DataChangeReceived += HandleItemDoneChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(inertDone);
            var additiveDone = new OpcMonitoredItem(_opc.cl.GetNode("DozingAdditive_Done"), OpcAttribute.Value);

            additiveDone.DataChangeReceived += HandleItemDoneChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(additiveDone);

            var mixerIdItem = new OpcMonitoredItem(_opc.cl.GetNode("Mixer.TaskID_mixer"), OpcAttribute.Value);

            mixerIdItem.DataChangeReceived += HandleMixerIdChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(mixerIdItem);
        }
Пример #18
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var visItem = new OpcMonitoredItem(_opc.cl.GetNode(OnPcy), OpcAttribute.Value);

            visItem.DataChangeReceived += HandleVisChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(visItem);
            if (OnSecondPcy != null)
            {
                var visSecondItem = new OpcMonitoredItem(_opc.cl.GetNode(OnSecondPcy), OpcAttribute.Value);
                visSecondItem.DataChangeReceived += HandleVisSecondChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(visSecondItem);
            }
        }
Пример #19
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var modeItem = new OpcMonitoredItem(_opc.cl.GetNode("UseWeight_" + _tagName), OpcAttribute.Value);

            modeItem.DataChangeReceived += HandleModeChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(modeItem);

            var emptyItem = new OpcMonitoredItem(_opc.cl.GetNode("Scale_isEmpty_" + _tagName), OpcAttribute.Value);

            emptyItem.DataChangeReceived += HandleEmptyChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(emptyItem);

            OpcServer.GetInstance().GetSubscription(_opcName).ApplyChanges();
        }
Пример #20
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var valueItem = new OpcMonitoredItem(_opc.cl.GetNode(ValuePcay), OpcAttribute.Value);

            valueItem.DataChangeReceived += HandleValueChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(valueItem);

            if (CheckLevelNum != 0)
            {
                var checkLevelItem = new OpcMonitoredItem(_opc.cl.GetNode("DO_CheckLevel_Cement" + CheckLevelNum), OpcAttribute.Value);
                checkLevelItem.DataChangeReceived += HandleCheckLevelChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(checkLevelItem);
            }
        }
Пример #21
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var idItem = new OpcMonitoredItem(_opc.cl.GetNode("Mixer.TaskID_mixer"), OpcAttribute.Value);

            idItem.DataChangeReceived += HandleIdChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(idItem);

            var currentBatchNumItem = new OpcMonitoredItem(_opc.cl.GetNode("Mixer.CurrentMixing_batchNum"), OpcAttribute.Value);

            currentBatchNumItem.DataChangeReceived += HandleCurrentBatchNumChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(currentBatchNumItem);

            var batchesQuantityItem = new OpcMonitoredItem(_opc.cl.GetNode("Mixer.PAR_BatchesQuantity"), OpcAttribute.Value);

            batchesQuantityItem.DataChangeReceived += HandleBatchesQuantityChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(batchesQuantityItem);

            var mixingProcessItem = new OpcMonitoredItem(_opc.cl.GetNode("Mixer.Current_MixingTime"), OpcAttribute.Value);

            mixingProcessItem.DataChangeReceived += HandleMixingProcessChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(mixingProcessItem);

            var parMixingProcessItem = new OpcMonitoredItem(_opc.cl.GetNode("Mixer.PAR_MixingTime"), OpcAttribute.Value);

            parMixingProcessItem.DataChangeReceived += HandleParMixingProcessChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(parMixingProcessItem);

            var currentPartialUnloadItem = new OpcMonitoredItem(_opc.cl.GetNode("Mixer.Current_PartUnloadTime"), OpcAttribute.Value);

            currentPartialUnloadItem.DataChangeReceived += HandlePartialUnloadProcessChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(currentPartialUnloadItem);

            var currentFullUnloadItem = new OpcMonitoredItem(_opc.cl.GetNode("Mixer.Current_UnloadTime"), OpcAttribute.Value);

            currentFullUnloadItem.DataChangeReceived += HandleFullUnloadProcessChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(currentFullUnloadItem);

            var parPartialUnloadItem = new OpcMonitoredItem(_opc.cl.GetNode("Mixer.PAR_TimePartialUnload"), OpcAttribute.Value);

            parPartialUnloadItem.DataChangeReceived += HandleParPartialUnloadChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(parPartialUnloadItem);

            var parFullUnloadItem = new OpcMonitoredItem(_opc.cl.GetNode("Mixer.PAR_TimeFullUnload"), OpcAttribute.Value);

            parFullUnloadItem.DataChangeReceived += HandleParFullUnloadChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(parFullUnloadItem);
        }
Пример #22
0
        public void Subscribe()
        {
            var monitoredItem = new OpcMonitoredItem(CurrentTaskIdParameter.Tag.ToNode(), OpcAttribute.Value);

            monitoredItem.DataChangeReceived += HandleTaskIdChanged;
            var subscription = NewOpcServer.GetInstance().GetSubscription(_opcName);

            if (subscription != null)
            {
                subscription.AddMonitoredItem(monitoredItem);
                subscription.ApplyChanges();
            }
            else
            {
                Logger.Error("Подписка на изменение значения CurrentTaskId не создана.");
            }
        }
Пример #23
0
        private void CreateSubscription()
        {
            IndexMethod();
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var alarmItem = new OpcMonitoredItem(_opc.cl.GetNode(AlarmPcy), OpcAttribute.Value);

            alarmItem.DataChangeReceived += HandleAlarmStatusChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(alarmItem);
            var kmItem = new OpcMonitoredItem(_opc.cl.GetNode(KmPcy), OpcAttribute.Value);

            kmItem.DataChangeReceived += HandleKmStatusChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(kmItem);
            var modeAutomat = new OpcMonitoredItem(_opc.cl.GetNode(ModePcy), OpcAttribute.Value);

            modeAutomat.DataChangeReceived += HandleAutomatChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(modeAutomat);
            var modeManual = new OpcMonitoredItem(_opc.cl.GetNode(ManualPcy), OpcAttribute.Value);

            modeManual.DataChangeReceived += HandleManualChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(modeManual);
        }
Пример #24
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);

            var checkTimeItem = new OpcMonitoredItem(_opc.cl.GetNode("CheckLevel_Control_Cement" + _checkLevelNum), OpcAttribute.Value);

            checkTimeItem.DataChangeReceived += HandleCheckTimeChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(checkTimeItem);

            var pauseTimeItem = new OpcMonitoredItem(_opc.cl.GetNode("CheckLevel_Pause_Cement" + _checkLevelNum), OpcAttribute.Value);

            pauseTimeItem.DataChangeReceived += HandlePauseTimeChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(pauseTimeItem);

            var delayTimeItem = new OpcMonitoredItem(_opc.cl.GetNode("CheckLevel_Delay_Cement" + _checkLevelNum), OpcAttribute.Value);

            delayTimeItem.DataChangeReceived += HandleDelayTimeChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(delayTimeItem);

            OpcServer.GetInstance().GetSubscription(_opcName).ApplyChanges();
        }
Пример #25
0
        private void CreateSubscription()
        {
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var visItem = new OpcMonitoredItem(_opc.cl.GetNode("gi_lifeWord"), OpcAttribute.Value);

            visItem.DataChangeReceived += HandleVisChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(visItem);

            var currentItem = new OpcMonitoredItem(_opc.cl.GetNode("gr_Current"), OpcAttribute.Value);

            currentItem.DataChangeReceived += HandleCurrentChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(currentItem);
            var minCurrentItem = new OpcMonitoredItem(_opc.cl.GetNode("Current_Min"), OpcAttribute.Value);

            minCurrentItem.DataChangeReceived += HandleMinCurrentChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(minCurrentItem);
            var maxCurrentItem = new OpcMonitoredItem(_opc.cl.GetNode("Current_Max"), OpcAttribute.Value);

            maxCurrentItem.DataChangeReceived += HandleMaxCurrentChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(maxCurrentItem);
            var normalMinCurrentItem = new OpcMonitoredItem(_opc.cl.GetNode("Current_NormalMin"), OpcAttribute.Value);

            normalMinCurrentItem.DataChangeReceived += HandleNormalMinCurrentChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(normalMinCurrentItem);
            var normalMaxCurrentItem = new OpcMonitoredItem(_opc.cl.GetNode("Current_NormalMax"), OpcAttribute.Value);

            normalMaxCurrentItem.DataChangeReceived += HandleNormalMaxCurrentChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(normalMaxCurrentItem);
            var blockUnloadItem = new OpcMonitoredItem(_opc.cl.GetNode("gb_BlockUnload"), OpcAttribute.Value);

            blockUnloadItem.DataChangeReceived += HandleBlockUnloadChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(blockUnloadItem);
            var waterCorrectItem = new OpcMonitoredItem(_opc.cl.GetNode("gr_WaterCorrect"), OpcAttribute.Value);

            waterCorrectItem.DataChangeReceived += HandleWaterCorrectChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(waterCorrectItem);
        }
Пример #26
0
        private void CreateSubscription()
        {
            IndexMethod();
            _opc = OpcServer.GetInstance().GetOpc(_opcName);
            var alarmItem = new OpcMonitoredItem(_opc.cl.GetNode(AlarmPcy), OpcAttribute.Value);

            alarmItem.DataChangeReceived += HandleAlarmStatusChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(alarmItem);
            var closeItem = new OpcMonitoredItem(_opc.cl.GetNode(ClosePcy), OpcAttribute.Value);

            closeItem.DataChangeReceived += HandleCloseStatusChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(closeItem);
            var openItem = new OpcMonitoredItem(_opc.cl.GetNode(OpenPcy), OpcAttribute.Value);

            openItem.DataChangeReceived += HandleOpenStatusChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(openItem);
            var modeAutomat = new OpcMonitoredItem(_opc.cl.GetNode(ModePcy), OpcAttribute.Value);

            modeAutomat.DataChangeReceived += HandleAutomatChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(modeAutomat);
            var modeManual = new OpcMonitoredItem(_opc.cl.GetNode(ManualPcy), OpcAttribute.Value);

            modeManual.DataChangeReceived += HandleManualChanged;
            OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(modeManual);
            if (IsDosing)
            {
                var modeManualDosingItem = new OpcMonitoredItem(_opc.cl.GetNode(ManualDosingPcy), OpcAttribute.Value);
                modeManualDosingItem.DataChangeReceived += HandleManualDosingChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(modeManualDosingItem);
            }
            if (IsUnload)
            {
                var percentOpenItem = new OpcMonitoredItem(_opc.cl.GetNode("gr_Valve_PercentOpen"), OpcAttribute.Value);
                percentOpenItem.DataChangeReceived += HandlePercentChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(percentOpenItem);
            }
        }
Пример #27
0
        private static void HandleDataChanged(object sender, OpcDataChangeReceivedEventArgs e)
        {
            OpcMonitoredItem item = (OpcMonitoredItem)sender;

            Console.WriteLine("DataChange: {0} = {1}", item.NodeId, e.Item.Value);
        }
Пример #28
0
        public OpcSubscription Subscribe(Common.DataSubscription subscriptionDef)
        {
            string[] nodes = subscriptionDef.monitored_items.Split("$");
            string[] nodeparts;
            int      ns;
            string   path;
            List <OpcSubscribeNode> nodesList = new List <OpcSubscribeNode>();

            OpcDataChangeFilter filter;

            if (subscriptionDef.report_on_timestamp_change)
            {
                filter = new OpcDataChangeFilter(OpcDataChangeTrigger.StatusValueTimestamp);
            }
            else
            {
                filter = new OpcDataChangeFilter(OpcDataChangeTrigger.StatusValue);
            }

            switch (subscriptionDef.deadband_type.ToLower())
            {
            case "percent": filter.DeadbandType = OpcDeadbandType.Percent; break;

            case "absolute": filter.DeadbandType = OpcDeadbandType.Absolute; break;

            default: filter.DeadbandType = OpcDeadbandType.None; break;
            }
            filter.DeadbandValue = subscriptionDef.deadband;

            // create an empty subscription
            OpcSubscription sub = _client.SubscribeNodes();

            // create a monitoredItem for each tag to be monitored and add it to the subscription
            OpcMonitoredItem thisItem;

            foreach (string node in nodes)
            {
                nodeparts = node.Split(":");
                ns        = int.Parse(nodeparts[0]);
                path      = nodeparts[1];
                thisItem  = new OpcMonitoredItem(new OpcNodeId(path, ns), OpcAttribute.Value);
                thisItem.DataChangeReceived += DataChangeReceived;
                thisItem.Tag    = Guid.Parse(nodeparts[2]);
                thisItem.Filter = filter;
                sub.AddMonitoredItem(thisItem);
            }

            //set the interval (milliseconds, 0 = whenever the value changes)
            sub.PublishingInterval  = subscriptionDef.interval;
            sub.PublishingIsEnabled = true;

            // make the server aware of the changes to the subscription
            sub.ApplyChanges();

            // set the Tag property of the subscription to the DataSubscription object that came from the database for later reference
            sub.Tag = subscriptionDef;

            // set the subscription-enabled status
            if (subscriptionDef.enabled)
            {
                sub.ChangeMonitoringMode(OpcMonitoringMode.Reporting);
            }
            else
            {
                sub.ChangeMonitoringMode(OpcMonitoringMode.Disabled);
            }

            sub.StartPublishing();

            return(sub);
        }
Пример #29
0
        protected void DataChangeReceived(object sender, OpcDataChangeReceivedEventArgs e)
        {
            OpcMonitoredItem item = e.MonitoredItem;

            DataChange?.Invoke(item);
        }