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); } }
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(); }
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(); }
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); }
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); }
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); } }
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(); } } } }
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(); }
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); }
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); }
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); }
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); }
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); } }
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); }
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); }
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); }
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); }
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); } }
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(); }
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); } }
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); }
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 не создана."); } }
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); }
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(); }
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); }
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); } }
private static void HandleDataChanged(object sender, OpcDataChangeReceivedEventArgs e) { OpcMonitoredItem item = (OpcMonitoredItem)sender; Console.WriteLine("DataChange: {0} = {1}", item.NodeId, e.Item.Value); }
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); }
protected void DataChangeReceived(object sender, OpcDataChangeReceivedEventArgs e) { OpcMonitoredItem item = e.MonitoredItem; DataChange?.Invoke(item); }