Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: При нажатии на кнопку переменная слишком долго меняет свое значение  (Прочитано 2979 раз)

AndreyA

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Добрый день!
Версия 2.7.2
Кнопка "без фиксации" , 2 состояния (FALSE,TRUE) - при нажатии на кнопку переменная меняет свое значение на ОРС сервере примерно 1 сек.
Цикл опроса на сервере переменной 100мс, сервер и клиент на одной машине. Всего в проекте внешних переменных около 2000.
В режиме Run-Time когда на клиенте происходит нажатие на кнопку - второе состояние кнопки часто не меняется (надпись), меняется при длительном нажатии и удержании.
Куда можно посмотреть еще?
Заранее благодарю!

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Здравствуйте.

При изменении значения переменной из скада-системы, она только отправляет запрос OPC-серверу на изменение значения этой переменной. Больше скада не делает ничего, а просто ждёт ответ от OPC-сервера. После удачной записи, OPC-сервер передает обновленное значение в скада-систему. Если имеются задержки, то причину проблем нужно искать в настройках или работе OPC-сервера/ПЛК.

Пришлите на support@simple-scada.com текущую версию Вашего проекта из директории "..\Simple-Scada 2\Projects\" и укажите кнопку, которую нужно проверить. После проверки проекта, возможно сможем дать более подробные комментарии.

Также, рекомендуем избегать использования кнопок с типом "без фиксации" – в большинстве случаев их можно заменить на кнопки "с фиксацией". Ознакомиться с примерами использования кнопок можно по ссылке.

AndreyA

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Спасибо за ответ!
Но в данном случае реализация кнопки с "фиксацией" пока не понятна , так как  при старте завода группы  с обьектами стартуют в определенном порядке без воздействия на кнопки старт/стоп каждого агрегата. Программа в контроллере сама запускает агрегаты. В определенный момент оператор отключает  конвейер из группы обьектов кнопкой "стоп"  и после определенных проверок нажимает кнопку "старт" конвейера и тем самым конвейер снова работает в цепочке агрегатов в "АВТО" Режиме. Если выбрать кнопку с фиксацией, то при подаче команды на "старт" кнопка будет держать постоянно бит в программе ПЛК и при следующем старте будет ошибка так как команда наобьект приходит а группа остановлена, то есть каким то образом надо потом кнопку саму сбрасывать, если существует вариант сброса кнопки "с фиксацией" подскажите пожалуйста.
Да, актуальный проект скину на почту
После тестов кнопок "с фиксацией" получилось корректно получать данные на ПЛК , но вопрос  с сбросом кнопки остается.
Приведу пример: в ПЛК запуск осуществляется кнопками с импульсом на примере: меркер M427.0 включает М427.1 , для останова используется меркер М427.2. В случае с "фиксированной " кнопкой включить / выключить меркер М427.0 получиться но сброс М427.1 нет. Символов нет, так как пример небольшой.


« Изменён: 09 Сентября 2025, 14:29:45 от AndreyA »

AndreyA

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Получилось, но тесты на оборудовании только завтра.
Использовал скрипты на сброс состояния кнопки. Переделка проекта в ПЛК требуется. По результату отпишусь.

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Цитировать
Кнопка "без фиксации" , 2 состояния (FALSE,TRUE) - при нажатии на кнопку переменная меняет свое значение на ОРС сервере примерно 1 сек.
Цитировать
..второе состояние кнопки часто не меняется (надпись), меняется при длительном нажатии и удержании.
Проект посмотрели. У Вас в настройках переменных, связанных с кнопками, задана частота опроса "По умолчанию" – 1 сек. Поэтому значение переменной в скада-системе не может обновляться чаще 1 сек. и результат записи в переменную также будет виден только через 1 сек.

Т.к. указанные переменные поступают с UA-сервера, то в настройках UA-сервера можно активировать опцию "Чтение после записи", которая позволяет максимально быстро получить новое значение переменной после выполнения записи, независимо от частоты опроса переменной.

Вместо кнопок "без фиксации", самым оптимальным вариантом будет использование кнопок "с фиксацией" и одним состоянием. В этом случае, при нажатии в переменную будет записываться фиксированное значение. Например, можно использовать две кнопки Пуск и Стоп с одним состоянием и значением 1, а сброс значения на 0 реализовать на ПЛК. Т.е., нажали Пуск, в переменную записалось значение 1, оборудование запустилось, после чего на ПЛК в переменную записалось значение 0. Аналогично и для кнопки Стоп. Данный способ будет гораздо надежнее.

Цитировать
Использовал скрипты на сброс состояния кнопки.
Не рекомендуем использовать подобные способы.