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

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

Автор Тема: Шаблоны и все такое...  (Прочитано 5980 раз)

Серега

  • Старожил
  • ****
  • Сообщений: 285
    • Просмотр профиля
Шаблоны и все такое...
« : 24 Мая 2021, 11:52:29 »
Добрый день!
При решении определенной задачи возникли вопросы.
Например у нас есть 3 насоса как в Вашем примере. Все одинаково.
Кроме того, что например у 3 насоса нет переменной отвечающей за частоту.
Создав шаблон и шаблонное окно мы можем наблюдать, что если в проекте нет нужной переменной, то она не отображается в окне по правой кнопке. Внешний вид шаблонного окна и шаблона ни чем не отличаются.
Вопрос №1. Как предупредить оператора об отсутствии данной переменной (то есть оператор должен понимать что у 3 насоса в привычном месте данных о частоте не будет)?
Вопрос №2. Следствие наверное первого вопроса. Можно ли как то скрыть элементы у которых нет переменных?
Жду вопросов и ответов!

pan2000

  • Постоялец
  • ***
  • Сообщений: 226
    • Просмотр профиля
Re: Шаблоны и все такое...
« Ответ #1 : 24 Мая 2021, 21:24:55 »
     Здравствуйте.

Изменить свойства объекта экземпляра шаблона можно только скриптом по событию изменения значения одной из двух переменных объекта. Для генерации события можно использовать пару переменных с начальными значениями 0 и 1. Одна переменная связывается с видимыми объектами, другая - со скрытыми (пара нужна для задания всех свойств экземпляра шаблона, событие - инициализация переменных при запуске проекта).
 
Варианты для управления видимостью объекта "Поле":
1. Дополнительная переменная свободна, скрипт управляет непосредственно видимостью объекта.
2. Дополнительная переменная занята, скрипт управляет видимостью экранирующего объекта по основной или дополнительной переменной.
Код: (delphi)
begin
  with Sender as TM_Object do Visible := VariableEx.AsInt = 0;  // инвертировать для варианта 2
end.

Во вложении пример для варианта 1 и еще несколько способов управления видимостью объекта экземпляра шаблона

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Шаблоны и все такое...
« Ответ #2 : 25 Мая 2021, 11:08:17 »
Здравствуйте.

Смысл шаблонов состоит в замене одинаковых объектов, а не в попытках подогнать шаблон под объекты которым он не подходит (хотя это возможно, как описал выше pan2000), усложняя проект. Т.е. в Вашем случае правильнее всего было бы создать два шаблона. Первый шаблон обычный, с полем частоты. Его назначить на все подобные объекты проекта у которых должна отобраться частота. Второй шаблон такой же, но без поля частоты (его как раз можно сделать меньше по размерам) и назначать его всем объектам проекта у которых нет поля частоты.

Серега

  • Старожил
  • ****
  • Сообщений: 285
    • Просмотр профиля
Re: Шаблоны и все такое...
« Ответ #3 : 27 Мая 2021, 14:03:54 »
Добрый день!
За предложенный вариант автору pan2000 спасибо! Протестировали, прикинули, будем использовать.