Анимационная система
Анимационная система SimInTech позволяет создавать в проектах SimInTech виртуальные индикаторы и органы управления на основе набора графических примитивов. Посредством инструментов анимационной системы происходит связывание свойств графических примитивов со значениями сигналов проекта и/или сигналов подключаемой к проекту базы данных. Таким образом, анимационная система даёт возможность организовывать наглядную визуализацию изменения данных, рассчитываемых в модели внутри проекта SimInTech, либо получаемых от реального оборудования. Анимация может быть реализована непосредственно в проекте, содержащем расчетную модель, либо в качестве отдельного внешнего проекта с набором видеокадров, подключаемого к проекту с моделью и/или базой данных.

Анимационная система может использоваться для управления внешним видом отдельных примитивов и графических контейнеров, содержащих наборы примитивов.
Также возможно два варианта управления внешним видом библиотечных блоков SimInTech. Первый – аналогично примитивам, путём изменения свойств блоков, таких как координаты, линейные размеры и видимость, хотя такое использование блоков SimInTech не является типичным. Второй – за счет использования анимированных пиктограмм для библиотечных блоков. Этот вариант может использоваться для наглядного отображения значений, рассчитываемых в блоке.
Самый простой вариант использования анимационной системы – управление внешним видом отдельных графических примитивов, добавленных непосредственно в схемное окно проекта разрабатываемой модели, через свойства этого примитива. Этот вариант больше подходит для отладки. Для создания сложных, многократно тиражируемых индикаторов, а также для некоторых особых применений стоит использовать следующие графические контейнеры:
- графические группы;
- панели управления;
- пиктограммы блоков из библиотек SimInTech;
- графические файлы .gcn.
По сути, управление графическими примитивами внутри контейнеров сводится к изменению свойств этих примитивов через некие промежуточные связи. Но в отличие от отдельных примитивов, вставленных в окно проекта, контейнеры позволяют работать с набором примитивов как с единым объектом, что значительно упрощает манипулирование этим объектом.
В зависимости от конкретного применения для установления связей между сигналами и свойствами анимируемых объектов и создания необходимого окружения из сигналов и переменных может использоваться ряд инструментов SimInTech:
- редактор связей – используется для организации информационного обмена между графическим объектом и другими объектами проекта;
- редактор глобальных (общих) свойств – используется для создания глобальных свойств контейнера, необходимых для организации информационного обмена между контейнером и другими объектами проекта (глобальные свойства видны внутри родительского контейнера и на один уровень выше);
- редактор внутренних сигналов – используется для создания сигналов, используемых для внутренних вычислений в контейнере (данные сигналы видны внутри родительского контейнера и на один уровень выше);
- редактор внутренних переменных – используется для создания переменных, используемых для внутренних вычислений в контейнере (данные переменные видны только на уровне родительского контейнера);
- редактор скриптов – используется для реализации вычислений на уровне СОП, либо внутренних вычислений в контейнере.
Связь между сигналами и свойствами графического объекта (примитива или контейнера), может быть описана с помощью редактора связей, либо с помощью скрипта, написанного на встроенном языке программирования. Создание связи с помощью редактора связей – это наиболее простой и наглядный способ, в то время как программный код является более гибким средством и предоставляет пользователю больше возможностей. Допускается одновременное использование обоих вариантов.
Для графических примитивов, вставляемых непосредственно в СОП, возможные схемы добавления анимации можно проиллюстрировать следующим образом.

Передача значений в направлении от свойств графического примитива к сигналам функционирует не для всех свойств примитивов.
Для организации обмена данными между сигналами проекта или базы данных и содержимым контейнера необходимо дополнительно использовать механизм глобальных или общих свойств контейнера. Необходимость его использования обусловлена областями видимости переменных в SimInTech: значения свойств объектов и скриптовых переменных, используемых внутри графического контейнера, не видны вне этого контейнера. Тем не менее, во внутреннем скрипте контейнера можно обращаться к внешним сигналам как для чтения, так и для записи.


Основные этапы внедрения в проект анимированных объектов таковы:
- Компоновка изображения, которое должно стать анимированным, определение свойств объектов, которые должны будут изменяться на основе значений сигналов.
- Создание необходимого набора сигналов в проекте, в базе данных. При добавлении анимации в графические контейнеры дополнительно необходимо создать набор глобальных свойств для обмена значениями между объектами контейнера и внешними сигналами. Также могут понадобиться наборы внутренних сигналов и локальных переменных.
- Описание связей между сигналами проекта, базы данных и свойствами объектов, выбранными в первом пункте.
Подробнее данные этапы рассмотрены в примерах.
Для того, чтобы анимация отображалась в процессе расчета, нужно предварительно перевести
схемное окно проекта из режима "Редактирование" в режим "Индикация" нажатием кнопки
/
на панели инструментов схемного окна.

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