Введение в SimInTech

Что такое SimInTech?

SimInTech – программное обеспечение для разработки математических моделей, алгоритмов управления, мнемосхем и видеокадров, обладающее возможностью автоматической генерации кода для программируемых контроллеров.

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

Концепция создания модели в SimInTech

SimInTech обладает широкими возможностями для организации вычислений, связанных с решением алгебраических и дифференциальных уравнений.

Математические модели в SimInTech создаются в визуальном виде с использованием функционально-блочного программирования при помощи блоков, которые содержатся в различных библиотеках.

Для создания математических моделей SimInTech содержит библиотеки:
  • теплогидравлики
  • электротехники
  • электрических приводов
  • силовых гидравлических/пневматических машин
  • механических взаимодействий
  • баллистики космических аппаратов
  • динамики полета летательных аппаратов в атмосфере
  • и т. д.

В SimInTech возможна разработка как простых моделей, подробно описывающих поведение какой-либо системы (например, RLC-контур с источником питания), так и сложных моделей, которые подробно описывают не только саму систему, но и алгоритмы управления, защиты, графический интерфейс системы управления и пр.

Для создания моделей применяются шаблоны проектов, которые оптимально подходят для решения определенного круга задач.

В базовом дистрибутиве SimInTech доступны 7 шаблонов:
  • схема модели общего вида
  • схема теплогидравлическая
  • схема ГПС
  • схема БТС
  • модуль анализа надежности
  • схема электрическая
  • web-интерфейс

В зависимости от выбранного шаблона в палитру блоков подгружаются соответствующие ему библиотеки блоков. Ряд шаблонов содержит заранее подготовленный список сигналов и/или базу сигналов, подключенную к шаблону.

Для организации обмена данными между расчетными схемами, созданными в разных шаблонах, используется база данных сигналов – структурированное хранилище переменных, используемых в одном или нескольких проектах, входящих в состав сложной модели.

Концепция применения базы данных сигналов для создания сложных комплексных моделей, представлена на рисунке (Рис. 1).

Для создания сложных моделей в SimInTech можно применять пакет проектов, который позволяет объединить несколько моделей, которые находятся в разных проектах, в единую расчетную модель.


Рис. 1. Концепция построения комплексной модели в SimInTech.
База данных сигналов SimInTech является объектно-ориентированной и предназначена для решения следующих задач:
  • передача данных между расчетными схемами комплексной модели
  • обеспечение возможности векторной обработки сигналов для типовых алгоритмов управления
  • объектно-ориентированное проектирование моделей
  • автоматизация создания и обработки переменных в комплексных моделях

Начало работы с SimInTech

Есть несколько базовых понятий, используемых при дальнейшей работе с SimInTech, с которыми необходимо ознакомиться для продолжения работы.

Запуск SimInTech можно осуществить:
  1. С помощью ярлыка: после установки SimInTech на рабочем столе создается ярлык. Чтобы запустить программу, дважды нажмите на него левой кнопкой мыши
  2. В зависимости от версии операционной системы:
    • для Windows XP, 7, 10 – с помощью стартового меню Пуск
    • для Windows 8, 8.1 – с помощью выбора соответствующего ярлыка на экране приложений
После запуска приложения на экране появится главное окно SimInTech (Рис. 2).


Рис. 2. Главное окно SimInTech
Главное окно содержит три области (сверху вниз):
  • Меню главного окна – позволяет производить настройку программы, управлять созданием, редактированием и расчетом разработанных моделей, содержит инструменты работы с базой данных, настройки параметров отображения главного окна и пр.
  • Панель кнопок – настраиваемая область с набором кнопок, отвечающих за ряд часто используемых команд. Данная панель служит для ускорения доступа к этим командам. Кнопки на данной панели разбиты по группам в соответствии с выполняемыми функциями
  • Палитра блоков – набор блоков, который используется для создания математических моделей в активном проекте. Разработка моделей с использованием блоков – это один из способов разработки моделей в SimInTech. Блоки в палитре блоков сгруппированы по библиотекам с учетом общих признаков (например, вкладка Операторы общетехнической библиотеки блоков содержит блоки, отвечающие за различные математические действия: сложение, вычитание, умножение, деление и пр.). Набор блоков в палитре блоков изменяется в зависимости от выбранного типа решателя схемы, то есть, когда выбран решатель Автоматика, то отображается палитра блоков для реализации общих схем, а когда выбран решатель Теплогидравлика, то отображается набор блоков для реализации теплогидравлических моделей

Возможно изменение отображения групп кнопок на усмотрение пользователя.

Для того, чтобы отобразить или скрыть группы кнопок, необходимо нажатием правой кнопкой мыши по области кнопок вызвать выпадающее меню, в котором активировать или деактивировать видимость нужных групп кнопок в главном окне (Рис. 3).


Рис. 3. Главное окно SimInTech с контекстным меню
Для отображения палитры блоков в виде дерева (Рис. 5) необходимо нажать на кнопку Библиотека блоков (Рис. 4).


Рис. 4. Главное окно SimInTech с кнопкой отображения палитры блоков в виде дерева


Рис. 5. Палитра блоков в виде дерева

Все новые проекты в SimInTech создаются на основе шаблона расчетной схемы.

Создание новой расчетной схемы осуществляется одним из двух способов:
  1. В главном меню нажмите кнопку ФайлНовый проект и из выпадающего списка выберите шаблон расчетной схемы
  2. Нажмите кнопку Новый проект на панели кнопок (данная кнопка находится в группе Файл, поэтому если она не отображена в основном окне, то необходимо нажатием правой кнопкой мыши по главному окну SimInTech вызвать меню настройки видимости групп и активировать для отображения группу кнопок Файл), после чего в выпадающем списке выберите подходящую расчетную схему

После выполнения действий на экране появится окно нового проекта.

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

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

Окно проекта является типовым, и строение его одинаково для всех шаблонов, входящих в SimInTech.

Данное окно содержит следующие области (Рис. 6):
  • 1 область – меню окна проекта
  • 2 область – панель инструментов
  • 3 область – рабочая область окна проекта
  • 4 область – строка отображения расчетной информации


Рис. 6. Области окна проекта SimInTech

Меню окна проекта отвечает за настройку визуального отображения областей окна проекта и расчетной схемы. Также в этой области указан режим отображения схемы.

Панель инструментов представляет собой набор объектов для настройки и управления расчетной схемой, которые делятся на две группы: Слои и Расчет (Рис. 7). Для изменения отображения данных групп на схемном окне необходимо либо выбрать меню Вид, нажать на кнопку Панель инструментов и активировать/деактивировать соответствующие пункты, либо нажать правой кнопкой мыши по области кнопок и активировать/деактивировать соответствующие пункты в контекстном меню.


Рис. 7. Окно проекта с выделенной панелью инструментов
В первой группе содержатся следующие объекты (Рис. 7):
  • Возврат из субмодели – кнопка выхода из блока Субмодель (становится активной, когда пользователь вошел в блок Субмодель)
  • Скрипт – кнопка доступа к редактору скрипта проекта
  • Параметры расчёта – кнопка доступа к окну изменения параметров моделирования
  • Выбор решателя – поле активации и отображения выбранного пользователем решателя
  • Индикация/Редактирование – кнопка выбора режима отображения схемы
  • Визуальные слои – кнопка работы с визуальными слоями проекта
  • Показать значения на линиях связи – кнопка активации отображения значений на линиях связи (присутствует только в шаблонах Схема модели общего вида, Схема электрическая, Схема ГПС и Схема БТС)
Во второй группе содержатся кнопки управления моделированием (Рис. 7):
  • Инициализация – позволяет инициализировать расчетную схему, но не запускает ее моделирование
  • Пуск – позволяет инициализировать и запустить моделирование расчетной схемы
  • Сделать шаг – позволяет инициализировать расчетную схему и выполнить один расчетный шаг
  • Пауза – позволяет остановить процесс моделирования, после чего моделирование может быть продолжено
  • Стоп – позволяет завершить процесс моделирования без возможности его продолжения
  • Синхронизация с реальным временем – позволяет активировать синхронизацию расчетного времени модели с реальным временем
  • Менеджер данных – кнопка активации окна менеджера данных проекта
  • База данных – кнопка вызова редактора базы данных (становится активной в случае, если к проекту подключен файл базы данных)
Для окна проекта доступны два режима отображения рабочей области:
  • режим редактирования
  • режим индикации

Каждый из режимов активирует свои инструменты при работе с окном проекта в процессе моделирования. Если активен режим редактирования, то в процессе моделирования доступен просмотр параметров блоков, изменение их свойств и пр., режим индикации переводит окно проекта в режим мнемосхемы, в котором блоки становятся неактивными для редактирования свойств и просмотра параметров, а у части блоков при совершении определенных действий появляются визуальные окна текущего состояния блока и управления им.

Перевод из одного режима в другой осуществляется с помощью кнопки Индикация/Редактирование, расположенной на панели инструментов настройки проекта и управления процессом моделирования. Режим, который на данный момент выбран пользователем для окна проекта, отображается в меню окна проекта (Рис. 8).


Рис. 8. Окно проекта с выделенными режимом отображения

В рабочей области окна проекта при помощи блоков, находящихся в палитре блоков, происходит создание и редактирование ранее разработанных моделей, создание собственных блоков и многое другое.

Чтобы поместить расчетный блок в рабочую область окна проекта:

  1. Выберите вкладку в палитре блоков, в которой находится нужный блок
  2. Одинарным нажатием левой кнопкой мыши выберите блок, который необходимо установить в рабочей области окна проекта: как только блок будет выбран, появится его подсветка в палитре блоков. При появлении курсора мыши в пределах рабочей области, вид курсора мыши изменится: появится выбранный блок, а вместо курсора появится крестообразный указатель места установки для этого блока
  3. Выберите место установки блока в рабочей области окна проекта
  4. Одинарным нажатием левой кнопкой мыши установите блок в рабочей области окна проекта
Строка отображения расчетной информации позволяет контролировать ход моделирования, а также позволяет оперативно изменять масштаб отображения в рабочей области окна проекта (при нажатии левой кнопкой мыши по полю Масштаб, появится окно изменения масштаба (Рис. 9)), включать и отключать сетку рабочей области окна проекта одинарным нажатием левой кнопкой мыши по полю Сетка, включать и отключать привязку объектов к сетке одинарным нажатием левой кнопкой мыши по полю Привязка.


Рис. 9. Окно Масштаб

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

При инициализации проекта интерпретатором SimInTech будет произведено считывание заданных значений свойств блоков, проверка правильности задания свойств в блоках, соединения блоков между собой и пр., а затем, при отсутствии ошибок, будет доступен запуск моделирования.

Запуск процесса моделирования осуществляется следующими способами:
  • 1 способ – нажать на кнопку Инициализация, а затем на кнопку Пуск или Сделать шаг – при выборе данного способа сначала происходит считывание заданных значений свойств блоков, проверка интерпретатором схемы правильности задания свойств, проверка правильности соединения блоков между собой и пр., а затем в зависимости от нажатой далее кнопки либо запускается процесс моделирования, либо проект делает один расчетный шаг с параметрами, указанными в параметрах расчета проекта
  • 2 способ – нажать на кнопку Пуск – при выборе данного способа инициализация схемы происходит автоматически, и после инициализации сразу запускается процесс моделирования с параметрами, указанными в параметрах расчета проекта
  • 3 способ – нажать на кнопку Сделать шаг – при выборе данного способа инициализация схемы происходит автоматически, проект делает один расчетный шаг
Задание свойств блока осуществляется при помощи окна свойств блока. Вызов окна свойств осуществляется тремя способами:
  1. В режиме редактирования двойным нажатием левой кнопкой мыши по блоку открыть окно Свойства
  2. Выделив блок, одинарным нажатием правой кнопкой мыши вызвать контекстное меню и выбрать пункт Свойства объекта (Рис. 10).


    Рис. 10. Рабочая область проекта с отмеченным в контекстном меню блока пунктом "Свойства объекта"
  3. Выделив блок, нажать на панели кнопок кнопку Свойства (Рис. 11).


    Рис. 11. Главное окно SimInTech с выделенной кнопкой Свойства
После выполнения одного из вышеописанных действий на экране появится окно Свойства (Рис. 12).


Рис. 12. Окно Свойства на примере блока Синусоида
Окно свойств блока содержит три области (Рис. 13):
  • 1-я область – область вкладок
  • 2-я область – в зависимости от активной вкладки будет отображаться список свойств/список параметров/список общих свойств/список визуальных слоев/редактор портов
  • 3-я область – область кнопок


Рис. 13. Области окна Свойства
В области вкладок в зависимости от выбранного блока отображаются следующие вкладки:
  • Свойства – расчетные свойства блока, непосредственно влияющие на процесс его моделирования – отображается при наличии свойств у блока
  • Параметры – список параметров блока, которые рассчитываются в процессе моделирования и отображают текущее состояние блока
  • Общие – базовые свойства блока, такие как имя, тип, координаты расположения в рабочей области окна проекта, видимость и другие – отображается постоянно
  • Порты – список и редактор входных/выходных портов блока – отображается при наличии у блока портов входа и выхода
  • Визуальные слои – редактор расположения блока на одном или нескольких визуальных слоях – отображается постоянно

Наиболее часто в процессе работы с блоком используются вкладки Свойства и Общие.

На вкладке Свойства отображается таблица свойств блока. При задании свойств блоков возможно использование трех различных способов (применительно к свойствам, для которых определен вещественный, либо целочисленный тип переменной):
  • 1-й способ – числовое задание
  • 2-й способ – задание с помощью переменной
  • 3-й способ – комбинированный способ путем задания интерпретируемого выражения

Свойство, заданное интерпретируемым выражением, будет автоматически обработано при нажатии на клавишу Enter или переводе курсора мыши в другую ячейку, а в случае, если в процессе моделирования будет происходить динамическое изменение одной или нескольких переменных, входящих в интерпретируемое выражение, то значение данного свойства будет вычисляться на каждом шаге моделирования. В интерпретируемом выражении помимо переменных доступно использование значений других свойств блока. Для этого достаточно записать ссылку на свойство по шаблону Self.<имя свойства> и добавить какие-либо математические действия: это удобно, если формула, по которой производится расчет, небольшая.

Разделителем целой и дробной частей при задании значений свойств является точка (".").

В области кнопок доступны следующие кнопки:
  • Справка – открывает страницу в справочной системе SimInTech, которая содержит информацию по блоку
  • Замена текста – открывает окно изменения свойств по шаблону
  • Поиск идентификатора в проекте – открывает окно поиска
  • Поиск идентификатора в базе сигналов – открывает окно редактора базы данных
  • Выбрать сигнал из базы – открывает редактор базы данных с возможностью выбора переменной для занесения ее в ячейку "Значение" выбранного свойства
  • Создать подписи – открывает окно подписи объектов
  • Создать график – если выделить какое-либо свойство, несколько свойств или все свойства, то открывает окно графика зависимости значения выбранного или выбранных соответствующих свойств от модельного времени
  • Создать окно просмотра – если выделить какое-либо свойство, несколько или все свойства, то открывает окно просмотра значения выбранного или выбранных соответствующих свойств, а также текущее время расчета
  • Инициализировать объекты – производит инициализацию блока
SimInTech имеет собственный встроенный скриптовый язык программирования, в котором с помощью операторов и функций доступно решение таких задач, как:
  • расчет математических выражений и уравнений
  • работа над векторами и матрицами
  • управление отображением графических примитивов
  • реализация простых алгоритмов управления для настройки и отладки моделей
Вызов редактора скриптового языка программирования для текущего активного проекта осуществляется двумя способами:
  1. Нажатием на кнопку Скрипт на панели кнопок окна проекта (Рис. 14).


    Рис. 14. Окно проекта с выделенной кнопкой Скрипт
  2. Нажатием на кнопку Скрипт в главном окне программы (Рис. 15).


    Рис. 15. Главное окно SimInTech с выделенной кнопкой Скрипт