Подключение проекта SimInTech
![]() |
![]() |
|
| в палитре | на схеме |
Описание
Блок позволяет проводить множественное моделирование проектов SimInTech с различными входными значениями. Блок предназначен для использования в родительском проекте, который будет запускать дочерний проект. Блок считывает значения с входных портов, открывает дочерний проект, передает в него значения входных сигналов, производит моделирование дочернего проекта, считывает из него значения выходных сигналов, передает их на выходные порты и закрывает дочерний проект.
В режиме обмена "На каждом шаге" на входные порты могут подаваться скалярные или векторные сигналы произвольной размерности. Блок будет производить обмен данными и запуск моделирования дочернего проекта на каждом шаге интегрирования. Размерности выходных скалярных или векторных сигналов должны задаваться в свойстве "Массив размеров выходных векторов".
В режиме обмена "На первом шаге" на входные порты должны подаваться векторные сигналы одинаковой размерности, заданной в свойстве "Размер входных векторов". Блок произведет обмен данными и запуск моделирования дочернего проекта несколько раз на первом шаге интегрирования. Количество запусков определяется размером входных векторов. При первом запуске моделирования в дочерний проект будут передаваться первые элементы входных сигналов, при втором запуске - вторые и т. д. Выходные сигналы будут иметь размерность входных сигналов и содержать результаты моделирования при соответствующих входных сигналах.
Имена сигналов не должны пересекаться с именами блоков в дочернем проекте. Рекомендуется задавать имена сигналов уникальными в пределах дочернего проекта. Допускается совпадение имен входных сигналов с именами параметров расчета дочернего проекта, в этом случае соответствующим параметрам расчета дочернего проекта будут присвоены значения, считанные из входных портов блока Подключение проекта SimInTech в родительском проекте. Допускается совпадение имен выходных сигналов с именами системных переменных дочернего проекта, в этом случае в выходные порты блока Подключение проекта SimInTech в родительском проекте будут переданы значения соответствующих системных переменных дочернего проекта.
Входные порты
Количество и имена входных портов задаются в свойствах блока. Каждому входному сигналу соответствует входной порт с соответствующим именем.
Выходные порты
Количество и имена выходных портов задаются в свойствах блока. Каждому выходному сигналу соответствует выходной порт с соответствующим именем.
Свойства
| Название | Имя | Описание | По умолчанию | Тип данных |
|---|---|---|---|---|
| Имя запускаемого проекта | file_path | Путь к файлу с запускаемым проектом SimInTech | Вспомогательный проект.prt | Имя файла |
| Задать имена сигналов вручную | use_signals | Указывает необходимость вручную задавать имена сигналов передаваемых в дочерний проект и считываемых из дочернего проекта. Если данный пункт неактивен, то имена сигналов будут формироваться автоматически: входные сигналы – "in_0", "in_1" и т. д., выходные сигналы – "out_0", "out_1" и т. д. | Нет | Двоичное |
| Количество входных сигналов | in_count | Указывает количество входных сигналов, считываемых из входных портов блока и передаваемых в дочерний проект (свойство доступно при деактивированном пункте "Задать имена сигналов вручную") | 1 | Целое |
| Количество выходных сигналов | out_count | указывает количество выходных сигналов, считываемых из дочернего проекта и передаваемых в выходные порты блока (свойство доступно при деактивированном пункте "Задать имена сигналов вручную") | 1 | Целое |
| Имена входных сигналов | in_signals | Строка, содержащая имена входных сигналов, разделенные через запятую "," или точку с запятой ";" (свойство доступно при активированном пункте "Задать имена сигналов вручную") | in_signal | Текст |
| Имена выходных сигналов | out_signals | строка, содержащая имена выходных сигналов, разделенные через запятую "," или точку с запятой ";" (свойство доступно при активированном пункте "Задать имена сигналов вручную"); | out_signal | Текст |
| Режим обмена | exchange_type | Режим работы блока ("На первом шаге"/"На каждом шаге") | На каждом шаге | Перечисление |
| Размер входных векторов | in_size | Размер векторов, подаваемых на входные порты блока (свойство доступно в режиме обмена "На первом шаге") | 1 | Целое |
| Массив размеров выходных векторов | out_size | Массив с размерностями выходных портов блока. Количество элементов данного массива должно совпадать с количеством выходных сигналов (свойство доступно в режиме обмена "На каждом шаге") | [1] | Целый массив |
| Моделировать динамический процесс | dynamic | При активации данного пункта конечное время моделирования дочернего проекта будет определяться значением свойства "Конечное время моделирования". При деактивации данного пункта конечное время моделирования стороннего проекта равно 0 (проект будет инициализирован и остановлен) | Нет | Двоичное |
| Конечное время моделирования, с | stop_time | Конечное время моделирования стороннего проекта (свойство доступно при активированном пункте "Моделировать динамический процесс") | 10 | Вещественное |
| Количество параллельных процессов | async_count | Количество параллельных потоков моделирования стороннего проекта (свойство доступно в режиме обмена "На первом шаге") | 8 | Целое |
Параметры
Блок не имеет параметров.
Примеры
Демонстрационные примеры использования данного блока приведены в директории установки SimInTech:%PROGRAMM_DIR%\Demo\Обмен данными (сетевой, межпрограммный, межфайловый обмен)\Подключение проекта SimInTech\.
