Введение в SimInTech

Что такое SimInTech

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

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

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

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

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

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

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

Для создания моделей используются шаблоны проектов, которые наиболее полно удовлетворяют решению того или иного спектра задач. В базовом дистрибутиве SimInTech доступны 7 шаблонов: схема модели общего вида, схема надежности, схема теплогидравлическая, схема ТРР, схема электрическая, пакет проектов и пустой проект.

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

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

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

Рисунок 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 создаются на основе шаблона расчетной схемы. Каждый шаблон подходит для решения определенного круга инженерных задач, содержит заранее определенный решатель и соответствующие настройки.

Список шаблонов, доступных пользователю, зависит от установленной конфигурации SimInTech. В базовой версии 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-й способ – комбинированный способ путем задания интерпретируемого выражения.

Часто при задании свойств используются встроенная в интерпретатор SimInTech константа «Pi», численно равная «π».

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

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

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

    Рисунок 14. Окно проекта с выделенной кнопкой «Скрипт».

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

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

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

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

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

NordWind – исполнительная система реального времени, которая позволяет запускать сформированные алгоритмы на контроллере.

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

SimInTech решает задачи моделирования объектов ВПК/ОПК, энергетических объектов, атомных объектов, нефтегазовых объектов, аэрокосмических объектов, транспортных объектов и других.

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

SimInTech

Перечень библиотек:

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

SimInTech обладает генератором кода Си и кода ST, который позволяет произвести сборку исполняемого кода для различных операционных систем и микроконтролеров:

Автоматический генератор кода SimInTech для дисплеев позволяет сохранить графические изображения в виде файлов в форматах «xml» и «svg», которые могут быть интерпретированы плеером видеокадров, работающим под операционными системами QNX/КПДА.

NordWind

Исполнительная система реального времени NordWind для исполнения сгенерированного кода на целевой системе (контроллере) обладает модульной (микроядерной) архитектурой, позволяющей гибко настроить контроллер.

NordWind содержит следующие модули:

Среда реального времени NordWind работает на целевой системе (контроллерах) под операционными системами QNX/КПДА и Linux.

SimInTech - отечественная альтернатива программным продуктам SimuLink (MathWorks), Dymola (Dassault), AMESim (Siemens), SCADE (ANSYS), VisSim (Visual Solutions), SimulationX (ESI ITI GmbH), Modelica, LabVIEW (National Instruments), SIMetrix/SIMPLIS, PSIM, ETAP и другим.

«Среда динамического моделирования технических систем SimInTech» (свидетельство о регистрации программ для ЭВМ №2010617758).

«Исполнительная среда реального времени NordWind» (свидетельство о регистрации программ для ЭВМ №2015610810).

SimInTech находится в реестре российских программ.