Показано с 1 по 8 из 8

Тема: Коллизии с кнопками управления при реализации логики в MasterOPC

  1. #1

    Lightbulb Коллизии с кнопками управления при реализации логики в MasterOPC

    Добрый день, я новичок в MasterScada, есть такая задача:
    1) У некоторых объектов есть параметр Работа(bool), который генерируется в MasterOPC по своим законам и со своими зависимостями.
    2) В MasterScada настроены 2 кнопки для влияния на этот параметр: "Старт" и "Стоп" (для удобства).
    3) Пользователь, когда кнопки "Старт" и "Стоп" разблокированы может на них нажимать и соответственно значение должно приходить в OPC. При этом OPC может отвергнуть это значение по своим условиям или при выборе определённой предустановки выставить нужное значение.
    4) В Masterscada для управления реализовано 2 параметра: "работа" и "уставка работы". При нажатии нужной кнопки в действиях по клику мыши происходит установка параметра "уставка работы" в true или false соответственно. Параметр "работа" используется для подсветки текущего состояния.
    5) В итоге, если пользователь нажал кнопку стоп -> "уставка работы" перешла в false -> данные передались в OPC -> а дальше два варианта, алгоритмом в OPC разрешено в данный момент выставить false или не разрешено -> так вот, если не разрешено, то он обратно выставляет true.

    При этом в уставке остаётся false, и при следующем нажатии на кнопку "Стоп" вообще ничего не будет происходить, т.к. не менялось значение.

    Как возможно это победить или оптимизировать?


    P. S.
    Пробовал писать fbd скрипт с таймером tonof который каждые 3 секунды по переднему фронту ставит значение из параметра "работа" в параметр "уставка работы", но при этом кнопки перестают нормально работать-> начинают по 5 раз пытаться менять значение и в итоге ничего не выходит. Да и к тому же это изначально проигрышный вариант.

    Кто, что посоветует?)

  2. #2

    По умолчанию

    Цитата Сообщение от Димон_11 Посмотреть сообщение
    Добрый день, я новичок в MasterScada, есть такая задача:
    1) У некоторых объектов есть параметр Работа(bool), который генерируется в MasterOPC по своим законам и со своими зависимостями.
    2) В MasterScada настроены 2 кнопки для влияния на этот параметр: "Старт" и "Стоп" (для удобства).
    3) Пользователь, когда кнопки "Старт" и "Стоп" разблокированы может на них нажимать и соответственно значение должно приходить в OPC. При этом OPC может отвергнуть это значение по своим условиям или при выборе определённой предустановки выставить нужное значение.
    4) В Masterscada для управления реализовано 2 параметра: "работа" и "уставка работы". При нажатии нужной кнопки в действиях по клику мыши происходит установка параметра "уставка работы" в true или false соответственно. Параметр "работа" используется для подсветки текущего состояния.
    5) В итоге, если пользователь нажал кнопку стоп -> "уставка работы" перешла в false -> данные передались в OPC -> а дальше два варианта, алгоритмом в OPC разрешено в данный момент выставить false или не разрешено -> так вот, если не разрешено, то он обратно выставляет true.

    При этом в уставке остаётся false, и при следующем нажатии на кнопку "Стоп" вообще ничего не будет происходить, т.к. не менялось значение.

    Как возможно это победить или оптимизировать?


    P. S.
    Пробовал писать fbd скрипт с таймером tonof который каждые 3 секунды по переднему фронту ставит значение из параметра "работа" в параметр "уставка работы", но при этом кнопки перестают нормально работать-> начинают по 5 раз пытаться менять значение и в итоге ничего не выходит. Да и к тому же это изначально проигрышный вариант.

    Кто, что посоветует?)
    Есть в протоколах параметр "Способ записи" - попробуйте поставить вместо значения по умолчанию "По изменению" значение "По изменению времени". Тогда отправка команды записи будет производиться даже если само значение не изменилось, а поменялась только метка времени значения на выходе
    изображение_2025-07-02_233902292.png

    С таймерами я тоже сначала пробовал - ненадёжный вариант

  3. #3

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Есть в протоколах параметр "Способ записи" - попробуйте поставить вместо значения по умолчанию "По изменению" значение "По изменению времени". Тогда отправка команды записи будет производиться даже если само значение не изменилось, а поменялась только метка времени значения на выходе
    изображение_2025-07-02_233902292.png

    С таймерами я тоже сначала пробовал - ненадёжный вариант
    Спасибо за совет! Буду пробовать! Насколько понимаю, переменные должны быть в этом случае в объектах не просто bool a SYSTEM_BOOL_PARAM?

  4. #4

    По умолчанию

    Цитата Сообщение от Димон_11 Посмотреть сообщение
    Спасибо за совет! Буду пробовать! Насколько понимаю, переменные должны быть в этом случае в объектах не просто bool a SYSTEM_BOOL_PARAM?
    Использовать можно и то и то, желательно, чтобы они были одинаковыми во всех блоках.

  5. #5

    По умолчанию

    Тоже заметил такое, но поборол скриптом на ST, просто нажатие кнопки записывает в переменную TRUE, а скрипт на ST проверяет: если переменная TRUE, он ее делает в FALSE. А это свойство, что выше, не видел, интересно, работает ли оно...

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

  6. #6

    По умолчанию

    Спасибо! Хороший совет, я проверил, действительно хорошо работает, отслеживание по времени получается удобно, единственное надо учесть, что у связываемых переменных тоже должен быть составной тип данных с меткой времени

  7. #7

    По умолчанию

    Как реализовали в итоге? Через метки времени?

  8. #8

    По умолчанию

    Цитата Сообщение от Димон_11 Посмотреть сообщение
    Как реализовали в итоге? Через метки времени?
    Если это мне, то да - я делаю уставку записи тегов "По изменению времени"

Похожие темы

  1. Отключение логики у ПР
    от TaPX в разделе Программируемые реле
    Ответов: 22
    Последнее сообщение: 23.09.2023, 12:11
  2. ПР200 с внешними кнопками вкл/выкл
    от N B в разделе Программируемые реле
    Ответов: 6
    Последнее сообщение: 18.08.2022, 23:13
  3. Работа с кнопками в Trace mode 6
    от Kaef в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 05.06.2018, 10:46
  4. Индикатор с кнопками управления
    от Vlad89 в разделе Подбор Оборудования
    Ответов: 0
    Последнее сообщение: 04.10.2013, 19:48
  5. Ответов: 13
    Последнее сообщение: 30.06.2011, 19:33

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •