Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: vladka767 от 23 Сентября 2019, 14:46:48

Название: Залипает кнопка
Отправлено: vladka767 от 23 Сентября 2019, 14:46:48
Добрый день.
В проекте используется кнопка без фиксации, которая используется для инкремента уставки для ручного управления клапаном.
Перменная уставки хранится в контроллере, по переднему фронту переменной, которая привязана к кнопке происходит ее увеличение.
Так же для удобства в контроллере написан алгоритм ,  который начинает инкрементировать переменную при зажатии кнопки (переменная в лог. 1) .

Собственно проблема:
В какой-то момент конпка  "залипает" и постоянно шлёт лог. 1, даже когда на кнопку не жмешь, что, соответственно приводит к  постоянному увеличению уставки на клапан.
Нашел старую тему по данной проблеме:
https://simple-scada.com/forum/index.php?topic=321.msg2836#msg2836
Подскажите как можно решить проблему?
Завтра установка должна улететь в Индию и глобально переделывать проект некогда...

Версия SCADы  2.3.6.0 .
Использую ОРС сервер CoDeSys с ОВЕН ПЛК110 [М02]


Название: Re: Залипает кнопка
Отправлено: Simple-Scada от 23 Сентября 2019, 15:19:34
Здравствуйте.

Протестировали кнопки без фиксации с тремя OPC-серверами arOPC, Kassl dOPC и MasterOPC. Описанная проблема не обнаруживается.

Кнопку кликаете через обычный клиент или через web-клиент?
Программа контроллера как-то участвует в управлении переменной с которой связана кнопка? Например может быть в программе контроллера переменная сбрасывается в 0 при каких-то условиях или т.п.?
Может быть скрипты скады участвуют в управлении переменной с которой связана кнопка? Например в каком-то скрипте возможно выполняется присвоение в эту переменную?

Цитировать
В какой-то момент кнопка  "залипает" и постоянно шлёт лог. 1
Т.е. какое-то количество присвоений выполняется правильно и проблема возникает через время?

Цитировать
Подскажите как можно решить проблему? Завтра установка должна улететь в Индию и глобально переделывать проект некогда...
Один из быстрых вариантов: заменить кнопку на "с фиксацией" и первым кликом включать инкрементирование, а вторым выключать. Но это будет нестандартное управление. И непонятно будет ли работать кнопка с фиксацией, ведь мы пока не знаем почему не работает кнопка без фиксации, ведь в других проектах с ней не возникает проблем.

Второй вариант: полностью убрать инкрементирование через контроллер и реализовать его средствами скады. Например поставить кнопку с фиксацией, связать её дополнительную (основная переменная должна быть не назначена!) переменную с той переменной, которую нужно инкрементировать и на событие OnClick назначить следующий скрипт:
Код: (delphi)
var
  aButton: TM_Button;
begin
  if not (Sender is TM_Button) then Exit;
  aButton := Sender as TM_Button;

  if Assigned(aButton.VariableEx) then
    aButton.VariableEx.Inc(5);
end.
, в результате каждый клик по кнопке будет приводить к увеличению значения доп. переменной на 5, вплоть до максимума шкалы. Если изменить значение на -5, то значение будет уменьшаться по 5 на каждый клик, до минимума.

Также можете выслать проект на support@simple-scada.com для проверки. Но не можем гарантировать что успеем проверить сегодня.
Название: Re: Залипает кнопка
Отправлено: vladka767 от 23 Сентября 2019, 15:33:34
Цитировать
Кнопку кликаете через обычный клиент или через web-клиент?
обычный
Цитировать
Программа контроллера как-то участвует в управлении переменной с которой связана кнопка?
нет, контроллер только смотрит на нее, нигде не меняет
Цитировать
Т.е. какое-то количество присвоений выполняется правильно и проблема возникает через время?
да, система может работать несколько часов нормально до сбоя

Впринципе тоже думал уже делать как вы описали во 2м варианте, но тогда и проект в контроллере прийдется переделывать, а он уже отлажен и не хотелось бы его ковырять..

У меня еще были мысли о том что это может происходить при большом количестве переменных, у меня их порядка 300.
Не тестировали с таким количеством?
Название: Re: Залипает кнопка
Отправлено: Simple-Scada от 23 Сентября 2019, 15:43:16
Цитировать
У меня еще были мысли о том что это может происходить при большом количестве переменных, у меня их порядка 300.
Не тестировали с таким количеством?
300 переменных - крайне мало. Основная часть пользователей использует в проектах от 3000 до 10000 тегов. Мы в тестах используем проект на 10000.
Название: Re: Залипает кнопка
Отправлено: vladka767 от 24 Сентября 2019, 10:19:02
Всем спасибо, вопрос на данный момент решен.