Приёмы работы / Моделирование |
Рассмотрены способы задания сигналов проекта, возможности их применения.
При работе с большим количеством блоков, использующих одинаковые значения свойств, перед пользователем возникает задача задания этих свойств и их значений. По сути речь идет о глобальных переменных проекта, или комплексной модели, причем доступ к этим переменным необходимо получать в каждом модуле комплексной модели. Такие глобальные переменные в SimInTech принято называть сигналами. SimInTech позволяет решить задачу определения сигналов несколькими способами:
Первые два способа определяют хотя и глобальные сигналы проекта, но они будут «видны» только внутри данного проекта. Третий способ определяет некие глобальные сигналы, значениями которых проект может «обмениваться» с другими проектами (моделируемыми в пакете, например). С точки зрения проекта («снизу»), все три способа задания сигналов проекта являются равнозначными и выбираются исходя из конкретных особенностей проекта. Исходя из этой равнозначности сигналов важно помнить, что недопустимо задание сигналов с одинаковыми именами разными способами.
Рассмотрим подробнее каждый из способов.
Для того, чтобы воспользоваться данным способом, необходимо открыть редактор сигналов проекта. Для этого нужно пройти в меню Сервис → Сигналы (см. Рисунок 1).
Рисунок 1. Вызов редактора сигналов проекта
После выбора данного пункта в меню откроется окно редактора сигналов проекта (см. Рисунок 2), в котором содержится таблица сигналов проекта и инструментарий для ее редактирования (в зависимости от загружаемого проекта список сигналов может быть либо пустым, либо c начальными сигналами).
Рисунок 2. Окно редактора сигналов проекта
Окно редактора содержит кнопки, которые находятся в нижней части, для изменения списка сигналов проекта (см. Рисунок 3):
Рисунок 3. Кнопки редактирования сигналов проекта
Список кнопок и их предназначение:
Таблица сигналов содержит следующие столбцы (см. Рисунок 4):
Рисунок 4. «Шапка» таблицы сигналов проекта с добавленными произвольными сигналами
Окно редактора сигналов проекта так же содержит два фильтра (см. Рисунок 5). Данные фильтры позволяют отображать сигналы, в которых содержится либо часть имени, либо часть названия, по которому происходит фильтрация.
Рисунок 5. Фильтры имени и названия
Фильтрация происходит следующим образом:
Для добавления нового сигнала в таблицу сигналов проекта необходимо:
Рисунок 6. Окно редактора сигналов проекта
Рисунок 7. Окно редактора сигналов проекта
Рисунок 8. Окно редактора сигналов проекта
После выполнения вышеуказанных действий сигнал будет добавлен в проект и его можно будет использовать в рамках всего проекта.
После добавления сигнала в строке добавленного сигнала пользователь по своему усмотрению может изменять начальные, заданные им имя, название, тип данных и прочие свойства.
Задание сигналов на через скрипт осуществляется с помощью внутреннего скриптового языка программирования с использованием стандартных способов задания. Объявленные таким образом сигналы (явно заданные типизированные переменные и константы языка программирования) будут видны в рамках всего проекта.
Для того, чтобы задать сигналы таким способом нужно нажать на кнопку Скрипт в окне проекта (см. Рисунок 9).
Рисунок 9. Кнопка "Скрипт" на листе проекта
В качестве примера ниже приведён фрагмент скрипта для задания сигналов (см. Рисунок 10).
Рисунок 10. Окно скрипта проекта
Этот способ требует создания или подключения файла базы данных проекта. Нужный пользователю сигнал заносится в базу данных, в ней же прописываются свойства сигнала, а расчетная схема подключается к базе данных. После этого имя сигнала можно использовать для задания свойств во всех блоках, в которых это необходимо.
Подключение к базе данных осуществляется в параметрах проекта, в которые можно войти либо с листа проекта (см. Рисунок 11), либо из главного меню SimInTech (см. Рисунок 12).
Рисунок 11. Иконка вызова параметров проекта с листа проекта
Рисунок 12. Иконка вызова параметров проекта из главного меню SimInTech
Для того, чтобы подключиться к базе данных, необходимо после входа в параметры проекта переключиться на вкладку настройки, где нужно заполнить сроки «Модуль базы данных проекта» и «Имя базы данных проекта» (см. Рисунок 13).
Рисунок 13. Подключение базы данных к проекту
После подключения пользователю становится доступна подключенная база данных, редактор которой открывается из главного меню SimInTech по ссылке Инструменты → База данных (см. Рисунок 14).
Рисунок 14. Вызов базы данных проекта
После инициализации ссылки откроется окно редактора базы данных сигналов (см. Рисунок 15).
Рисунок 15. Редактор базы данных сигналов
Используя инструменты редактора базы данных сигналов, пользователь может задать необходимые для работы схемы сигналы.
Преимуществом использования базы данных сигналов является то, что в случае создания пользователем пакета проектов, к которому подключена база данных сигналов, либо организации распределённого (по сети) расчета, сигналы из базы данных будут видны во всех проектах этого пакета.
Большинство блоков в SimInTech поддерживает два режима работы:
Одиночный режим обычно используется, например, для разработки нетиповых схем управления оборудованием, когда объект управления обладает некоторыми индивидуальными отличиями от других объектов управления.
Работа во втором режиме позволяет создавать и обрабатывать алгоритмы для произвольного количества объектов управления, схема работы которых идентична друг другу. Примером таких алгоритмов могут служить алгоритмы управления задвижками, насосами и т.п.
Для работы с таким оборудованием достаточно единожды набрать схему из векторизованных блоков, в свойствах которых указать количество объектов управления (оно может быть, как постоянным, в случае, если точное количество объектов управления известно до написания алгоритма, так и быть изменяемым, если количество объектов управления не известно до написания алгоритма). Векторная схема будет обсчитывать каждый элемент вектора в зависимости от приходящих входных сигналов.
Задание векторного массива может происходить как непосредственно в блоке (см. Рисунок 16), так и за его пределами, т.е. в свойства блока прописывается лишь сигнал, отвечающий за размерность массива (см. Рисунок 17).
Рисунок 16. Задание размерности массива непосредственно в блоке (на рисунке – блок «Константа»)
Рисунок 17. Задание размерности массива c помощью переменной (на рисунке – блок «Константа»)
Значение элементов массива так же может быть задано за пределами блока внешним сигналом. В этом случае запись значения блока будет выглядеть так, как приведено на Рисунок 18.
Рисунок 18. Задание размерности массива и значения каждого из элементов с помощью внешних сигналов