PDA

Просмотр полной версии : Закольцовка



Dima1991
01.06.2016, 14:45
Здравствуйте. Проблема в следующем. Есть три элемента. Opc переменная в дереве системы булевого типа с возможность чтения и записи в нее; есть кнопка, либо блок выбора параметров(в моем случае одна строчка) на мнемосхеме; есть команда булевого типа в дереве объектов. Команда записывает значение в opc переменную из мнемосхемы через выход кнопки, либо блока выбора параметров. Для того чтобы убедиться, что значение записалось в opc переменную, opc переменная поступает на вход кнопки, либо блока выбора параметров. Таким образом получается кольцевая схема с обратной связью. Но проблема заключается в том, что если записать значение из мнемосхемы в команду в дереве объектов, то значение из команды в дереве объектов придет с некоторым запозданием(в пол секунды например) в opc переменную, значение из opc переменной тоже с некоторым запозданием поступит на вход кнопки(блока выбора параметров) на мнемосхеме, если в этот момент попробовать нажать на кнопку, а потом быстро ее выключить то получится, что кнопка пошлет значение на команду, команда пошлет значение на opc переменную, opc переменная запишется на вход кнопки и в этот момент команде приходит следующее значение, получается некоторая закольцовка. Т.е это значение передается по кругу. Дело в том, что если мы управляем например лампочкой или насосом, то получается путем нехитрых манипуляций включение и выключение без нашего вмешательства на мнемосхеме, мы либо сломаем насос(убьем магнитный пускатель) либо перегорит лампа. Чтобы разорвать этот круг нужно снова щелкнуть на кнопку на мнемосхеме. Соответственно у меня вопрос как решить данную проблему? 24683 Спасибо

SCADAMaster
01.06.2016, 15:53
Нужно использовать команду.
Создайте команду, типа дискретный. На вкладку "опрос выхода" перетащите вашу ОРС переменную или выход ФБ "Повторитель" (что лучше). В таком режиме все что вводит оператор на мнемосхеме передается на выход команды, а то что приходит по обратной связи отображается в контроле.
На закладке "Опрос" также можно снять галочку "Не передавать данные обратной связи", тогда значение приходящие по обратной связи будут идти на выход команды.
Чтобы избежать зацикливания на вкладке "Опрос" есть поле "Блокировка данных обратной связи"

Dima1991
01.06.2016, 16:16
Это понятно, так тоже делал, но закольцовка не уходит. Мне нужно, чтобы через одну и ту же opc переменную производилась запись и чтение. Обратная связь работает, команда изменяется, но функциональный блок "Поле выбора" никак не реагирует на изменение opc переменной, только если opc переменную подать на вход ФБ. И еще не совсем понятно что означает это поле в "блокировке обратной связи". По умолчанию там стояло 60 секунд, я поставил 1, ничего не изменилось.

SCADAMaster
01.06.2016, 16:56
Как именно вы связали поле выбора?
Нужно вход и выход динамизации этого блока привязать к команде.

Dima1991
01.06.2016, 17:03
На вход ФБ, на закладке "Поля выбора" в строку "Поле 1" opc переменную, на выход ФБ тоже в поле 1, привязал команду.

SCADAMaster
01.06.2016, 17:41
Привяжите их к команде, которая будет иметь обратную связь.

Dima1991
01.06.2016, 21:22
Понятно, буду пробовать, а что означает "блокировка обратно связи" на вкладке "опрос"?

SCADAMaster
02.06.2016, 09:25
Блокировка обратной связи (сек) - Если настройка Не передавать данные обратной связи выключена, то после ввода значения в команду оператором, в течении заданного времени значения поступающие по обратной связи на выход команды не передаются. Это необходимо, чтобы избежать зацикливания (так как введенное значение может поступить по обратной связи с опозданием на несколько циклов).

Dima1991
02.06.2016, 10:12
а какое оптимальное значение в секундах?по умолчанию там стоит 60 секунд. т.е данные из opc переменной придут на команду через 60 секунд?

SCADAMaster
02.06.2016, 10:50
Нет. Это означает что после ввода значения оператором, значения приходящие по обратной связи в течении следующих 60 секунд не будут передаваться на выход, будут просто отбрасываться.

Dima1991
02.06.2016, 11:44
Все равно не понял) я вроде тоже самое сказал. т.е. когда оператор ввел значение из мнемесхемы в команду, значение из команды пепедалось в opc сервер, после того как значение изменилось в контроллере и пепедалось на opc переменную по обратной связи оно передается на команду но через 60 секунд?

SCADAMaster
02.06.2016, 11:57
Нет. 60 секунд все изменения приходящие по обратной связи отбрасываются, чтобы избежать зацикливания.
Это именно отбрасывание, а не задержка.

Dima1991
02.06.2016, 12:58
Хмм. ну вот я поставил 60 секунд. а значения с opc переменной передаются на команду и соответственно отображаются на мнемосхеме

Dima1991
02.06.2016, 13:01
Хмм. ну вот я поставил 60 секунд. а значения с opc переменной передаются на команду и соответственно отображаются на мнемосхеме

причем реакция мгновенная у свяки opc переменная- отображение на мнемосхеме, а значение на команду приходит с задержкой

SCADAMaster
02.06.2016, 13:04
Это задержка возникает только после того как был осуществлен ввод в команду оператором.
Причем из штатного контрола (слайдера, кнопки или редактируемого значения).

Dima1991
02.06.2016, 13:13
Т.е у ФБ "Поля выбора" она не работает и может быть закольцовка?

SCADAMaster
02.06.2016, 13:42
Да, с ActiveX контролами такое возможно.

Dima1991
02.06.2016, 14:02
А есть какие нибудь решения , чтобы избежать этого, помимо использования стандартных контролов?

SCADAMaster
02.06.2016, 14:17
Какой ОРС сервер вы используете в качестве опроса? Если наш Modbus Universal, то можно включить настройку тега "Чтение сразу после записи", это позволит избежать проскакиваний старых значений в теге.

Dima1991
02.06.2016, 14:21
Я правильно понимаю, ваш opc сервер позволяет бороться с закольцовкой? планировалось купить ваш, сейчас работаю на arOPC

SCADAMaster
02.06.2016, 14:36
Он позволяет опросить параметр сразу после записи.
У нас есть бесплатная версия на 32 тега - проверьте на ней, будут ли проблемы с записью.

Dima1991
02.06.2016, 15:19
установил но пока не поймал, хотя на arOPC тоже поймать не могу, а кнопку можно брать с палитры с возможностью фиксации? И не могли бы еще раз по порядку описать правильность настройки, а то начал тестить и сломал мастерскаду) и проект в подвешенном состоянии. Мне нужно записывать и читать в одну opc переменную из мнемосхемы.

SCADAMaster
02.06.2016, 15:27
а кнопку можно брать с палитры с возможностью фиксации?
Нет, лучше использовать команду. В свойствах у нее можно включить фиксацию.