示例#1
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);
        }
示例#2
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);
        }
示例#3
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);
        }
示例#4
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);
        }
示例#5
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);
     }
 }
示例#6
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);
        }
示例#7
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);
        }
示例#8
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);
            }
        }
示例#9
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);
        }
示例#10
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);
        }
示例#11
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();
        }
示例#12
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);
            }
        }
示例#13
0
        public void Subscribe()
        {
            ViewModelScreenRbu.IsUpdating = true;

            foreach (var item in _elementList)
            {
                item.Subscribe();
            }

            ViewModelScreenRbu.Subscribe();

            OpcServer.GetInstance().GetSubscription(_opcName).ApplyChanges();

            LinkTimer.Start();
        }
示例#14
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);
        }
示例#15
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();
        }
示例#16
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);
        }
示例#17
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(OnPcy), 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 (IsDosing)
            {
                var modeManualDosingItem = new OpcMonitoredItem(_opc.cl.GetNode(ManualDosingPcy), OpcAttribute.Value);
                modeManualDosingItem.DataChangeReceived += HandleManualDosingChanged;
                OpcServer.GetInstance().GetSubscription(_opcName).AddMonitoredItem(modeManualDosingItem);
            }
            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);
            }
        }
示例#18
0
        public void Initialize(OpcServer.OpcList opcName)
        {
            _opcName = opcName;

            DataContext = this;

            #region Settings

            for (int i = 0; i <= 11; i++)
            {
                _settings.Add(new ElOpt());
            }

            _settings[0].Initialize(_opcName, Static.СontainerNameDictionary[Static.ContainerItem.Silo1] + " (" + Static.СontainerMaterialDictionary[Static.ContainerItem.Silo1] + "). Предельная скорость дозирования, кг/с", 0, 100.0, "Cement.Load_Silo1", WindowSetParameter.ValueType.Real, 1, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[1].Initialize(_opcName, Static.СontainerNameDictionary[Static.ContainerItem.Silo2] + " (" + Static.СontainerMaterialDictionary[Static.ContainerItem.Silo2] + "). Предельная скорость дозирования, кг/с", 0, 100.0, "Cement.Load_Silo2", WindowSetParameter.ValueType.Real, 1, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[2].Initialize(_opcName, "Цемент. Предельная скорость сброса, кг/с", 0, 100.0, "Cement.Unload", WindowSetParameter.ValueType.Real, 1, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[3].Initialize(_opcName, Static.СontainerNameDictionary[Static.ContainerItem.Water] + " (" + Static.СontainerMaterialDictionary[Static.ContainerItem.Water] + "). Предельная скорость дозирования, кг/с", 0, 100.0, "Water.Load", WindowSetParameter.ValueType.Real, 1, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[4].Initialize(_opcName, "Вода. Предельная скорость сброса, кг/с", 0, 100.0, "Water.Unload", WindowSetParameter.ValueType.Real, 1, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[5].Initialize(_opcName, Static.СontainerNameDictionary[Static.ContainerItem.Additive1] + " (" + Static.СontainerMaterialDictionary[Static.ContainerItem.Additive1] + "). добавка №1. Предельная скорость дозирования, кг/с", 0, 100.0, "Additive.Load_Tank1", WindowSetParameter.ValueType.Real, 2, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[6].Initialize(_opcName, Static.СontainerNameDictionary[Static.ContainerItem.Additive2] + " (" + Static.СontainerMaterialDictionary[Static.ContainerItem.Additive2] + "). добавка №2. Предельная скорость дозирования, кг/с", 0, 100.0, "Additive.Load_Tank2", WindowSetParameter.ValueType.Real, 1, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[7].Initialize(_opcName, "Химическая добавка. Предельная скорость сброса, кг/с", 0, 100.0, "Additive.Unload", WindowSetParameter.ValueType.Real, 2, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[8].Initialize(_opcName, Static.СontainerNameDictionary[Static.ContainerItem.Bunker1] + " (" + Static.СontainerMaterialDictionary[Static.ContainerItem.Bunker1] + "). Предельная скорость дозирования, кг/с", 0, 100.0, "Inert.Load_Bunker1", WindowSetParameter.ValueType.Real, 1, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[9].Initialize(_opcName, Static.СontainerNameDictionary[Static.ContainerItem.Bunker2] + " (" + Static.СontainerMaterialDictionary[Static.ContainerItem.Bunker2] + "). Предельная скорость дозирования, кг/с", 0, 100.0, "Inert.Load_Bunker2", WindowSetParameter.ValueType.Real, 1, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[10].Initialize(_opcName, Static.СontainerNameDictionary[Static.ContainerItem.Bunker3] + " (" + Static.СontainerMaterialDictionary[Static.ContainerItem.Bunker3] + "). Предельная скорость дозирования, кг/с", 0, 100.0, "Inert.Load_Bunker3", WindowSetParameter.ValueType.Real, 1, 0.5, 5.0, 10.0, 50.0, 1.0);
            _settings[11].Initialize(_opcName, "Инертные материалы. Предельная скорость сброса, кг/с", 0, 100.0, "Inert.Unload", WindowSetParameter.ValueType.Real, 1, 0.5, 5.0, 10.0, 50.0, 1.0);


            foreach (var item in _settings)
            {
                Settings.Children.Add(item);

                item.Subscribe();
            }

            OpcServer.GetInstance().GetSubscription(_opcName).ApplyChanges();
            #endregion
        }
示例#19
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);
        }
示例#20
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);
            }
        }
示例#21
0
        public void Initialize(OpcServer.OpcList opcName)
        {
            _opcName = opcName;

            DataContext = this;

            #region Settings

            for (int i = 0; i <= 8; i++)
            {
                _settings.Add(new ElOpt());
            }

            _settings[0].Initialize(_opcName, "Объем бетоносмесителя, м³", 0, 20.0, "Mixer_Volume", WindowSetParameter.ValueType.Real, 1, 0.5, 1.0, 5.0, 10.0, 1.0);
            _settings[1].Initialize(_opcName, "Время движения инертных материалов по конвейеру, с", 0, 100, "UnloadInert_TimeAfterEmptyWeights", WindowSetParameter.ValueType.Int16, 0, 5, 10, 20, 50, 5);
            _settings[2].Initialize(_opcName, "Задержка выгрузки воды и хим. добавок, с", 0, 100, "UnloadWater_Delay", WindowSetParameter.ValueType.Int16, 0, 5, 10, 20, 50, 5);
            _settings[3].Initialize(_opcName, "Задержка выгрузки цемента, с", 0, 100, "UnloadCement_Delay", WindowSetParameter.ValueType.Int16, 0, 5, 10, 20, 50, 5);
            _settings[4].Initialize(_opcName, "Время полного открытия выгрузной задвижки, с", 0, 5.0, "FullOpenTime_V_1", WindowSetParameter.ValueType.Real, 1, 2, 2.5, 3, 3.5, 0.1);
            _settings[5].Initialize(_opcName, "Минимальное значение индикатора тока, А", 0, 500.0, "Current_Min", WindowSetParameter.ValueType.Real, 1, 20, 50, 100, 200, 5);
            _settings[6].Initialize(_opcName, "Максимальное значение индикатора тока, А", 0, 500.0, "Current_Max", WindowSetParameter.ValueType.Real, 1, 20, 50, 100, 200, 5);
            _settings[7].Initialize(_opcName, "Минимальное допустимое значение тока, А", 0, 500.0, "Current_NormalMin", WindowSetParameter.ValueType.Real, 1, 20, 50, 100, 200, 5);
            _settings[8].Initialize(_opcName, "Максимальное допустимое значение тока, А", 0, 500.0, "Current_NormalMax", WindowSetParameter.ValueType.Real, 1, 20, 50, 100, 200, 5);


            foreach (var item in _settings)
            {
                Settings.Children.Add(item);

                item.Subscribe();
            }

            //Subscribe();

            OpcServer.GetInstance().GetSubscription(_opcName).ApplyChanges();
            #endregion
        }
示例#22
0
        private void CreateAutoEvent()
        {
            #region AutoEvent

            var autoEvent = new AutoEvent[150];
            autoEvent[0]   = new AutoEvent(_opcName, "M_15.gb_AL_Feedback", SystemEventType.Alarm, "Насос M-15 - авария ОС", true);
            autoEvent[1]   = new AutoEvent(_opcName, "M_15.gb_AL_External", SystemEventType.Alarm, "Насос M-15 - внешняя авария", true);
            autoEvent[2]   = new AutoEvent(_opcName, "M_15.gb_AL_DKS", SystemEventType.Alarm, "Насос M-15 - авария ДКС", true);
            autoEvent[3]   = new AutoEvent(_opcName, "M_16.gb_AL_Feedback", SystemEventType.Alarm, "Насос M-16 - авария ОС", true);
            autoEvent[4]   = new AutoEvent(_opcName, "M_16.gb_AL_External", SystemEventType.Alarm, "Насос M-16 - внешняя авария", true);
            autoEvent[5]   = new AutoEvent(_opcName, "M_16.gb_AL_DKS", SystemEventType.Alarm, "Насос M-16 - авария ДКС", true);
            autoEvent[6]   = new AutoEvent(_opcName, "M_17.gb_AL_Feedback", SystemEventType.Alarm, "Насос M-17 - авария ОС", true);
            autoEvent[7]   = new AutoEvent(_opcName, "M_17.gb_AL_External", SystemEventType.Alarm, "Насос M-17 - внешняя авария", true);
            autoEvent[8]   = new AutoEvent(_opcName, "M_17.gb_AL_DKS", SystemEventType.Alarm, "Насос M-17 - авария ДКС", true);
            autoEvent[9]   = new AutoEvent(_opcName, "M_18.gb_AL_Feedback", SystemEventType.Alarm, "Бетоносмеситель M-18 - авария ОС", true);
            autoEvent[10]  = new AutoEvent(_opcName, "M_18.gb_AL_External", SystemEventType.Alarm, "Бетоносмеситель M-18 - внешняя авария", true);
            autoEvent[11]  = new AutoEvent(_opcName, "M_18.gb_AL_Oil", SystemEventType.Alarm, "Бетоносмеситель M-18 - авария системы смазки", true);
            autoEvent[12]  = new AutoEvent(_opcName, "M_9.gb_AL_Feedback", SystemEventType.Alarm, "Конвейер M-9 - авария ОС", true);
            autoEvent[13]  = new AutoEvent(_opcName, "M_9.gb_AL_External", SystemEventType.Alarm, "Конвейер M-9 - внешняя авария", true);
            autoEvent[14]  = new AutoEvent(_opcName, "M_9.gb_AL_DKS", SystemEventType.Alarm, "Конвейер M-9 - авария ДКС", true);
            autoEvent[15]  = new AutoEvent(_opcName, "M_1.gb_AL_Feedback", SystemEventType.Alarm, "Конвейер M-1 - авария ОС", true);
            autoEvent[16]  = new AutoEvent(_opcName, "M_1.gb_AL_External", SystemEventType.Alarm, "Конвейер M-1 - внешняя авария", true);
            autoEvent[17]  = new AutoEvent(_opcName, "M_1.gb_AL_DKS", SystemEventType.Alarm, "Конвейер M-1 - авария ДКС", true);
            autoEvent[18]  = new AutoEvent(_opcName, "M_11.gb_AL_Feedback", SystemEventType.Alarm, "Шнек M-11 - авария ОС", true);
            autoEvent[19]  = new AutoEvent(_opcName, "M_11.gb_AL_External", SystemEventType.Alarm, "Шнек M-11 - внешняя авария", true);
            autoEvent[20]  = new AutoEvent(_opcName, "M_11.gb_AL_DKS", SystemEventType.Alarm, "Шнек M-11 - авария ДКС", true);
            autoEvent[21]  = new AutoEvent(_opcName, "М_12.gb_AL_Feedback", SystemEventType.Alarm, "Шнек M-12 - авария ОС", true);
            autoEvent[22]  = new AutoEvent(_opcName, "М_12.gb_AL_External", SystemEventType.Alarm, "Шнек M-12 - внешняя авария", true);
            autoEvent[23]  = new AutoEvent(_opcName, "М_12.gb_AL_DKS", SystemEventType.Alarm, "Шнек M-12 - авария ДКС", true);
            autoEvent[24]  = new AutoEvent(_opcName, "M_13.gb_AL_Feedback", SystemEventType.Alarm, "Вибратор M-13 - авария ОС", true);
            autoEvent[25]  = new AutoEvent(_opcName, "M_13.gb_AL_External", SystemEventType.Alarm, "Вибратор M-13 - внешняя авария", true);
            autoEvent[26]  = new AutoEvent(_opcName, "M_13.gb_AL_DKS", SystemEventType.Alarm, "Вибратор M-13 - авария ДКС", true);
            autoEvent[27]  = new AutoEvent(_opcName, "M_14.gb_AL_Feedback", SystemEventType.Alarm, "Вибратор M-14 - авария ОС", true);
            autoEvent[28]  = new AutoEvent(_opcName, "M_14.gb_AL_External", SystemEventType.Alarm, "Вибратор M-14 - внешняя авария", true);
            autoEvent[29]  = new AutoEvent(_opcName, "M_14.gb_AL_DKS", SystemEventType.Alarm, "Вибратор M-14 - авария ДКС", true);
            autoEvent[30]  = new AutoEvent(_opcName, "M_10.gb_AL_Feedback", SystemEventType.Alarm, "Вибратор M-10 - авария ОС", true);
            autoEvent[31]  = new AutoEvent(_opcName, "M_10.gb_AL_External", SystemEventType.Alarm, "Вибратор M-10 - внешняя авария", true);
            autoEvent[32]  = new AutoEvent(_opcName, "M_10.gb_AL_DKS", SystemEventType.Alarm, "Вибратор M-10 - авария ДКС", true);
            autoEvent[33]  = new AutoEvent(_opcName, "M_2.gb_AL_Feedback", SystemEventType.Alarm, "Вибратор M-2 - авария ОС", true);
            autoEvent[34]  = new AutoEvent(_opcName, "M_2.gb_AL_External", SystemEventType.Alarm, "Вибратор M-2 - внешняя авария", true);
            autoEvent[35]  = new AutoEvent(_opcName, "M_2.gb_AL_DKS", SystemEventType.Alarm, "Вибратор M-2 - авария ДКС", true);
            autoEvent[36]  = new AutoEvent(_opcName, "M_3.gb_AL_Feedback", SystemEventType.Alarm, "Вибратор M-3 - авария ОС", true);
            autoEvent[37]  = new AutoEvent(_opcName, "M_3.gb_AL_External", SystemEventType.Alarm, "Вибратор M-3 - внешняя авария", true);
            autoEvent[38]  = new AutoEvent(_opcName, "M_3.gb_AL_DKS", SystemEventType.Alarm, "Вибратор M-3 - авария ДКС", true);
            autoEvent[39]  = new AutoEvent(_opcName, "M_4.gb_AL_Feedback", SystemEventType.Alarm, "Вибратор M-4 - авария ОС", true);
            autoEvent[40]  = new AutoEvent(_opcName, "M_4.gb_AL_External", SystemEventType.Alarm, "Вибратор M-4 - внешняя авария", true);
            autoEvent[41]  = new AutoEvent(_opcName, "M_4.gb_AL_DKS", SystemEventType.Alarm, "Вибратор M-4 - авария ДКС", true);
            autoEvent[42]  = new AutoEvent(_opcName, "M_5.gb_AL_Feedback", SystemEventType.Alarm, "Вибратор M-5 - авария ОС", true);
            autoEvent[43]  = new AutoEvent(_opcName, "M_5.gb_AL_External", SystemEventType.Alarm, "Вибратор M-5 - внешняя авария", true);
            autoEvent[44]  = new AutoEvent(_opcName, "M_5.gb_AL_DKS", SystemEventType.Alarm, "Вибратор M-5 - авария ДКС", true);
            autoEvent[45]  = new AutoEvent(_opcName, "M_6.gb_AL_Feedback", SystemEventType.Alarm, "Вибратор M-6 - авария ОС", true);
            autoEvent[46]  = new AutoEvent(_opcName, "M_6.gb_AL_External", SystemEventType.Alarm, "Вибратор M-6 - внешняя авария", true);
            autoEvent[47]  = new AutoEvent(_opcName, "M_6.gb_AL_DKS", SystemEventType.Alarm, "Вибратор M-6 - авария ДКС", true);
            autoEvent[48]  = new AutoEvent(_opcName, "M_7.gb_AL_Feedback", SystemEventType.Alarm, "Вибратор M-7 - авария ОС", true);
            autoEvent[49]  = new AutoEvent(_opcName, "M_7.gb_AL_External", SystemEventType.Alarm, "Вибратор M-7 - внешняя авария", true);
            autoEvent[50]  = new AutoEvent(_opcName, "M_7.gb_AL_DKS", SystemEventType.Alarm, "Вибратор M-7 - авария ДКС", true);
            autoEvent[51]  = new AutoEvent(_opcName, "V_1.gb_AL_Feedback_Open", SystemEventType.Alarm, "Задвижка V-1 - авария ОС-Open", true);
            autoEvent[52]  = new AutoEvent(_opcName, "V_1.gb_AL_Feedback_Close", SystemEventType.Alarm, "Задвижка V-1 - авария ОС-Close", true);
            autoEvent[53]  = new AutoEvent(_opcName, "V_1.gb_AL_BothSensor", SystemEventType.Alarm, "Задвижка V-1 - авария датчиков", true);
            autoEvent[54]  = new AutoEvent(_opcName, "V_1.gb_AL_External", SystemEventType.Alarm, "Задвижка V-1 - внешняя авария", true);
            autoEvent[55]  = new AutoEvent(_opcName, "V_2.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-2 - авария открытия", true);
            autoEvent[56]  = new AutoEvent(_opcName, "V_2.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-2 - авария закрытия", true);
            autoEvent[57]  = new AutoEvent(_opcName, "V_3.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-3 - авария открытия", true);
            autoEvent[58]  = new AutoEvent(_opcName, "V_3.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-3 - авария закрытия", true);
            autoEvent[59]  = new AutoEvent(_opcName, "V_4.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-4 - авария открытия", true);
            autoEvent[60]  = new AutoEvent(_opcName, "V_4.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-4 - авария закрытия", true);
            autoEvent[61]  = new AutoEvent(_opcName, "V_5.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-5 - авария открытия", true);
            autoEvent[62]  = new AutoEvent(_opcName, "V_5.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-5 - авария закрытия", true);
            autoEvent[63]  = new AutoEvent(_opcName, "V_6.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-6 - авария открытия", true);
            autoEvent[64]  = new AutoEvent(_opcName, "V_6.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-6 - авария закрытия", true);
            autoEvent[65]  = new AutoEvent(_opcName, "V_7.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-7 - авария открытия", true);
            autoEvent[66]  = new AutoEvent(_opcName, "V_7.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-7 - авария закрытия", true);
            autoEvent[67]  = new AutoEvent(_opcName, "V_9_1.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-9-1 - авария открытия", true);
            autoEvent[68]  = new AutoEvent(_opcName, "V_9_1.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-9-1 - авария закрытия", true);
            autoEvent[69]  = new AutoEvent(_opcName, "V_9_2.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-9-2 - авария открытия", true);
            autoEvent[70]  = new AutoEvent(_opcName, "V_9_2.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-9-2 - авария закрытия", true);
            autoEvent[71]  = new AutoEvent(_opcName, "V_10_1.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-10-1 - авария открытия", true);
            autoEvent[72]  = new AutoEvent(_opcName, "V_10_1.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-10-1 - авария закрытия", true);
            autoEvent[73]  = new AutoEvent(_opcName, "V_10_2.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-10-2 - авария открытия", true);
            autoEvent[74]  = new AutoEvent(_opcName, "V_10_2.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-10-2 - авария закрытия", true);
            autoEvent[75]  = new AutoEvent(_opcName, "V_11_1.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-11-1 - авария открытия", true);
            autoEvent[76]  = new AutoEvent(_opcName, "V_11_1.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-11-1 - авария закрытия", true);
            autoEvent[77]  = new AutoEvent(_opcName, "V_11_2.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-11-2 - авария открытия", true);
            autoEvent[78]  = new AutoEvent(_opcName, "V_11_2.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-11-2 - авария закрытия", true);
            autoEvent[79]  = new AutoEvent(_opcName, "V_12_1.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-12-1 - авария открытия", true);
            autoEvent[80]  = new AutoEvent(_opcName, "V_12_1.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-12-1 - авария закрытия", true);
            autoEvent[81]  = new AutoEvent(_opcName, "V_12_2.gb_AL_Open", SystemEventType.Alarm, "Задвижка V-12-2 - авария открытия", true);
            autoEvent[82]  = new AutoEvent(_opcName, "V_12_2.gb_AL_Close", SystemEventType.Alarm, "Задвижка V-12-2 - авария закрытия", true);
            autoEvent[83]  = new AutoEvent(_opcName, "M_19.gb_AL_Feedback", SystemEventType.Alarm, "Насос M-19 - Вода - авария ОС", true);
            autoEvent[84]  = new AutoEvent(_opcName, "M_19.gb_AL_External", SystemEventType.Alarm, "Насос M-19 - Вода - внешняя авария", true);
            autoEvent[85]  = new AutoEvent(_opcName, "M_19.gb_AL_DKS", SystemEventType.Alarm, "Насос M-19 - Вода - авария ДКС", true);
            autoEvent[86]  = new AutoEvent(_opcName, "Air_Cement1.gb_AL_Open", SystemEventType.Alarm, "Аэратор силоса цемента 1 - авария открытия", true);
            autoEvent[87]  = new AutoEvent(_opcName, "Air_Cement1.gb_AL_Close", SystemEventType.Alarm, "Аэратор силоса цемента 1 - авария закрытия", true);
            autoEvent[88]  = new AutoEvent(_opcName, "Air_Cement2.gb_AL_Open", SystemEventType.Alarm, "Аэратор силоса цемента 2 - авария открытия", true);
            autoEvent[89]  = new AutoEvent(_opcName, "Air_Cement2.gb_AL_Close", SystemEventType.Alarm, "Аэратор силоса цемента 2 - авария закрытия", true);
            autoEvent[90]  = new AutoEvent(_opcName, "gb_AL_Hydro_Feedback", SystemEventType.Alarm, "Насос гидростанции -не сработал пускатель", true);
            autoEvent[91]  = new AutoEvent(_opcName, "DI_NotStop_BTN_PLC", SystemEventType.Alarm, "Нажата стоповая кнопка в шкафу управления контроллера", false);
            autoEvent[92]  = new AutoEvent(_opcName, "DI_NotStop_BTN_Inert", SystemEventType.Alarm, "Нажата стоповая кнопка в шкафу управления инертными фракциями", false);
            autoEvent[93]  = new AutoEvent(_opcName, "DI_NotStop_BTN_Doz", SystemEventType.Alarm, "Нажата стоповая кнопка в шкафу управления дозированием", false);
            autoEvent[94]  = new AutoEvent(_opcName, "DI_NotStop_BTN_Cem", SystemEventType.Alarm, "Нажата стоповая кнопка в шкафу управления цементом", false);
            autoEvent[95]  = new AutoEvent(_opcName, "DI_NotStop_BTN_Water", SystemEventType.Alarm, "Нажата стоповая кнопка в шкафу управления жидкими компонентами", false);
            autoEvent[96]  = new AutoEvent(_opcName, "DI_NotStop_BTN_BS", SystemEventType.Alarm, "Нажата стоповая кнопка в шкафу управления бетоносмесителем", false);
            autoEvent[97]  = new AutoEvent(_opcName, "cmd_Stop", SystemEventType.Alarm, "Общий стоп", true);
            autoEvent[98]  = new AutoEvent(_opcName, "gb_LinkERR_WeightCement", SystemEventType.Alarm, "Нет связи с весовым индикатором цемента", true);
            autoEvent[99]  = new AutoEvent(_opcName, "gb_LinkERR_WeightWater", SystemEventType.Alarm, "Нет связи с весовым индикатором воды", true);
            autoEvent[100] = new AutoEvent(_opcName, "gb_LinkERR_WeightInert", SystemEventType.Alarm, "Нет связи с весовым индикатором инертных фракций", true);
            autoEvent[101] = new AutoEvent(_opcName, "gb_LinkERR_WeightAdditive", SystemEventType.Alarm, "Нет связи с весовым индикатором химических добавок", true);

            autoEvent[102] = new AutoEvent(_opcName, "M_18.gb_Warning_Oil", SystemEventType.Warning, "Бетоносмеситель M-18 - нет давления в системе смазки", true);
            autoEvent[103] = new AutoEvent(_opcName, "DI_Gates_M18_Closed", SystemEventType.Warning, "Крышка открыта", false);
            autoEvent[104] = new AutoEvent(_opcName, "DI_M9_sw_AutomatMode", SystemEventType.Warning, "Конвейер M-9 - автоматический режим", true);
            autoEvent[105] = new AutoEvent(_opcName, "DI_M9_sw_AutomatMode", SystemEventType.Warning, "Конвейер M-9 - ручной режим", false);
            autoEvent[106] = new AutoEvent(_opcName, "DI_M18_sw_AutomatMode", SystemEventType.Warning, "Бетоносмеситель M-18 - автоматический режим", true);
            autoEvent[107] = new AutoEvent(_opcName, "DI_M18_sw_AutomatMode", SystemEventType.Warning, "Бетоносмеситель M-18 - ручной режим", false);
            autoEvent[108] = new AutoEvent(_opcName, "gb_AL_Hydro_Pressure", SystemEventType.Warning, "Низкое давление в гидравлической магистрали", true);
            autoEvent[109] = new AutoEvent(_opcName, "gb_ArchiverERROR", SystemEventType.Warning, "Нет связи с программой архивации", true);
            autoEvent[110] = new AutoEvent(_opcName, "DI_Cement1_LSH", SystemEventType.Warning, "Сработал датчик верхнего уровня цемента в силосе №1", true);
            autoEvent[111] = new AutoEvent(_opcName, "DI_Cement2_LSH", SystemEventType.Warning, "Сработал датчик верхнего уровня цемента в силосе №2", true);

            OpcServer.GetInstance().GetSubscription(_opcName).ApplyChanges();
            #endregion
        }
示例#23
0
        public WindowSetParameter(OpcServer.OpcList opcName, string parameterName, double minValue, double maxValue, string opcTag, ValueType valueType, Popup popup = null, int digit = 1, double?firstPrompt = null, double?secondPrompt = null, double?thirdPrompt = null, double?fourthPrompt = null, double?stepFeed = null, string additionalTag = "")
        {
            InitializeComponent();
            KeyDown += OnKeyDown;

            DataContext = this;

            _opcName = opcName;
            _popup   = popup;
            if (maxValue < minValue)
            {
                maxValue = minValue;
            }
            MinValue       = minValue;
            MaxValue       = maxValue;
            _opcTag        = opcTag;
            ParameterName  = parameterName;
            _valueType     = valueType;
            _digit         = digit;
            _opc           = OpcServer.GetInstance().GetOpc(_opcName);
            _additionalTag = additionalTag;

            switch (_valueType)
            {
            case ValueType.Byte:
                ParameterValue = _opc.cl.ReadByte(_opcTag, out _err).ToString();
                break;

            case ValueType.Int16:
                ParameterValue = _opc.cl.ReadInt16(_opcTag, out _err).ToString();
                break;

            case ValueType.Int32:
                ParameterValue = _opc.cl.ReadInt32(_opcTag, out _err).ToString();
                break;

            case ValueType.Real:
                ParameterValue = Math.Round(_opc.cl.ReadReal(_opcTag, out _err), _digit).ToString($"F{_digit}");
                break;

            case ValueType.UInt16:
                ParameterValue = _opc.cl.ReadUInt16(_opcTag, out _err).ToString();
                break;

            case ValueType.UInt32:
                ParameterValue = (_opc.cl.ReadUInt32(_opcTag, out _err) / 1000).ToString();
                break;
            }

            _startValue = ParameterValue;

            if (firstPrompt != null && secondPrompt != null && thirdPrompt != null && fourthPrompt != null)
            {
                FirstPrompt  = Convert.ToDouble(firstPrompt);
                SecondPrompt = Convert.ToDouble(secondPrompt);
                ThirdPrompt  = Convert.ToDouble(thirdPrompt);
                FourthPrompt = Convert.ToDouble(fourthPrompt);

                VisPrompt = true;
            }

            if (stepFeed != null)
            {
                StepFeed = Convert.ToDouble(stepFeed);
                VisFeed  = true;
            }

            ValueStringFormat = $"F{_digit}";

            SelText();
        }
示例#24
0
        public MainWindow()
        {
            ServiceData.Init(@"Data/Service.xlsx");
            Release.Init(Assembly.GetExecutingAssembly().GetName().Version);

            _windowSplash = new WindowSplash();
            _windowSplash.Show();

            Opc.UaFx.Client.Licenser.LicenseKey =
                "AALOERR5OO7EKFNQCABINGCH6TYOVHPLFC2QCUYAV3IYL7FGRNBJ4TYJX2GM6HKSCKZLBJWGHUWWXQ5HKWI7OFVYYMERDPQDC7ZW7ZTLPTM" +
                "LWLMY3RMLD2UQ6OXKUKC2YBBPBRGK6SBRI4DBXF4NGVKZUATMW3VI7EALG5FQNCETII7JG7OTOCL2EPO55TO5D4GPJROX5FHSUSALQX56E6" +
                "NCBRCDX35VJBWLQDD4QANXIWUKO7D3Q7SWDDL55ZZCSN7NLHKB3W5O524VIXFPLVJIYKM5U4OPRXPQ2IM5HNR5GRY4ZODEIIKTRJS2N2MBD" +
                "LYUUDDNUH5Y7X2MERUMPKZZHP3WWLGR2XUCXTZTA6MWSB6KXNJ3DMIA6ZU54UQVFC3FGTOU5YP2CHBVZOFZDZTDD2OX3XD5ZMPQTS4DU7C5" +
                "44BBNUXMNCNQ52DQSVBF3YYGVTPHHD7LMGCLZQA2EYXQBMNUIHQT3RZPFXRNUA3VKSXBN4WRK2QCN2MPWQL4RBNK7KEJVM2GK7QEOMX7FAN" +
                "SQGOIYLIQQCXGJB27SZEL6ZF4C4T6EUFOPKW7NSMEQWBAMCO2BSCP2YD4P4O3KHTUB7HXIFKUJNI5AVEM2YTDTLACIIOKI3BM7HXYJZBTHF" +
                "ME2O7ONQLRMFIQQF72YOWHVCRLLWGZOJUTWDWDPN532SOOV2AW2X4SFCVZHJGCG7OR5RYFI46NAA7Y3W52CHSMJKNGQEE7IDJPS76QFCOWE" +
                "TDJ6M2LXC4YMOO3CZYEZ6NVHWZQX2GJKU4CIYII5DTMAPACKWASLFUIHBMA47DBZYV5VBRUL6K7IGDTTZANTSFR4I2FGTFLVAXJOUR2WVEM" +
                "6L6AS6V5M3MU2KCRLLJGJ2QYOGYYCO4KYRVMRVK2324DAFHVMQJBC6YKDDSLPFHJLI6IHVNLHKMWWYFQC2O3KZTANJYC37J7DEV7XBBZIHY" +
                "7VBGTEKBW73KBCKZ3CQJDUW267N4QRJKSE4Z5YEYJDVESXC2JBHWPYXZV2VOU64D55EFWPQBN4KSZM3PLPELUQDLAE6LMCUC2QFODQI3E4D" +
                "Q7FI2GKTHYAO2KKWNI2STU7ABZ3VROFRTYOOEOLVI7FH2ZL35SDTWD2FPFWCR4SDXIRRFVXOGZJLF6KEUHOYGBRQR3CYA62YF4K2HYX46TX" +
                "ZQ3KUPWZTOBY3M7ZUJQFQ2KTXXIB75LVC7EHAZ2AF3OELXR2YP2AVTIGKBEPXAJIFQLB6CKHQQEHHSSPWO3HQHTYVZYGMVM4KUTDRHHSGUA";

            Stimulsoft.Base.StiLicense.Key = "6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHlo0BLi03H5eu1wfyYtghdwJHRIUDASSNqz5wYiN/0REuF5rx" +
                                             "l0PuYej+g+9PW3zj9rf4q2Hr3Rp+4siFan2+bLDIWecyw4cso2kClUxmGiOPMf8e9yf/4LU06O2KwITH9htGzZ5H8f" +
                                             "WkYXqiSRovW8fvjzPHMKsHri+ywu+vv1sGfAwA0zzPsF2OEmeNC34NoNvq0aHta9JYfhfq9bkKZym8x02csbJJuI2R" +
                                             "c3V1rG5B/jATAQfCMOVMRttnnmQ6VnSEiSRStLhvBtVE0bC1kq4Z4RNpUVrGVcBn6w41aSyD8uOc78dBIu7a3ykZ45" +
                                             "1A/Q3ww3T1GtnmfAkGLK2b/srd675k7fpZrVlyiLH7BfEyo+hrBj51dYG0IaJqzseeuSh7GFjJZCihujJNgugyR4Id" +
                                             "N4KjrZg2sAuO4JeNlvzZvyQ7wNzu92lFHGoZGLnnKIAUQUk8FECgamOxYIYzP4UzLturdpFL6MBW6c9E0SdRy+Ydnb" +
                                             "SH40eSD+WGmkWgDhi8JDzJK2aIjAcTpjguEE";

            InitializeComponent();

            #region Init

            _logger = Service.GetInstance().GetLogger();
            LibService.Init(_logger);
            LibService.GetInstance().SetDbConnectionString(Service.GetInstance().GetOpcDict()["DbConnectionString"]);
            AsLibraryCore.LibService.GetInstance().SetEventsDbConnectionString(Service.GetInstance().GetOpcDict()["EventsDbConnectionString"]);
            NewOpcServer.Init(_logger);
            NewOpcServer.GetInstance().InitOpc(NewOpcServer.OpcList.Rbu);
            NewOpcServer.GetInstance().ConnectOpc(NewOpcServer.OpcList.Rbu);

            var reportHelper = new ReportHelper(_logger);
            reportHelper.SubscribeReportSaving();

            OpcServer.Init(@"Data/Service.xlsx");
            OpcServer.GetInstance();

            OpcServer.GetInstance().InitOpc(OpcServer.OpcList.Rbu, Service.GetInstance().GetOpcDict()["OpcServerAddress"]);
            OpcServer.GetInstance().ConnectOpc(OpcServer.OpcList.Rbu);

            EventsBase.GetInstance().CreateControlEvents(OpcServer.OpcList.Rbu);

            #endregion

            Title = ServiceData.GetInstance().GetTitle() + " " + Release.GetInstance().GetReleaseTitle();
            Login();

            EventsBase.GetInstance().GetControlEvents(OpcServer.OpcList.Rbu).AddEvent("Программа управления открыта", SystemEventType.Message);

            #region Масштаб экрана (comment)

            //var rect = SystemParameters.WorkArea;
            //if (rect.Width != 1920)
            //    MainGrid.LayoutTransform =
            //        new ScaleTransform(Math.Min(rect.Width, 1920) / 1920, Math.Min(rect.Height, 1080) / 1080);

            #endregion
        }