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

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

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

Pans

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Шаблоны
« : 03 Августа 2022, 10:58:41 »
Добрый день, возник вопрос по шаблонам. Имеется ли какая-то возможность использовать больше одного тега в поле переменная? А так же возможно ли использовать математические/логические операции при назначении тега в поле переменная? Последнее очень удобно, так как избавляет от необходимости писать мелкие скрипты для исполнения очень простых операций.
Попробую описать задачу:
Имеется необходимость создать универсальный шаблон, который можно было бы конфигурировать. Имеется клапан, который может иметь множество разных физических конфигураций. Таким образом линии в шаблоне необходимо подсвечивать не только в зависимости от состояния тега устройства, но так же через логическое И в зависимости от значения конфигурационного тега. На текущий момент вижу только возможность привязать видимость линий непосредственно к тегу.
Так же вопрос о возможности использовать подстановки в скриптах? Я допускаю ошибку в синтаксисе или такое не возможно? "config := GetBit(Valve%Config_Number%, 0);"

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1363
    • Просмотр профиля
Re: Шаблоны
« Ответ #1 : 04 Августа 2022, 11:49:15 »
Здравствуйте.

Цитировать
Имеется ли какая-то возможность использовать больше одного тега в поле переменная?
Такой возможности нет. Для всех объектов имеется возможность назначить основную переменную (свойство "Переменная") и дополнительную (свойство "Доп.переменная"). В скриптах к ним можно обратиться через свойства объекта "Variable" (основная переменная, с которой связан объект), и "VariableEx" (дополнительная переменная, с которой связан объект). Например: "If Variable.AsInt > VariableEx.AsInt then".

Цитировать
А так же возможно ли использовать математические/логические операции при назначении тега в поле переменная? Последнее очень удобно, так как избавляет от необходимости писать мелкие скрипты для исполнения очень простых операций.
Такой возможности нет. Необходимые вычисления можно произвести в скриптах.

Цитировать
линии в шаблоне необходимо подсвечивать не только в зависимости от состояния тега устройства, но так же через логическое И в зависимости от значения конфигурационного тега.
Можно назначить "конфигурационный тег" на свойство "Доп. переменная" линии и написать универсальный скрипт с нужными условиями. Например:
Код: (delphi)
begin
  if Sender is TM_Object then    // проверяем, что Sender это объект
    with Sender as TM_Object do  // приводим Sender к типу "TM_Object"
      if (AsInt = 1) and (VariableEx.AsInt = 3)  then // если значение основной переменной  = 1 и значение доп. переменной = 3
        Visible := True          // показать объект
      else                       // иначе
        Visible := False;        // скрыть объект
end.

Цитировать
Так же вопрос о возможности использовать подстановки в скриптах? Я допускаю ошибку в синтаксисе или такое не возможно? "config := GetBit(Valve%Config_Number%, 0);"
Использовать подстановки в скриптах нельзя. Доступные способы работы с шаблонами из скриптов можно найти по ссылке.

Pans

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Шаблоны
« Ответ #2 : 10 Августа 2022, 12:52:50 »
Добрый день,

Спасибо за пояснения. Еще вопрос, а есть ли возможность мигрировать шаблоны из проекта в проект?

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1363
    • Просмотр профиля
Re: Шаблоны
« Ответ #3 : 11 Августа 2022, 10:49:14 »
Здравствуйте.

На данный момент такой возможности нет. В будущем мы планируем добавить функции импорта/экспорта между проектами. Но какой-то определенный срок появления таких возможностей сейчас назвать сложно.

Pans

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Шаблоны
« Ответ #4 : 11 Августа 2022, 14:37:31 »
Добрый день,

Еще имеется вопрос, он не совсем по шаблонам, но я с этим столкнулся при создании шаблона, вопрос связан с графическим редактором. Возможно ли как-то изменять длину линии кроме как мышкой? Это становится проблемой из-за того, что сетка 8*8 и при помощи мышки получается только делать линии кратные 8. Имеется ли возможность изменить размер сетки на меньший? Так же при создании окна шаблона минимальный размер окна 112*92 и нет возможности убрать шапку, графика в моем шаблоне примерно 20*20, возможно ли как -то сделать шаблон меньше размера 112*92 и без шапки с кнопкой закрытия?

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1363
    • Просмотр профиля
Re: Шаблоны
« Ответ #5 : 12 Августа 2022, 10:02:54 »
Здравствуйте.

Цитировать
Возможно ли как-то изменять длину линии кроме как мышкой? Это становится проблемой из-за того, что сетка 8*8 и при помощи мышки получается только делать линии кратные 8
Изменять длину линии можно только мышкой. Для точной настройки длины линии удерживайте зажатой клавишу Alt при изменении размера.

Цитировать
Так же при создании окна шаблона минимальный размер окна 112*92 и нет возможности убрать шапку, графика в моем шаблоне примерно 20*20, возможно ли как -то сделать шаблон меньше размера 112*92 и без шапки с кнопкой закрытия?
Размер шаблона можно еще немного уменьшить через свойства "Ширина" и "Высота" инспектора объектов. Минимальный размер для корректного отображения шаблона в редакторе: 60*60. Заголовок шаблона с кнопкой закрытия в редакторе скрыть нельзя.