Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: AlexejKa38 от 14 Мая 2024, 09:49:16

Название: Видимость для шаблонов
Отправлено: AlexejKa38 от 14 Мая 2024, 09:49:16
Есть проект по дозированию по трубопроводам продуктов .

В 9 миксеров будет подаваться продукт по 4 линиям. В каждую линию подключены по 8-12 ёмкостей. Одновременно на линию продукт может подаваться только из одной емкости. От емкости до расходомеров на трубопроводах будет установлено по 3 крана и одному насосу. Плюс после расходомеров будет установлено ещё по 8 кранов. Итого в общей сложности на один миксер получается примерно 40 емкостей, 40 насосов и 130 кранов.

Разместить такое количество элементов на одной мнемосхеме не получится. Поэтому есть идея отображать для каждой из четырех линий только активную емкость с соответствующими кранами и насосами.

Какие были варианты реализации.

1. Сделать шаблон и менять подстановку шаблона. Но менять с помощью скриптов подстановку шаблона нельзя.   

2. Сделать "накладные" шаблоны. Наложить шаблоны всех элементов друг на друге и управлять их видимостью. Но у шаблонов к сожалению нет свойства Видимость.

3. Сделать шаблонные окна и открывать их. Но из скриптов открыть шаблонное окно нельзя. Также не очень хорошо будет выглядеть из-за тени окна.

4.  Вариант с обычными окнами тоже подошел бы. Вручную создал бы 40 окон. Но из-за тени не очень будет смотреться визуально. Да и заблокировать возможность перемещения окна тоже нельзя. Добавить бы окнам ещё свойства отключения тени и граница, запрет на закрытие крестиком (и скрыть крестик), запрет на перемещение, тогда бы уже получилось не только окно, а область или панель. С помощью такой панели к примеру можно будет создавать окна с вкладками.

5. Сделать в скаде виртуальные краны и насосы. Скриптом "изменились переменные" копировать значения реальных переменны в виртуальные. Но тогда будет 36 скрипта "изменились переменные" и в каждом скрипте будет обрабатываться несколько сотен переменных. Как это скажется на производительности скады неизвестно.

Единственный рабочий вариант номер 5. Пока остановился на нём.

Как ещё можно реализовать данную задачу?

Хотелось чтобы разработчики добавили шаблонам свойства видимость, возможность вызывать шаблонные окна из скриптов (например при вызове события Button1.OnClickEvent) или менять подстановки шаблонов из скриптов.

Как это примерно должно выглядеть на прикрепленном к этому сообщению скриншоте.
Название: Re: Видимость для шаблонов
Отправлено: Simple_Scada от 14 Мая 2024, 15:25:18
Здравствуйте.

Цитировать
Разместить такое количество элементов на одной мнемосхеме не получится... Как ещё можно реализовать данную задачу?
Вместо окон можно создать требуемое количество подстраниц (https://simple-scada.com/help/manual/page-panel.html#:~:text=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%83.) и распределить объекты по подстраницам. Каких-либо других вариантов предложить не можем. Перечисленные Вами пожелания обязательно учтем, но добавление таких возможностей в обозримом будущем не планируется.
Название: Re: Видимость для шаблонов
Отправлено: pan2000 от 15 Мая 2024, 12:16:49
   Здравствуйте.

  Вполне рабочий вариант 2 - использование шаблонов, причем возможны два варианта реализации:
- отключить штатную навигацию по страницам, что позволит для мнемосхемы создать необходимое число страниц с двумя шаблонами - мнемосхемы и навигации;
- "замонолитить" шаблон мнемосхемы на этапе инициализации - создается односторонняя цепочка ссылок между объектами шаблона (спасибо разработчикам за свойство объекта UserData). Теперь у шаблона, как единого целого, можно управлять видимостью или перемещением.
Пример с управлением видимостью во вложении.
Название: Re: Видимость для шаблонов
Отправлено: AlexejKa38 от 15 Мая 2024, 13:30:43
Спасибо большое!
Название: Re: Видимость для шаблонов
Отправлено: kharit74 от 05 Февраля 2026, 10:47:18
Здравствуйте.

Цитировать
Разместить такое количество элементов на одной мнемосхеме не получится... Как ещё можно реализовать данную задачу?
Вместо окон можно создать требуемое количество подстраниц (https://simple-scada.com/help/manual/page-panel.html#:~:text=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%83.) и распределить объекты по подстраницам. Каких-либо других вариантов предложить не можем. Перечисленные Вами пожелания обязательно учтем, но добавление таких возможностей в обозримом будущем не планируется.

Добрый день! Хочу освежить тему на счет видимости шаблонов. Стоит задача к дизайну интерфейса по управлению видимостью шаблонов с помощью кнопки из шаблонного окна. Стоит ожидать данный функционал?
Название: Re: Видимость для шаблонов
Отправлено: Simple_Scada от 08 Февраля 2026, 22:48:20
Здравствуйте.

Возможности управлять видимостью шаблонов нет и добавление такого функционала не планируется.
Название: Re: Видимость для шаблонов
Отправлено: AlexejKa38 от 13 Февраля 2026, 13:22:09
Добрый день! Хочу освежить тему на счет видимости шаблонов. Стоит задача к дизайну интерфейса по управлению видимостью шаблонов с помощью кнопки из шаблонного окна. Стоит ожидать данный функционал?

Вариант предложенный pan200 вполне рабочий. Только есть один недостаток. В скриптах внутри шаблона нельзя работать со свойством Visible. Может и можно, но я пока особо с этим не заморачивался. Можно Alpha использовать
Название: Re: Видимость для шаблонов
Отправлено: pan2000 от 25 Февраля 2026, 14:13:52
 Здравствуйте.

Цитировать
Вариант предложенный pan200 вполне рабочий. Только есть один недостаток.
Во устранении недостатка.
Для управления видимостью отдельных объектов шаблона (в количестве до 32) достаточно одного дополнительного тэга целого типа. Скрипт разрешения видимости последовательно переносит биты тэга в свойства видимости объектов, а скрипт запрещения собирает свойства видимости объектов в тег, с последующим переводом объектов в невидимое состояние.
При инициализации шаблона свойство видимости объектов устанавливается по подстановке %начальная_конфигурация%, а объекты из %список_объектов% получают ссылку на начальный объект шаблона для управления/контроля из "внешнего" мира.

Управление видимостью по Alpha, как второй канал управления видимостью, вполне даже подходит для одно-Alpha-ых объектов.