Copyright: МВТУ версия 3.5 от 01.10.2004 г.


Методика изложения в «Краткой Инструкции Пользователя»
О методике обучения в «Краткой Инструкции Пользователя»

В разделе «Краткая Инструкция Пользователя» приведено описание основных процедур работы в среде ПК «МВТУ» во всех режимах функционирования программного комплекса.

Методика  изложения Краткой Инструкции Пользователя основана на принципе step by step (шаг за шагом).

Начинающему Пользователю предлагается в режиме пошаговых инструкций выполнить последовательно ряд учебных задач (заданий) для каждого режима работы ПК «МВТУ»: МОДЕЛИРОВАНИЕ, АНАЛИЗ, ОПТИМИЗАЦИЯ, СИНТЕЗ, КОНТРОЛЬ и УПРАВЛЕНИЕ.

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

СТРУКТУРНАЯ СХЕМА САР

Состав и параметры САР:

Объект управления с передаточной функцией W_2 (s), соответствует типовому звену (колебательному) с параметрами: k2 = 1.0; T2 = 1 c; параметр демпфирования b = 0.5; начальные условия - нулевые.

Местная обратная связь с передаточной функцией W_3 (s), соответствует типовому звену - апериодическому 1-го порядка с параметрами: k3 = 0.6; T3 = 5 c.

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

Система автоматического управления (САР) в замкнутом состоянии при вышеуказанных исходных значениях параметров является неустойчивой.

В «Краткой Инструкции Пользователя» последовательность освоения процедур работы в среде ПК «МВТУ» реализована по принципу «от простого к сложному».

В процессе выполнения 1-го предложенного задания (освоение основных процедур работы в режиме МОДЕЛИРОВАНИЕ) начинающий Пользователь «с чистого листа» (точнее с «чистого» Схемного окна) по инструкциям формирует структурную схему, задает параметры блоков и параметры расчета, выполняет моделирование и убеждается, что, в самом деле, исходная САР неустойчива…

Далее Пользователь выполняет (по инструкции) коррекцию параметров САР, в результате которой замкнутая САР становится устойчивой…

Выполнив полностью 1-е предложенное задание (1-ю учебную задачу), начинающий Пользователь, в принципе, может самостоятельно моделировать в среде ПК «МВТУ» и свои «оригинальные» динамические системы…

Предлагаемые в «Краткой Инструкции Пользователя» последующие задания направлены на освоение новых методов (реализованных в ПК «МВТУ») формирования математической модели исследуемой системы, а также на освоение процедур работы и в других режимах работы программного комплекса «МВТУ» …

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


ВНИМАНИЕ: обязательно прочитай это…

Если Вы успешно выполнили Вашу 1-ю учебную задачу, то в нулевом приближении можно считать, что Вы уже умеете работать в среде ПК «МВТУ»…

Теперь Вы способны (точнее обязаны) самостоятельно сформировать несложную математическую модель динамики какого-то физического явления или элемента технической системы и выполнить расчет переходных процессов, используя освоенные Вами основные процедуры работы в режиме МОДЕЛИРОВАНИЕ…

Теперь у Вас есть 2 варианта продолжения освоения ПК «МВТУ»:

1-ый вариант: можно продолжить дальнейшее освоение процедур работы в режиме МОДЕЛИРОВАНИЕ, выполнив Вашу 2-ю учебную задачу, а затем перейти к освоению процедур работы в режиме АНАЛИЗ;

2-й вариант: сразу перейти к изучению процедур работы в режиме АНАЛИЗ, а выполнение Вашей 2-й учебной задачи временно отложить на потом…

Выбор за Вами…, но мы рекомендуем 1-й вариант…


Введение к 2-ой учебной задаче

При выполнении Вами ПЕРВОЙ учебной задачи были рассмотрены наиболее важные процедуры работы в среде ПК «МВТУ» применительно к моделированию динамических процессов в САР.  Структурная схема САР после выполнения ПЕРВОЙ учебной задачи имела вид, близкий рис. 1.

Рис. 1

Система автоматического регулирования в 1-ой учебной задаче относится к классу линейных САР. Поэтому математическая модель динамики САР сформирована из простейших линейных типовых блоков (звеньев), используя простейший способ описания САР - в переменных «вход-выход». Такой вид задания математической модели динамики САР вполне приемлем для  несложных  задач учебного плана…

Во многих учебных, и тем более в отраслевых задачах, дифференциальные уравнения динамики объекта исследования записываются в форме Коши, а именно: как система нелинейных дифференциальных уравнений 1-го порядка, разрешенных относительно производных. Попытка реализовать в переменных «вход-выход» даже простейшие нелинейные операции в правых частях уравнений, используя для этого соответствующие типовые блоки (*, /, sin, ln и т.п.), приводит к резкому увеличению размера структурной схемы. Поэтому формирование структурной схемы динамики САР с использованием только относительно простых типовых блоков является неэффективным: структурная схема становится «нечитаемой», так как, зачастую, не может быть полностью отображена в размерах одного экрана монитора...

При формировании относительно сложной структурной схемы САР (или другой динамической системы) целесообразно  мысленно (или на листе бумаги!) расчленить структурную схему на несколько отдельных, относительно не громоздких фрагментов.

Далее сформировать структурную  схему каждого фрагмента в виде отдельной субструктуры (Субмодели), имеющей входы и выходы (входные и выходные порты, соответственно), и затем набрать структурную схему всей  системы из Субмоделей…

Такой подход используется во многих ПК, реализующих методы структурного моделирования, в том числе и в ПК «МВТУ».

Однако в ПК «МВТУ» реализован и ряд новых методических решений, позволяющих качественно сократить количество блоков в структурной схеме (вплоть до порядков).

В рамках выполнения ВТОРОЙ учебной задачи будут рассмотрены наиболее значимые новые программно-методические решения, реализованные в ПК «МВТУ». Эти решения не имеют аналогов в отечественных и в большинстве известных зарубежных ПК подобной направленности.

Перейдем к «знакомству» с новыми методическими решениями…

Далее ==> Описание динамики САР в форме Коши


 Описание динамики САР в форме Коши

Новые программные возможности ПК «МВТУ» для формирования математической модели динамики объекта исследования рассмотрим в процессе выполнения Вами ВТОРОЙ учебной задачи, используя проект (структурную схему), сохраненный Вами на жестком диске при завершении 1-ой лабораторной работы…

В выполненной 1-ой учебной задаче Объект Управления описывался тремя блоками (звеньями): блоки с передаточными функциями W_2 (s) и   W_3 (s), а также блок Локальное сравнивающее устройство.

«Легко видеть», что динамика Объекта Управления в данной задаче описывается следующей системой линейных уравнений:

при нулевых начальных условиях, т.е.  y(0) = 0,  y ' (0) = 0,  y_oc (0) = 0.

Введя новые динамические переменные [image], можно привести математическое описание динамики Объекта Управления к форме Коши:

а начальные условия и для новых динамических переменных равны нулю.

К форме Коши можно привести математическое описание уравнений динамики и всей САР в целом, добавив к системе (2) уравнение динамики для интегрирующего регулятора (блок с подписью W_1(s))  и алгебраическое соотношение для Главного сравнивающего устройства. В этом случае система уравнений динамики САР, «подготовленная» для перехода к описанию в переменных состояния, примет вид:

После ввода очередных новых динамических переменных [image], равных [image], соответственно, описание динамики САР можно представить в матричной форме, а именно, в переменных состояния:

где вектор-столбец производных переменных состояния x'(t),  вектор-столбец переменных состояния x(t), матрица системы А, матрица входа В, матрица выхода С и матрица обхода D  равны (в этой задаче):

Далее ==> Формулировка заданий к 2-ой учебной задаче


 Формулировка заданий к 2-ой учебной задаче

Сформулируем отдельные подзадачи, которые Вам предстоит решить при выполнении ВТОРОЙ учебной задачи:

1.	Добавить к структурной схеме «основной» САР (см. рис. 1 в подразделе «Введение к 2-ой учебной задаче») новую «параллельную» САР в виде вложенной субструктуры (Субмодели).

2.	Задать коэффициенты системы уравнений «параллельной» САР через механизм Глобальных параметров.

3.	Задать описание уравнений динамики Объекта Управления в «параллельной» САР (см. систему (2) в подразделе «Описание динамики САР в форме Коши») с использованием «Нового» блока из библиотеки Динамические звенья.

4.	Задать описание уравнений динамики САР в целом (см. системы (3) и (4) в подразделе «Описание динамики САР в форме Коши») с использованием типового блока Переменные состояния из библиотеки Динамические звенья, расположенного внутри «параллельной» САР.

5.	Реализовать «беспроводный» обмен данными между «основной» и «параллельной» САР, используя блоки В память и Из памяти из библиотеки Субструктуры.

Следует заметить, что предложенные Вам в качестве отдельных подзадач пункты 2, 3 и 5 не могут быть выполнены в среде других программных комплексов аналогичной направленности (ни в отечественных, ни в зарубежных), а пункты 1 и 4 в полном объеме могут быть выполнены только в среде наиболее популярного зарубежного программного комплекса – в SIMULINK.

Далее ==> Создание «параллельной» САР в виде новой Субмодели


Сведения о Разработчике

Программный комплекс “Моделирование В Технических Устройствах” версия 3.5 разработан на кафедре “Ядерные реакторы и установки” (Э-7) Московского Государственного Технического Университета им. Н.Э. Баумана (МГТУ им. Н.Э. Баумана) в 2001...2004 г.г. авторским коллективом в составе:

Козлов О.С. - научный руководитель, доцент, к.т.н.

Ходаковский В.В. – руководитель группы, к.т.н.

Кондаков Д.Е. - научный сотрудник

Скворцов Л.М. - старший научный сотрудник, к.т.н.

Тимофеев К.А. - научный сотрудник

В создании для ПК “МВТУ” новой специализированной библиотеки Реакторные блоки участвовал Шепель О.Б. – дипломник кафедры Э-7 МГТУ им. Н.Э. Баумана

В создании для ПК “МВТУ” новой специализированной библиотеки Электромашины участвовал Щекатуров А.М. – студент 5-го курса кафедры Э-7 МГТУ им. Н.Э. Баумана

В создании ряда демонстрационных примеров к ПК “МВТУ” участвовал д.т.н. профессор Медведев В.С. - кафедра СМ-7 МГТУ им. Н.Э. Баумана

Авторы благодарны Фаронову В.В. за консультации в процессе разработки первых версий программного комплекса (версии 1.0 и 1.5), а также за идеи  ряда решений, реализованных в данной версии программного комплекса.

Адреc Разработчика: 107005, Москва, 2-я Бауманская ул., д. 5, МГТУ, кафедра Э-7, Козлов О.С.

Телефон Разработчика: (095) 263 - 62 –20


Назначение ПК Моделирование В Технических Устройствах
 Назначение ПК “Моделирование В Технических Устройствах”

Программный комплекс “Моделирование в технических устройствах” (“МВТУ”) - современная среда интеллектуального САПР, предназначенная  для детального исследования и анализа нестационарных процессов в ядерных и тепловых энергоустановках, в системах автоматического управления, в следящих приводах и роботах, в любых технических системах, описание динамики которых может быть реализовано методами структурного моделирования.

Может использоваться для моделирования нестационарных процессов в физике, в электротехнике, в динамике машин и механизмов, в астрономии  и т.д., а также для решения нестационарных краевых задач (теплопроводность, гидродинамика и др.).

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

Является альтернативой зарубежным программным продуктам Simulink, MATRIX, VisSim и др.

Программный Комплекс “МВТУ” реализует  режимы работы:

МОДЕЛИРОВАНИЕ, обеспечивающий:

-    моделирование нестационарных  процессов  в непрерывных, дискретных и    гибридных технических системах, в том числе и при наличии обмена данными (синхронный или асинхронный) с внешними программами и устройствами;

-    редактирование параметров структурной схемы и расчета в режиме “on-line”;

-    расчет в реальном времени или в режиме масштабирования модельного времени;

-    рестарт, архивацию и воспроизведение результатов моделирования;

-    выполнять статистическую обработку сигналов (в том числе и внешних), основанную на быстром преобразовании Фурье.

ОПТИМИЗАЦИЯ, позволяющий решать задачи:

-    параметрической оптимизации САУ и идентификации опытных данных;

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

АНАЛИЗ, обеспечивающий:

-    расчет амплитудно-фазовых частотных характеристик для любой линейной и большинства нелинейных систем (ЛАХ, ФЧХ, различные годографы и др.);

-    расчет коэффициентов, полюсов и нулей передаточных функций.

СИНТЕЗ, позволяющий:

-    реализовать синтез регуляторов по заданным частотным характеристикам;

-    реализовать синтез регуляторов по заданному расположению корней характеристического уравнения (полюсов передаточной функции).

КОНТРОЛЬ И УПРАВЛЕНИЕ, позволяющий:

-    создавать виртуальные аналоги  пультов управления с измерительными приборами и управляющими устройствами применительно к задачам оперативного контроля и управления рабочими процессами в технических системах;

-    создавать виртуальные аналоги  мнемосхем с мультимедийными эффектами (включая анимационные эффекты) применительно к задачам оперативного контроля и управления технологическими процессами.


Основные особенности и достоинства программного комплекса

-    открытость за счет реализации в ПК «МВТУ» нескольких механизмов обмена данными с внешними расчетными программами, а также за счет встроенного в ПК интерпретатора математических функций;

-    принцип вложенности структур (глубина вложенности неограниченная), что особо актуально при моделировании сложных динамических систем;

-    векторизация алгоритмов передачи и обработки  данных за счет реализации линий связи типа «шина» данных и векторизации входов/выходов  всех типовых блоков;

-    наличие наиболее полной Общетехнической и  ряда Специализированных библиотек типовых блоков, в т.ч. библиотеки теплофизических свойств основных рабочих тел;

-    наличие библиотеки Контроль и управление, что позволяет формировать в ПК «МВТУ» панели (щиты) приборов для отображения и оперативного управления  моделируемой системой в процессе расчета;

-    16 алгоритмов интегрирования, включая 10 новых эффективных алгоритмов (5 явных и 5 неявных) для жестких систем дифференциальных уравнений;

-    функционирование в любой версии WINDOWS, наличие подробной контекстной справочной системы, эффективность в отраслевых разработках и учебном процессе.


Использование в отраслевых разработках

 моделирование процессов в системах управления и защиты для расчетного обоснования алгоритмов комплексной системы контроля, управления и защиты (КСКУЗ) реакторов типа РБМК-1000;

 разработка динамической модели АСУ ТП энергоблока АЭС с реактором ВВЭР нового поколения для представительного комплекса Минатома РФ в ЭНИЦ – ИНВЕСТ г. Электрогорск;

 разработка математической модели динамики нейтронно-кинетических и теплогидравлических процессов в опытно-демонстрационной реакторной установке со свинцовым теплоносителем  РУ  БРЕСТ - ОД - 300 применительно к задачам проектного обоснования технологических систем автоматического управления;

 расчетное обоснование ядерной безопасности ядерных паропроизводящих установок (ЯППУ) для плавучих АЭС в штатных переходных режимах и в проектных аварийных ситуациях;

 моделирование переходных режимов и проектных аварийных ситуаций применительно к обоснованию ядерной безопасности проекта многоконтурной АС “Унитерм”, предназначенной для электро- и теплоснабжения удаленных районов Дальнего Востока и Крайнего Севера;

 создание динамической модели бимодальной космической ядерной энергодвигательной установки применительно к разработке методологии оценки ресурса активной зоны;

  цифровое моделирование следящих приводов, манипуляторов и робототехнических систем специального назначения;

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

 разработка динамической модели для прогнозирования и анализа режимов эксплуатации системы подземных хранилищ газа (ПХГ) в каменной соли.


Структура и состав корневого каталога в ПК «МВТУ»
Структура и состав ПК «МВТУ»

Различные версии ПК «МВТУ» (профессиональная,  демонстрационная, учебная, ограниченная учебная) имеет единую файловую структуру. На экранной копии ниже представлена структура каталога МВТУ_3_0.

Ядро ПК «МВТУ» размещено в подкаталоге BIN.

В подкаталоге DEMO размещено несколько подкаталогов с набором демонстрационных примеров из различных разделов техники.

Подкаталог DOC содержит документ WinWord 2000 (расширение .doc) с Краткой Инструкцией Пользователя.

Подкаталог PROJECTS предназначен для сохранения проектов (задач), которые будут созданы начинающим Пользователем (например, на стадии освоения процедур работы в среде ПК «МВТУ»).

Примечание: допускается переименование или копирование каталога МВТУ_3_0, созданного при  инсталляции ПК «МВТУ» на Вашем компьютере, в каталог с другим названием.


Структура подкаталога BIN в ПК «МВТУ»

Во всех  версиях ПК «МВТУ» подкаталог BIN имеет практически одинаковую файловую структуру (см. экранную копию ниже). В профессиональной версии перечень файлов с расширением . dll  более полный за счет включения в ПК «МВТУ» дополнительных  Специализированных библиотек типовых блоков.


Назначение файлов в подкаталоге BIN
Назначение файлов подкаталога BIN

Назначение файлов и подкаталога  BMP  приведено ниже:

Имя подкаталога	Назначение подкаталога или файла

или файла

BMP  	Каталог, предназначенный для хранения оригинальных пиктограмм типовых блоков (созданных Пользователем) в bitmap-формате;

Mbty. еxe 	Главный исполняемый файл, обеспечивающий: функционирование графического редактора и интерфейсных процедур; выбор и управление численными алгоритмами расчета и т.д.;

Mbty.dat 	Файл, обеспечивающий «разрешение» запуска  ПК «МВТУ»;

UnInstal.exe 	Исполняемый файл, обеспечивающий удаление ПК «МВТУ» (каталог на жестком диске и соответствующая папка в меню Программы оболочки WINDOWS);

UnInstal.dat 	Файл, обеспечивающий «разрешение» на процедуру удаления ПК «МВТУ» (каталог с жесткого диска и папку из меню Программы);

About.dll 	Дополнительный исполняемый файл, обеспечивающий вызов заставки ПК «МВТУ»;

Bmplib. dll  	Дополнительный исполняемый файл, обеспечивающий вызов стандартных пиктограмм типовых блоков;

Hclib.dll  	Вспомогательный исполняемый файл, обеспечивающий работу блоков Специализированной библиотеки Теплопроводность;

Kinlib.dll  	Вспомогательный исполняемый файл, обеспечивающий работу Специализированной библиотеки Кинетика нейтронов;

robot.dll  	Вспомогательный исполняемый файл, обеспечивающий расчетные процедуры Специализированной библиотеки Роботы;

Robotlib.dll  	Вспомогательный исполняемый файл, обеспечивающий вызов и работу специализированного блока Многозвенный робот;

Statlib.dll 	Вспомогательный исполняемый файл, обеспечивающий работу блоков Специализированной библиотеки Статистика;

Stdlib. dll 	Дополнительный исполняемый файл, обеспечивающий работу Общетехнической библиотеки типовых блоков;

Vodalib. dll  	Вспомогательный исполняемый файл, обеспечивающий работу ряда блоков Специализированной библиотеки Свойства;

Mbty. cnt 	Вспомогательный файл справочной системы;

Mbty. hlp 	Основной файл справочной системы;

Voda. tbl  	Файл данных (электронная таблица) со свойствами воды и пара.


Назначение файлов в подкаталоге DEMO

В подкаталог DEMO типовой комплектации ПК «МВТУ» включены файлы демонстрационных примеров, соответствующих как широко известным («классическим») динамическим задачам, так и менее известным задачам из ряда технических дисциплин.

Демонстрационные примеры отсортированы по отдельным  подкаталогам (поддиректориям) в соответствии с используемыми методами анализа динамики систем автоматического управления или в соответствии с технической направленностью примеров, причем подкаталог …\DEMO\ROBOT  содержит внутри себя еще 2 подкаталога с демонстрационными примерами по динамике следящих приводов с непрерывным и цифровым (дискретным) управлением, соответственно.

Перечень подкаталогов и примеров приведен ниже:

Имя файла 	Назначение демонстрационного примера

Подкаталог DEMO\ADAPT

adap_pi. mrj 	Моделирование адаптивного ПИ-регулятора; *)

adap_pid. mrj 	Моделирование адаптивного ПИД-регулятора; *)

Подкаталог DEMO\FREQUEN

fre_a_pi. mrj 	Частотные характеристики при адаптивном ПИ-регулировании; *)

Подкаталог DEMO\IDENTIF

freqpar. mrj 	Определение амплитуды и фазы АФЧХ управляемой САР;

ident_2.mrj 	Определение параметров АФЧХ управляемой САР;

Подкаталог DEMO\LAB_WORK

lab83_11. mrj 	Промежуточный  этап демонстрационно-ознакомительной задачи из «Краткой Инструкции Пользователя»;

lab83_21. mrj 	Заключительный этап  демонстрационно-ознакомительной задачи из «Краткой Инструкции Пользователя»;

Подкаталог DEMO\MIXT

fas_port. mrj 	Исследование нелинейной динамической системы 2-го порядка на фазовой плоскости; *)

galaktik.mrj 	Моделирование орбит звезд и звездных скоплений в гравитационном поле Галактики;

int_vdp3.mrj 	Моделирование уравнения Ван-дер-Поля при 3-х начальных условиях с использованием интерпретатора математических функций;

lorenz_3. mrj 	Моделирование странного аттрактора Лоренца;

sbo_gork. mrj 	Моделирование системы «самолет – б…а - осколки»; *)

vdp5_20.mrj 	Моделирование «сверхжесткого» уравнения Ван-дер-Поля с использованием метода структурного моделирования;

vdp2_29.mrj 	Моделирование «сверхжесткого» уравнения Ван-дер-Поля с использованием интерпретатора математических функций;

wim. mrj 	Моделирование широтно-импульсной модуляции;

Подкаталог DEMO\OPTIM

opt_pid.mrj 	Синтез оптимального ПИД-регулятора по 3-м критериям;

opt_pidd.mrj 	Коррекция ПИД-регулятора по 3-м критериям;

Подкаталог DEMO\REACTORS

int_reak.mrj 	Моделирование динамики простейшей САР ядерного реактора с использованием интерпретатора математических функций;

lab_83.mrj 	Моделирование динамики САР ядерного реактора в режиме реального времени с учетом обратных связей и нелинейности характеристик стержня и привода СУЗ;

lad8reak.mrj 	Моделирование динамики САР ядерного реактора при наличии управляющих и возмущающих воздействий с учетом обратных связей и нелинейности характеристики стержня СУЗ;

reak_lab.mrj 	Исследование режима автоколебаний в релейном автоматическом регуляторе мощности реактора типа РБМК с использованием метода структурного моделирования;

Подкаталог DEMO\ROBOT

Подкаталог 	Моделирование динамики следящих приводов с непрерывным

…\CONTIN 	управлением (8 примеров);

Подкаталог 	Моделирование динамики следящих приводов с цифровым

…\DISKRET 	(дискретным) управлением (6 примеров).

Примечание.   Примеры с меткой *) не моделируются в ограниченной учебной версии, так как в них число дифференциальных переменных превышает ограничение (не более 10 дифференциальных переменных).


Командное меню Главного Окна

Главное Окно  программного комплекса «МВТУ» имеет следующие меню:

- Файл:

- Создать (F3)	- Протокол

- Открыть (Ctrl + F3)	- Печать... (Ctrl + P)

- Сохранить... (F2)	- Установки печати…

- Сохранить как ... (Ctrl + F2)	- Выход

- Опции:

- Настройки…	- Поиск переменной в области памяти…

- Настройка палитры	- Повторить поиск в области памяти…

- Поиск блока….	- Графики

- Повторить поиск блока (Ctrl + R)	- Навигатор

- Поиск переменной….	- Показать панели

- Повторить поиск переменной (Ctrl + G)	- Перемещать палитру

- Стиль:

- Шрифт подписи блока (Ctrl + F)	- Рисовать обрамление

- Цвет линий (Ctrl + C)	- Установить имена блоков

- Фон блока (Ctrl + B)	- Очистить имена блоков

- Фон окна (Ctrl + W)	- Очистить подписи блоков

- Подпись блока

- Моделирование:

- Начать (F9)	- Параметры расчета...(F10)

- Останов (Shift + F9)	- Окно сообщений

- Расчет (Ctrl + F9)	- Отладочная информация

- Пауза	- Эмуляция расчета из файла

- Оптимизация:

- Расчет	- Параметры…

- Останов	- Результаты…

- Анализ:

- Частотный анализ…

- Передаточные функции

- Синтез:

  - Частотный метод

- Корневой метод

- ? :

- Содержание (F1)

- О программе…

Примечания:

1. Большинство опций Командного меню продублированы в Панели инструментов соответствующими командными кнопками.

2. В  ПК «МВТУ» нажатием клавиши F1 или посредством меню «?» и опции Содержание вызывается «навигатор» всей контекстной справочной системы, а нажатием комбинации клавиш Ctrl + F1 при выделенном типовом блоке вызывается справка по этому блоку.


Дополнительное командное меню

Учитывая, что все интерфейсные команды нецелесообразно вносить в Командное меню Главного Окна, часть команд реализовано посредством:

-  Дополнительной Панели инструментов, расположенной в верхней части Главного или субмодельного схемного окна (см. экранную копию ниже) и обеспечивающей выполнение большинства команд и процедур редактирования структурной схемы;

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

На экранной копии ниже на фоне Главного Схемного Окна представлено Дополнительное командное меню, содержащее 12 дополнительных интерфейсных опций, часть из которых (опции Сетка, Вставить субмодель, Добавить/Заменить блок, Непрерывная вставка блока, Выделение группы) фактически является дополнительными процедурами графического редактора ПК «МВТУ».

ИЛЛЮСТРАЦИЯ ДОПОЛНИТЕЛЬНОГО КОМАНДНОГО МЕНЮ

Рис. 3

Оставшиеся семь опций Дополнительного командного меню обеспечивают:

Панель инструментов  	включение/отключение командных кнопок Схемного окна;

Фон	замену однотонного фона схемного окна (по умолчанию белого) на «подложку» в bit-map формате, что позволяет придать структурной схеме вид, близкий к мнемосхемам на реальных пультах управления техническими объектами;

Копировать изображение	копирование в буфер содержимого Схемного окна для последующей вставки в другие документы, например, в текстовые документы WINWORD;

Внешние сигналы	описание внешних (по отношению к ПК «МВТУ») входных сигналов;

Параметры макроблока	задание Глобальных параметров проекта при активном Главном Схемном Окне или глобальных параметров макроблока (субмодели) при активном  субмодельном схемном окне;

Приоритет проекта	ранжирование по «важности» проекта в случае моделирования в среде ПК «МВТУ» одновременно нескольких динамических задач (независимых или связных);

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


Панель инструментов Главного Окна

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

Название  кнопки	Назначение кнопки
Новый	Открывает Схемное Окно нового проекта (задачи)
Открыть	Открывает окно считывания с диска  ранее созданной структурной схемы динамической задачи (по умолчанию вызывается корневой каталог с указанием файлов, имеющих расширение . mrj)
Сохранить	Сохраняет структурную схему и параметры (по умолчанию файл с расширением . mrj), включая метод, параметры интегрирования, окна отображения результатов расчета  и т.п.
Навигатор	Открывает окно Навигатора проекта
Список графиков	Открывает окно Списка графиков
Поиск блока	Открывает диалоговое окно Поиск блока в структурной схеме по ряду отличительных признаков (тип блока, название блока и т.п.)
Продолжить поиск блока	Продолжает поиск блоков в структурной схеме по выбранному отличительному признаку (тип блока, название блока и т.п. )
Поиск переменной	Открывает диалоговое окно Поиск переменной в структурной схеме по ряду отличительных признаков (имя глобальной переменной, источник переменной или ссылка на переменную)
Продолжить поиск переменной	Продолжает поиск переменной в структурной схеме по выбранному отличительному признаку (имя глобальной переменной, источник переменной или ссылка на переменную)
Параметры счета	Вызывает диалоговое окно выбора метода интегрирования, установки времени, шага интегрирования, точности и т.д.
Старт	Выполняет 1-й этап запуска проекта на счет, проводя инициализацию всех блоков и линий связи в схемных окнах проекта на «нулевом» шаге интегрирования
Стоп	Завершает расчет  с  сохранением  в  оперативной памяти параметров модели и состояния системы
Продолжить	Запускает сразу задачу (проект) на счет, если команда Старт не выполнялась; «дозапускает» задачу на счет, если команда Старт выполнялась; продолжает процесс моделирования  до конечного времени, если он был прерван кнопкой (командой) Пауза
Пауза	Прерывает  процесс  расчета  с  сохранением  в  оперативной памяти параметров модели и текущего состояния  системы
Параметры оптимизации	Открывает окно Параметры оптимизации
Расчет оптимальных параметров	Запускает на счет оптимизационную задачу
Стоп оптимизация	Прерывает расчет оптимизационной задачи
Результаты оптимизации	Выводит таблицу расчетов оптимизационной задачи
Справка	Открывает окно контекстной справочной системы ПК «МВТУ»
Выйти	Завершает сеанс работы в среде ПК с предложением сохранить текущую структурную схему


Дополнительная панель инструментов

Дополнительная панель инструментов, расположенная в верхней части Схемного Окна,  имеет специальные кнопки, реализующие команды и опции:

Название  кнопки	Назначение кнопки
Параметры макроблока	При активном Главном Схемном Окне открывает Окно глобальных параметров проекта (посредством Редактора Интерпретатора математических функций). При активном субмодельном схемном окне – окно глобальных параметров макроблока (субмодели)
Вырезать	Удаляет выделенный блок или фрагмент структурной схемы с сохранением его в Буфере Обмена
Копировать	Копирует выделенный блок или фрагмент структурной схемы в Буфер Обмена
Вставить	Копирует в Схемное Окно содержимое Буфера Обмена
Исключить блок	Выключает блок (группу блоков) из динамической модели (фон блока «окрашивается» черным цветом)
Включить блок	Включает ранее выключенный блок (или группу блоков) в динамическую модель (возвращает исходный фон блока)
Заморозить	Кнопка предназначена для поддержания (в процессе моделирования) постоянным сигнала на выходе динамического блока и равного начальному (ым) условию (ям) для данного блока
Разморозить	Кнопка  отменяет команду Заморозить
Выделить все...	Выделяет полностью содержимое активного Схемного Окна
Показать все…	Преобразует изображение всей структурной схемы проекта в текущий размер Схемного  Окна
Показать выделение	Изменяет выделенный фрагмент  структурной схемы проекта в текущий размер Схемного Окна
Сетка	Включает/выключает режим Сетка в схемном окне
Кроме вышеуказанных, в Дополнительной панели инструментов расположена комбинированная кнопка, предназначенная для ручного масштабирования изображения в активном Схемном Окне. Числа, отображаемые в «окне» кнопки, приблизительно соответствует масштабу изображения структурной схемы в процентах.


Линейка типовых блоков

В программном комплексе «МВТУ» Библиотека типовых блоков состоит (условно) из Общетехнической и ряда Специализированных библиотек, доступ к которым осуществляется из «Линейки» типовых блоков, расположенной на экране монитора под Панелью инструментов Главного Окна («линейкой» командных кнопок).

«Линейка» типовых блоков состоит из отдельных каталогов (библиотек), переключение которых осуществляется однократным щелчком левой клавиши «мыши» в поле «закладки» с соответствующим названием. Учитывая, что все «закладки» не умещаются по длине «Линейки» типовых блоков, в правом верхнем углу «Линейки» типовых блоков предусмотрены специальные кнопки, однократный щелчок левой клавишей «мыши» по которым смещает «закладки» вправо-влево на одну позицию.

Каждая из библиотек, включенная в «Линейку» типовых блоков, состоит из 2...22 блоков. Те библиотеки, которые не вмещаются по длине «Линейки», могут быть «прокручены» влево-вправо щелчками левой клавиши «мыши» по специальным кнопкам (в начале и конце «Линейки»).

В учебных  версиях ПК «МВТУ» «Линейка» типовых блоков состоит из 14-ти отдельных библиотек, сгруппированных, в основном, по функциональному признаку.

Общетехническая библиотека типовых блоков полностью входит в комплектацию любой версии ПК «МВТУ» и содержит следующие библиотеки:

-  Источники входных воздействий (18 типовых блоков);

-  Данные (9 типовых блоков);

-  Операции математические (11 типовых блоков);

-  Векторные операции (13 типовых блоков);

-  Субструктуры (13 типовых блоков);

-  Динамические звенья (14 типовых блоков);

-  Нелинейные звенья (20 типовых блоков);

-  Логические звенья (17 типовых блоков);

-  Функции математические (20 типовых блоков);

-  Ключи (10 типовых блоков);

-	 Дискретные звенья (9 типовых блоков).

 Подробное описание блоков Общетехнической библиотеки и их математических моделей приведено в разделе «Общетехническая библиотека: типовые блоки и их алгоритмы» настоящей справочной системы.

В типовую комплектацию учебных версий программного комплекса  «МВТУ» обычно включены следующие Специализированные библиотеки типовых блоков:

-  Кинетика нейтронов (3 типовых блока);

-  Свойства (2 типовых блока, описывающих термодинамические свойства воды и пара);

-  Статистика (9 типовых блоков).

Библиотеки Внешние  (11 типовых блоков), Контроль и управление (12 имитаторов приборов и управляющих устройств) и Теплопроводность (4 типовых блока) включаются в ПК «МВТУ» по необходимости или по просьбе организации (вуза) или конкретного Пользователя,  которые официально  приобрели ПК «МВТУ» и зарегистрированы в базе данных Разработчика.

Кроме вышеуказанных в ПК «МВТУ» имеются и другие Специализированные библиотеки:

-  Реакторные блоки;

-  Логика АСУ ТП ВВЭР;

-  Роботы;

-  Элементы ПХГ (ПХГ – подземное хранилище газа).

Ряд фрагментов структурных схем, сформированных Разработчиком в процессе отладки ПК «МВТУ» и выполнения им прикладных НИР и ОКР, сохранен в отдельных каталогах в виде субмоделей (с расширением .sub). Фактически эти каталоги – дополнительные Специализированные библиотеки, из элементов которых стандартной процедурой  Вставить субмодель из Дополнительного командного меню могут быть набраны значительные фрагменты новых структурных схем.


2.1. Процедуры работы в Главном Схемном Окне
2.1. Основные этапы работы в Главном Схемном Окне

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

Команды и опции выполняются либо посредством меню Главного Окна, либо посредством командных кнопок, назначение которых приведено в подразделе 1.5.

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

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

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

-	используя “Линейку” типовых блоков заполните Схемное Окно необходимыми блоками примерно так же, как они должны быть расположены в структурной схеме;

-	используя процедуры “перетаскивания” блоков, изменения ориентации блоков и их размеров придайте структурной схеме “осмысленный” вид;

-	используя манипулятор типа “мышь”, соедините блоки линиями связи;

-	двигаясь по блокам в Схемном Окне (например, слева-направо и сверху-вниз) задайте параметры блоков на структурной схеме (коэффициенты усиления, постоянные времени, начальные условия и т.д.);

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

-	сохраните набранную схему (проект) под оригинальным именем на жесткий диск (например, k_e7. prj);

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

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

Первый этап - ввода структурной схемы (заполнение типовыми блоками) - можно начинать сразу после запуска программного комплекса в чистое Схемное Окно, создав его однократным щелчком левой клавиши “мыши” по командной кнопке  Новый.

2.2. Выбор блоков и перенос в Схемное Окно

2.3. Ориентация блоков

2.4. Установка параметров блока

2.5. Проведение линий связи

2.6. Редактирование структурной схемы

2.7. Внешнее оформление структурной схемы

2.8. Масштабирование

2.9. Нанесение сетки на схемные окна

2.10. Процедуры создания Cубмодели

2.11. Установка параметров интегрирования

2.12. Отображение графической информации


 2.2. Выбор блоков и перенос в Схемное Окно

Переместите курсор на требуемую «закладку» в «Линейке» типовых блоков (например, Источники входных воздействий) и щелкните 1 раз левой клавишей «мыши»: Вы инициализировали соответствующую библиотеку типовых блоков. Переместите курсор на требуемый блок (например, Ступенчатое воздействие ) и сделайте однократный щелчок левой клавишей «мыши»: фон блока в «Линейке» изменится; это означает, что блок можно «переносить» в Схемное Окно. Переместите курсор в поле Схемного Окна (например, в верхний левый угол) и выполните однократный щелчок левой клавишей «мыши»: в поле Схемного Окна появился переносимый блок.

Переместите курсор на другую требуемую «закладку» (например, Операции математические) и выполните однократный щелчок левой клавишей «мыши»: Вы инициализировали соответствующую типовую библиотеку. Переместите курсор на требуемый блок (например, Сумматор ) и сделайте однократный щелчок: фон блока изменится. Переместите курсор в поле Схемного Окна на место, где Вы желали бы расположить, например, Главное сравнивающее устройство и щелкните 1 раз левой клавишей «мыши»: перенос 1-го блока  Сумматор в Схемное Окно выполнен. Сместите курсор на свободное место в Схемном Окне (вниз или вправо) и сделайте еще 1 раз щелчок: Вы перенесли в  Схемное  Окно  2-ой блок Сумматор, предназначаемый, например, для моделирования Локального сравнивающего устройства.

Переместите курсор на другую «закладку», например, Динамические звенья и инициализируйте ее. Перенесите требуемые блоки ( например, Интегратор, Апериодическое звено и т.п.) в Схемное Окно по вышеописанной процедуре приблизительно на желаемые места.

Аналогичным способом перенесите в Схемное Окно блоки и из других библиотек (если такие имеются).

Если, например, Вы желаете выводить текущие результаты расчета в графическом виде, переместите курсор на «закладку» Данные, инициализируйте данную библиотеку типовых блоков, перенесите блок Временной график  в Схемное Окно примерно на желаемое место.

Желательно (но необязательно!), выполнив перенос всех требуемых блоков, переместить курсор на крупную кнопку в левой части «линейки» типовых блоков и сделать однократный щелчок: Вы «закроете» временно все библиотеки типовых блоков.

Примечание:

“Линейка” типовых блоков состоит из отдельных каталогов (библиотек), переключение которых осуществляется однократным щелчком левой клавиши “мыши” в поле “закладки” с соответствующим названием. Учитывая, что все “закладки” не умещаются по длине “линейки” типовых блоков, в правом нижнем углу “линейки” типовых блоков предусмотрены специальные кнопки, однократный щелчок левой клавишей “мыши” по которым смещает “закладки” вправо-влево на одну позицию.

Каждая из библиотек, включенная в “линейку” типовых блоков, состоит из 2...20 блоков. Те библиотеки, которые не вмещаются по длине “линейки”, могут быть “прокручены” влево-вправо щелчками левой клавиши “мыши” по специальным кнопкам (в начале и конце “линейки”). Для быстрого перемещения в конец (или начало) каталога достаточно однократного щелчка правой клавишей “мыши” по соответствующей кнопке.


2.3. Ориентация блоков

В данном программном комплексе (по умолчанию) ориентация  блока слева-направо, т.е. входной (ые) порт (ы) находятся на левой боковой стороне блока, а выходной (ые) порт (ы) - на правой боковой стороне блока. Если, например, в Вашей задаче удобнее использовать обратную ориентацию (т.е. справа-налево), то переместите курсор на блок с обратной ориентацией, нажмите на клавиатуре клавишу Shift и не отпуская ее нажмите 1 раз левую клавишу «мыши»: порты блока повернутся на 90 градусов против часовой стрелки. Повторите эту процедуру еще 1 раз: ориентация блока станет справа-налево. Если входной (ые) порт (ы) должен быть сверху, а выходной (ые) порт (ы) - снизу, то необходимо три раза воспользоваться процедурой поворота блока (3*90 = 270). Внимание : при повороте на 90 градусов против часовой стрелки первый выходной порт будет сверху крайним справа, последний выходной порт - сверху крайним слева.


2.4. Установка параметров блока

Переместите курсор на редактируемый блок (например, Ступенчатое воздействие) и сделайте 2-х кратный щелчок левой клавишей «мыши»: откроется диалоговое окно этого блока. Инициализируйте диалоговую строку (щелкнув 1 раз мышью в поле диалоговой строки), введите требуемые параметры (например, 0 0 0.8 ) и нажмите на кнопку ОК. Повторите аналогичные процедуры и для других блоков: введите в диалоговые строки соответствующие значения (например, k, T и начальные условия для динамических блоков, описываемых передаточными функциями). Если Сумматор выполняет функцию Главного сравнивающего устройства (или Локального), откройте диалоговое окно Сумматора  и введите знаки + (плюс) и - (минус) в строке ввода (без пробела), что соотвествует алгебраическому сложению двух сигналов в соответствии с введенными знаками, т.е. 1-ый - со знаком +, 2-ой - со знаком  - . Если необходимо алгебраически сложить 3 сигнала, например, со знаками + - +, то в диалоговой строке Сумматора необходимо ввести соответствующие знаки. При закрытии диалогового окна блока Сумматор произойдет «перерисовка» этого блока и он будет иметь 3 входных порта, где верхний входной порт (при ориентации блока слева-направо) - для 1-го сигнала (знак +),  средний вход - для 2-го сигнала (знак -) и нижний вход - для 3-го сигнала (знак +).

После ввода параметров всех блоков схемы (или значительной части блоков), рекомендуется сохранить введенные параметры: щелкните левой клавишей мыши по командной кнопке Сохранить.


2.5. Проведение линий связи

Проведение линий связи проще всего выполнять, если выходной и входной порты находятся на на одной горизонтальной линии (при ориентации соединяемых блоков слева-направо или справа-налево) или на одной вертикальной линии (при ориентации соединяемых блоков снизу-вверх или сверху-вниз). Для упрощения этой процедуры рекомендуется включить режим сетки в Схемном Окне: переместите курсор на командную кнопку Сетка и сделайте однократный щелчок левой клавишей «мыши». Далее, переместите курсор на выходной порт 1-го из соединяемых блоков, нажмите левую клавишу «мыши» и не отпуская ее «протяните» горизонтальную линию связи (при горизонтальной ориентации блоков) к  входному порту 2-го из соединяемых блоков. Отпустите левую клавишу: на  входном порте 2-го блока появится типичная входная стрелка.

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

Если порты соединяемых блоков лежат не на одной линии (например, выходной порт источникового блока Ступенчатое воздействие расположен ниже 1-го входного порта Сумматора (выполняющего, например, роль Главного сравнивающего устройства), переместите курсор на блок Сумматор нажмите на левую клавишу «мыши» и не отпуская ее «перетащите» этот блок так, чтобы его верхний входной порт (в дальнейшем просто вход) по горизонтали был на одном уровне с выходным портом блока Ступенчатое воздействие.

Если необходимо сделать ответвление от какой-то линии связи, переместите курсор на эту линию связи (предпочтительнее на угол последнего поворота этой линии связи, если такой имеется), нажмите на клавиатуре клавишу Ctrl  и не отпуская ее нажмите на левую клавишу «мыши» (появится тонкий крестик) и не отпуская обеих клавиш проведите новую линию связи малой длины: получится «ответвление» от существующей линии связи. Используя вышеописанные процедуры, продлите ответвление до соответствующего входного порта.

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


2.6. Редактирование структурной схемы

В данном подразделе рассматриваются процедуры редактирования структурной схемы, включенные в командное меню Редактирование  (Правка).


Внешнее оформление структурной схемы
2.7. Внешнее оформление структурной схемы

Внешнее оформление структурной схемы вводимой задачи (проекта) включает несколько приемов.  Для дальнейшей информации сделайте выбор...

изменение наименования блока

изменение шрифта и его параметров

изменение фона блока

изменение цвета линий связи

изменение фона Схемного Окна


Изменение наименования блока

Переместите курсор на редактируемый блок (например, Ступенчатое воздействие) и сделайте однократный щелчок левой клавишей «мыши»: Вы произвели выделение (активизацию) данного блока, что зафиксировано появлением маленьких черных квадратов вблизи углов блока. Переместите курсор на меню Стиль Главного Окна, откройте его, выберите опцию Заголовок, сделав однократный щелчок левой клавишей «мыши»: откроется диалоговое окно Окно заголовка блока. Инициализируйте окно ввода, «сотрите» название по умолчанию (например, Ступенька) и введите новое наименование (например, введите в две строки  Входное воздействие), закройте это окно посредством кнопки ОК. Подпись под блоком изменилась на новую (для полного уничтожения следов предыдущей подписи щелкните 1 раз в поле блока).


Изменение параметров шрифта
Изменение шрифта и его параметров

Переместите курсор на редактируемый блок (например, Ступенчатое воздействие) и сделайте однократный щелчок левой клавишей «мыши»: Вы произвели выделение (активизацию) данного блока, что зафиксировано появлением маленьких черных квадратов вблизи углов блока. Переместите курсор на меню Стиль Главного Окна, откройте его, выберите опцию Фонт заголовка, сделав однократный щелчок левой клавишей «мыши»: откроется диалоговое окно Шрифт, в котором Вы можете установить желаемые параметры подписи, например:  шрифт - Arial Cyr;  вид шрифта  Обычный; цвет шрифта - Красный; размер - 10. При закрытии диалогового окна Шрифт может не произойти автоматического возврата в среду ПК «МВТУ». Для этого необходимо нажать клавишу Alt и не отпуская ее с помощью клавиши Tab  «пролистать» все приложения (программы), загруженные средой WINDOWS, остановив свой выбор на заставке Моделирование В Технических Устройствах: произойдет восстановление Схемного Окна с измененными параметрами подписи под  или  над (при ориентации блока справа-налево)  блоком.


Изменение фона блока

Переместите курсор на редактируемый блок (например, Ступенчатое воздействие) и сделайте однократный щелчок левой клавишей «мыши»: Вы произвели выделение (активизацию) данного блока, что зафиксировано появлением маленьких черных квадратов вблизи углов блока. Переместите курсор на меню Стиль Главного Окна, откройте его, выберите опцию Фон блока, сделав однократный щелчок левой клавишей «мыши»: откроется диалоговое окно Цвет, в котором Вы можете установить желаемый цвет либо из 48 чистых цветов, либо даже сконструировать смешанный цвет. Более подробную информацию по процедурам работы в диалоговом окне Цвет см. в документации на среду WINDOWS. При закрытии диалогового окна Цвет может не произойти автоматического возврата в среду ПК «МВТУ». Для этого необходимо нажать клавишу Alt и не отпуская ее с помощью клавиши Tab  «пролистать» все приложения (программы), загруженные средой WINDOWS, остановив свой выбор на заставке Моделирование В Технических Устройствах: произойдет восстановление Схемного Окна с измененным цветом фона блока.


Изменение цвета линий связи

Переместите курсор на редактируемую линию и сделайте однократный щелчок левой клавишей «мыши»: Вы произвели выделение (активизацию) данной линии связи, что зафиксировано появлением  черных точек в характерных местах линии связи (точки начала, окончания, поворота и т.п.). Переместите курсор на меню Стиль Главного Окна, откройте его, выберите опцию Цвет линий, сделав однократный щелчок левой клавишей «мыши»: откроется диалоговое окно Цвет, в котором Вы можете установить желаемый цвет либо из 48 чистых цветов, либо даже сконструировать смешанный цвет. Более подробную информацию по процедурам работы в диалоговом окне Цвет см. в документации на среду WINDOWS. При закрытии диалогового окна Цвет может не произойти автоматического возврата в среду ПК «МВТУ». Для этого необходимо нажать клавишу Alt и не отпуская ее с помощью клавиши Tab  «пролистать» все приложения (программы), загруженные средой WINDOWS, остановив свой выбор на заставке Моделирование В Технических Устройствах: произойдет восстановление Схемного Окна с измененным цветом линии связи.


Изменение фона окна
Изменение фона Схемного Окна

Сделайте щелчок левой клавишей мыши в любом свободном (от блоков и линий связи) месте Схемного Окна: произойдет мерцание и изображение Схемного Окна перестроится. Переместите курсор на меню Стиль Главного Окна, откройте его, выберите опцию Фон окна, сделав однократный щелчок левой клавишей «мыши»: откроется диалоговое окно Цвет, в котором Вы можете установить желаемый цвет либо из 48 чистых цветов, либо даже сконструировать смешанный цвет. Более подробную информацию по процедурам работы в диалоговом окне Цвет см. в документации на среду WINDOWS. При закрытии диалогового окна Цвет может не произойти автоматического возврата в среду ПК «МВТУ». Для этого необходимо нажать клавишу Alt и не отпуская ее с помощью клавиши Tab  «пролистать» все приложения (программы), загруженные средой WINDOWS, остановив свой выбор на заставке Моделирование В Технических Устройствах: произойдет восстановление Схемного Окна с измененным цветом фона.


Масштабирование
2.8. Масштабирование

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

Для реализации Принудительного (ручного) масштабирования необходимо переместить курсор на кнопку со стрелкой в строке командных кнопок Главного Окна и сделать однократный щелчок левой клавишей мыши: откроется специальное миниокно с наборам значений уменьшения изображения в Схемном Окне. Выберите необходимое значение однократным щелчком левой клавиши мыши: изображение станет уменьшенным.

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


Нанесение сетки на схемные окна
2.9. Нанесение сетки на схемные окна

При вводе структурной схемы некоторые проблемы могут возникать в процессе проведения линий связи: далеко не всегда удается расположить соединяемые блоки таким образом, чтобы соответствующие порты выхода и входа находились на одной горизонтали (или вертикали). Для упрощения этой процедуры рекомендуется включить режим сетки в Схемном Окне: переместите курсор на командную кнопку Сетка в Главном Окне и сделайте однократный щелчок левой клавишей «мыши». Схемное Окно покроется сеткой с шагом 8 пикселов. Учитывая, что порты входа и выхода блоков располагаются строго по сетке, скорректировать расположение соединяемых блоков легко: необходимо просто переместить один из соединяемых блоков по вертикали (или по горизонтали).

Для отключения режима сетки необходимо переместить курсор на кнопку Сетка в Главном Окне и выполнить однократный щелчок левой клавишей мыши: сетка исчезнет.


2.10. Процедуры создания Субмодели

Просим извинить, но описание этих процедур не включено в демонстрационную версию ПК «МВТУ»


2.11. Установка параметров интегрирования

Просим извинить, но описание этих процедур не включено в демонстрационную версию ПК «МВТУ»


2.12. Отображение графической информации

Просим извинить, но описание этих процедур не включено в демонстрационную версию ПК «МВТУ»


    Динамическое звено общего вида

Блок реализует математическую модель звена, динамика которого описывается линейным обыкновенным дифференциальным уравнением (ОДУ) вида:

где

 коэффициенты; i = 0…n,  j = 0…m; n  m;

x(t) – входной сигнал в блок;  y(t) – выходной сигнал из блока.

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

b0+b1*s+b2*s^2+....+bm*s^m

W(s) =  --------------------------------------------- ,

a0+a1*s+a2*s^2+....+an*s^n

поэтому пиктограмма данного блока имеет вид передаточной функции общего вида.

Обязательные условия: m <= n  и  an < > 0.

Блок имеет 3 диалоговых строки.

Для работы блока в диалоговых строках необходимо  задать:

В 1-ой диалоговой строке   - коэффициенты числителя bj;

Во 2-ой диалоговой строке - коэффициенты знаменателя ai;

В 3-ей диалоговой строке   - начальное условие  y(0) (при необходимости).

Пример заполнения диалогового окна:

1-я строка  - 1 0.5 2 (m = 2)

2-я строка  - 1 4 2 3 1 (n = 4)

3-я строка -  2.5 (начальное условие - стационар)

Примечания:

1. Коэффициенты bj и ai вводятся (через пробел) по возрастающим степеням s.

2. Для развязки алгебраической петли при равенстве порядков числителя и знаменателя (m = n) предполагается, что  при  t <= 0 состояние звена – стационар.

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


   Идеальное интегрирующее звено

Блок векторизован и реализует математическую модель звена, динамика которого описывается линейным обыкновенным дифференциальным уравнением (ОДУ) вида:

где x(t) – входной сигнал в блок;  y(t) – выходной сигнал из блока.

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

K

W(s) = ------- 	(Интегратор),

s

поэтому пиктограмма данного блока имеет вид передаточной функции идеального интегрирующего звена.

Блок имеет 2 диалоговых строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   - вектор коэффициентов K;

Во 2-ой диалоговой строке - вектор начальных условий y(0) .

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка  - 2.3

2-я строка  - 6.5

Векторный вход (3 одинаковых Интегратора)

1-я строка  - 3#2.3

2-я строка  - 3#6.5

Векторный вход (3 разных Интегратора)

1-я строка  - 2.3 1.8 3.3 (через пробел)

2-я строка  - 6.5 5.1 2.4 (через пробел)

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


   Апериодическое звено 1-го порядка

Блок векторизован и реализует математическую модель звена, динамика которого описывается линейным обыкновенным дифференциальным уравнением (ОДУ) вида:

где x(t) – входной сигнал в блок;  y(t) – выходной сигнал из блока.

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

      K

W(s) = ------------- ,

  T*s + 1

поэтому пиктограмма данного блока имеет вид передаточной функции апериодического звена 1-го порядка.

Обязательное условие:  T < > 0.

Блок имеет 3 диалоговых строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   - вектор коэффициентов K;

Во 2-ой диалоговой строке - вектор постоянных времени Т в секундах;

В 3-ей диалоговой строке  - вектор начальных условий y(0).

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка  - 2.3

2-я строка  - 6.5

3-я строка  -  0

Векторный вход (3 одинаковых звена)

1-я строка  - 3#2.3

2-я строка  - 3#6.5

3-я строка  - 3#1

Векторный вход (3 разных звена)

1-я строка  - 2.3 1.8 3.3 (через пробел)

2-я строка  - 6.5 5.1 2.4 (через пробел)

3-я строка  - 0 1.2 0.5 (через пробел)

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


    Колебательное звено

Блок реализует математическую модель звена, динамика которого описывается линейным обыкновенным дифференциальным уравнением (ОДУ) вида:

где x(t) – входной сигнал в блок;  y(t) – выходной сигнал из блока.

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

K

W(s) = -------------------------------- ,

            T^2*s^2  + 2*T*b*s + 1

поэтому пиктограмма данного блока имеет вид передаточной функции типового колебательного звена.

Обязательное условие:  T < > 0.

Блок имеет 4 диалоговых строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   - коэффициент усиления K;

Во 2-ой диалоговой строке - постоянную времени T в секундах;

В 3-ей диалоговой строке  - коэффициент демпфирования b;

В 4-ой диалоговой строке  - начальные условия y(0) и dy(0)/dt (через пробел).

Пример заполнения диалогового окна:

1-я строка  - 2.3

2-я строка  - 6.5

3-я строка  - 0.5

4-я строка -  0 0 (начальное условие - стационар)

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


   Инерционно-форсирующее звено

Блок реализует математическую модель звена, динамика которого описывается линейным обыкновенным дифференциальным уравнением (ОДУ) вида:

где x(t) – входной сигнал в блок;  y(t) – выходной сигнал из блока.

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

                  	(T1*s + 1)

            W(s) =  ------------------- ,

                              T2*s + 1

поэтому пиктограмма данного блока имеет вид передаточной функции инерционно-форсирующего звена.

Обязательное условие: T2 < > 0.

Блок имеет 3 диалоговых строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   - постоянную времени числителя T1 в секундах;

Во 2-ой диалоговой строке - постоянную времени знаменателя T2 в секундах;

В 3-ей диалоговой строке  - начальное условие y(0).

Пример заполнения диалогового окна:

1-я строка  - 2.3

2-я строка  - 6.5

3-я строка  - 0.5

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


   Инерционно-дифференцирующее звено

Блок реализует математическую модель звена, динамика которого описывается линейным обыкновенным дифференциальным уравнением (ОДУ) вида:

где x(t) – входной сигнал в блок;  y(t) – выходной сигнал из блока.

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

                  	     K*s

            W(s) =  ------------------ ,

                              T*s + 1

поэтому пиктограмма данного блока имеет вид передаточной функции инерционно-дифференцирующего звена.

Обязательное условие: T < > 0.

Блок имеет 3 диалоговых строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   - коэффициент усиления числителя К в секундах;

Во 2-ой диалоговой строке - постоянную времени знаменателя T в секундах;

В 3-ей диалоговой строке  - начальное условие Y(0).

Пример заполнения диалогового окна:

1-я строка  - 2.3

2-я строка  - 6.5

3-я строка  - 0.5

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


   Идеальное запаздывающее звено

Блок векторизован и реализует математическую модель звена, динамика которого описывается линейным уравнением с запаздыванием вида:

y ( t ) = x (t - T),

где x(t) – вектор входных сигналов в блок;  y(t) – вектор выходных сигналов из блока;   Т - вектор времен запаздывания.

При нулевых начальных условиях динамика блока может быть представлена следующей передаточной функцией (для скалярного варианта сигналов):

W(s) = exp( - T * s),

поэтому пиктограмма данного блока имеет вид передаточной функции идеального запаздывающего звена.

Обязательное условие:  T > 0.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   - вектор времен запаздывания T в секундах;

Во 2-ой диалоговой строке – начальный размер стека.

Примеры заполнения 1-ой строки диалогового окна:

Скалярный вход

Диалоговая строка  - 2.3

Векторный вход (3 одинаковых звена)

Диалоговая строка - 3#2.3

Векторный вход (3 разных звена)

Диалоговая строка - 2.3 1.8 3.3 (через пробел)

Примечания:

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

2. По умолчанию в данном блоке начальный размер стека – 1000.


   Инерционно-интегрирующее звено

Блок реализует математическую модель звена, динамика которого описывается линейным обыкновенным дифференциальным уравнением (ОДУ) вида:

где x(t) – входной сигнал в блок;  y(t) – выходной сигнал из блока.

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

                               K

           W(s) =  --------------- ,

                         s*(T*s + 1)

поэтому пиктограмма данного блока имеет вид передаточной функции инерционно-интегрирующего звена.

Обязательное условие:  T < > 0.

Блок имеет 3 диалоговых строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке - коэффициент  K;

Во 2-ой диалоговой строке - постоянную времени T в секундах;

В 3-ей диалоговой строке - начальные условия Y(0) и Y’(0).

Пример заполнения диалогового окна:

1-я строка  - 2.3

2-я строка  - 6.5

3-я строка  - 0.5 0

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


    Переменные состояния

Блок реализует описание многомерной линейной динамической системы в матричной форме:

dx/dt = Ax + Bu;

      y  = Cx + Du,

где A, B, C, D - матрицы: системы, входа, выхода и обхода, соответственно; x -вектор переменных состояния, [Nx]; u - вектор входа, [Nu]; y - вектор выхода, [Ny].

Размерность матрицы А – [Nx*Nx].

Размерность матрицы B – [Nu*Nx].

Размерность матрицы C – [Nx*Ny].

Размерность матрицы D – [Nu*Ny].

1-е число в квадратных скобках – количество столбцов,

2-е число – количество строк.

Обязательное условие: Nx >= Ny

Вход и выход блока - векторные сигналы, размерностью Nu и Ny, соответственно.

Блок имеет 8 диалоговых строк.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   – число переменных состояний  Nx;

Во 2-ой диалоговой строке – число входных воздействий Nu;

В 3-ей диалоговой строке  – число выходов Ny;

В 4-ой диалоговой строке  – матрицу системы А, [Nx*Nx];

В 5-ой диалоговой строке  – матрицу входа В, [Nu*Nx];

В 6-ой диалоговой строке  – матрицу выхода С, [Nx*Ny];

В 7-ой диалоговой строке  – матрицу обхода D, [Nu*Ny];

В 8-ой диалоговой строке  – вектор начальных условий хi(0) при t = 0, [Nx].

ВНИМАНИЕ!

Матрицы A, B, C и D задаются по СТОЛБЦАМ, а не по СТРОКАМ!!!

Пример заполнения диалогового окна:

1-я строка  - 3

2-я строка  - 2

3-я строка  - 2

4-я строка  - (0 0 -2)(1 –4 -1)(0 1 -3)   (без или с пробелами между скобками)

5-я строка  - (0 1 0)(0 0 2)      (без или с пробелами между скобками)

6-я строка  - (1 -1)(1 2)(1 0)   (без или с пробелами между скобками)

7-я строка  - (0 0)(0 0)           (без или с пробелами между скобками)

8-я строка  - 0 0 0    (нулевые начальные условия)

Примечания:

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

2. Если блок имеет 1 вход (Nu = 1) и 1 выход (Ny = 1), D = 0 и, соответственно, 7-я строка – (0).

3. В “сборе” матрицы A, D, C и D образуют “прямоугольник”, размерностью:

- строк - (Nx+Ny);

- столбцов - (Nx+Nu).


Новый блок
    “Новый” блок

Учитывая, что невозможно сформировать абсолютно полную библиотеку типовых блоков, в ПК “МВТУ” разработаны средства, которые позволяют Пользователю расширить состав личной библиотеки за счет создания новых типов блоков, например,  посредством встроенного Интерпретатора математических функций, на базе которого функционирует и “Новый” блок, позволяющий прямо в процессе работы создавать экземпляры блоков со своими оригинальными математическими моделями. Диалоговое окно этого блока - фактически окно текстового редактора, в котором Пользователь записывает математическую модель в виде, близком к естественной записи. Математическое описание блока соответствует многомерной нелинейной динамической системе в форме Коши:

где  f(x, u), g(x, u) - известные нелинейные функции переменных состояния (x1, x2,...xn) и входных воздействий (u1, u2,...um), причем в качестве входных воздействий могут выступать и коэффициенты (как постоянные, так и переменные), входящие в любое из уравнений системы.

Первое из уравнений системы может отсутствовать; в этом случае блок-интерпретатор выполняет алгебраические преобразования входных величин.

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

«Новый» блок  “распознает” следующие стандартные математические операции и функции:

+  -  сложение	abs   -  модуль	sin  - синус	arcsin  -  арксинус
-   -  вычитание	sign  -  знак	cos  - косинус	arccos  -  арккосинус
*  -  умножение	exp  - экспонента	tg    - тангенс	arctg   -  арктангенс
/  -  деление	ln    -  логарифм	ctg  - котангенс	arcctg  -  арккотангенс
^ -  степень	pi   -  3.1415......	e   - 2.71828....	(  )    -  cкобки
Дополнительно  «Новый»  блок  “распознает” ряд специальных функций:

time - модельное время;

step – смещенное ступенчатое воздействие;

sqrt  - корень квадратный;

if      - вычисление по условию;

for   - формирование векторных данных посредством циклических операций;

interpol – интерполяция данных (линейная, степенная).

Например, запись u = step(t_вкл, y_нач, y_кон); означает, что через время t_вкл после начала моделирования переменная u изменит (скачком) свое значение с y_нач на y_кон. Параметры функции step могут быть заданы как в числовом виде, так и через именованные параметры, значения которых должны быть определены выше по тексту в этом же окне или окне Редактора Глобальных параметров…

Запись pp = if(bb, a1, a2, a3) означает, что переменная pp принимает значения:

pp = a1, если именованная переменная bb < 0;

pp = a2, если именованная переменная bb = 0;

pp = a3, если именованная переменная bb > 0.

В Интерпретатор математических функций и, соответственно, в «Новый» блок настоящей версии ПК «МВТУ» включено 8 новых специальных функций, реализующих определение основных термодинамических свойств воды и водяного пара (известные таблицы Вуколовича в докритическом диапазоне: давления от 0.09 до 20 МПа и температуры от 10 до 360 градусов Цельсия).

Запись этих функций имеет вид:

waterps(P,flag);       - вычисление свойств воды по давлению на линии насыщения;

waterts(T,flag);        - вычисление свойств воды по температуре на линии насыщения;

steamps(P,flag);       - вычисление свойств пара по давлению на линии насыщения;

steamts(Т,flag);        - вычисление свойств пара по температуре на линии насыщения;

waterpt(P,T,flag);   - вычисление свойств воды по давлению и температуре;

waterph(Р,H,flag);  - вычисление свойств воды по давлению и энтальпии;

steampt(P,T,flag);   - вычисление свойств пара по давлению и температуре;

steamph(P,H,flag); - вычисление свойств пара по давлению и энтальпии.

Например, запись v_уд= waterps(1е6,4); соответствует вычислению удельного объема воды v_уд  (flag равен 4)  на линии насыщения при давлении 1.0е6  Па (1 МПа).

Значения параметра flag могут изменяться от 1 до 8 и соответствовать вычислению следующих термодинамических характеристик воды или водяного пара:

1 – давление; 2 – температура; 3 – энтальпия; 4 – удельный объем; 5 – число Прандтля; 6 – динамическая вязкость; 7 – коэффициент теплопроводности; 8 – энтропия.

Входные параметры и возвращаемые значения термодинамических параметров воды или водяного пара представляются в системе СИ (за исключением температуры, которая измеряется в градусах Цельсия).

Процедуры формирования математической модели динамики какого-то устройства или фрагмента рабочего процесса с использованием «Нового» блока рассмотрим на примере формирования уравнений динамики Объекта Управления САР (см. рис. 1 ниже).

Рис.1

Математическое описание динамики Объекта Управления приведено к системе ОДУ в форме Коши:

где начальные условия для всех динамических переменных y1, y2 и y_oc  - нулевые.

На рис. 2 (ниже по тексту) представлена экранная копия окна Редактор интерпретатора математических функций  с введенной математической моделью динамики Объекта Управления и комментариями к ней...

Рис. 2

Если «Новый» блок имеет входы (входные порты), то первая исполняемая строка (не считая строку комментария) обязательно должна содержать оператор input, описывающий входные сигналы в данный блок, включая  имя  входа и его размерность.

В данном примере 1-я исполняемая строка (input u1;) присваивает 1-му (и единственному) входу уникальное имя – u1.

Если бы, например, этот блок имел бы 2 входа, причем 1-ый вход – «трехжильный» (векторный), а 2-ой – «пятижильный», то   1-я исполняемая строка имела бы вид:

input u1[3], g[5];

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

Если «Новый» блок описывает динамику объекта моделирования в виде системы дифференциальных уравнений в форме Коши, то вторая исполняемая строка (не считая строку комментария) обязательно должна содержать оператор init, описывающий начальные условия для динамических (дифференциальных) переменных, ниже по тексту для которых будут записаны обыкновенные дифференциальные уравнения в форме Коши.

В данном примере 2-я исполняемая строка

init y1=0, y2=0, y_oc=0;

задает начальные условия (при t = 0) для  трех  динамических переменных: y1, y2 и y_oc.

В том случае, когда математическая модель динамики блока описывается большим числом дифференциальных уравнений, например, 5-ю, то 2-я исполняемая строка будет иметь вид:

init x1=0, x2=1, x3=2, z=0, R=0;

где х1, х2, х3, z, R – динамические переменные, для которых ниже по тексту будут записаны дифференциальные уравнения (точнее система уравнений) в форме Коши.

Непосредственно дифференциальные уравнения динамики Объекта Управления записаны с 3-ей по 5-ую исполняемые строки, где символ апострофа обозначает производную по времени, а значения коэффициентов a1, a2, a3, b1, b2 передаются в “Новый” блок  через механизм Глобальных параметров (см. соответствующий подраздел в «Краткой Инструкции Пользователя»).

Если «Новый» блок имеет выходы (выходные порты), то последняя исполняемая строка обязательно должна содержать оператор output, описывающий выходные сигналы из «Нового» блока, включая  имена  выходов и их  размерности.

В данном примере последняя строка (output y1;) описывает один выходной сигнал (y1)  без указания  в прямоугольных скобках размерности выходного сигнала.

Если бы «Новый» блок имел 2 векторных выхода (2-х жильный и 3-х жильный), то последняя исполняемая строка имела бы, например, вид:

output z1[2], z2[3];

В этом случае выше по тексту необходимо было определить (рассчитать) все составляющие выходных сигналов, например:

z1[1]=a1+sin(y1);  z1[2]=exp(y2);  z2[1]=y1*y2;  z2[2]=sqrt(abs(y_oc));  z2[3]=(y2)^a2;

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

Если бы «Новый» блок формировал два выхода (например, z1 и z2 ==> см. выше), то изображение «Нового» блока на структурной схеме имело бы два выходных порта. При ориентации блока «слева-направо» первый выходной порт будет верхним, а второй  выходной порт – нижним.

Для создания математической модели рабочего процесса, описываемого сложными нелинейными дифференциальными  уравнениями с переменными коэффициентами (например, процессы теплогидравлики в элементах теплофизического оборудования), целесообразнее использовать «Новый» блок только для формирования правых частей системы дифференциальных уравнений (записанных в форме Коши).

В таком варианте процедуру интегрирования можно реализовать с использованием типового блока Интегратор (блок векторизован), расположенного за «Новым» блоком, причем выходной сигнал блока Интегратор (обычно векторный) подается на вход «Нового» блока, не образуя алгебраической «петли» (контура).

Реализуем такой подход для формирования математической модели блока Объект Управления в САР (см. рис. 3 ниже по тексту).

Рис. 3

В верхней части рис. 4 представлена экранная копия окна Редактор интерпретатора математических функций, в котором реализован алгоритм вычисления правых частей дифференциальных уравнений, описывающих динамику блока Объект Управления.

Рис. 4

Только внешне основной текст (по сравнению с рис. 2) изменился незначительно. Кардинальным образом изменился «смысл» символа апостроф: теперь запись y1’=… обозначает не первое дифференциальное уравнение, а просто определяет новую переменную с именем y1’. Появился новый входной сигнал y, который является «трехжильным» (векторным) и вводит в «Новый» блок значения динамических переменных y1, y2 и y_oc после каждого шага интегрирования (в том числе и пробного шага). На выход «Нового» блока сформирован векторный сигнал y_out с размерностью, равной трем ==> y_out = [y1  y2  y_oc].

Подпись (в две строки) под типовым блоком Интегратор (см. рис. 3 выше по тексту) «сообщает», что данный блок выполняет операцию интегрирования в «векторном» варианте, причем в его диалоговом окне установлены коэффициенты усиления 1 1 1 (три числа 1 через пробел) и нулевые начальные условия (три числа 0 через пробел). Блок  Демультиплексор  «извлекает» из вектора сигнал y1.

Более подробную информацию о примерах использовании «Нового» блока для формирования «оригинальных» математических моделей динамики можно найти в разделе «Краткая Инструкция Пользователя» справочной системы ПК «МВТУ», а также во многих демонстрационных примерах, расположенных в подкаталоге …/DEMO.


    Интегратор с ограничениями

Блок векторизован и реализует математическую модель звена, динамика которого описывается обыкновенным дифференциальным уравнением (ОДУ)

при наличии ограничений на значение (я) выходного (ых) сигнала (ов):

Ymin =< y(t) =< Ymax,

где x(t) – вектор входных сигналов в блок;  y(t) – вектор выходных сигналов из блока.

Данный блок (в пределах ограничений) выполняет интегрирование входного сигнала,  поэтому пиктограмма блока имеет вид передаточной функции идеального интегрирующего звена с «добавкой» символа «меньше-равно».

Блок имеет 4 диалоговых строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   - вектор коэффициентов K;

Во 2-ой диалоговой строке - вектор минимальных значений  Ymin.

В 3-ей диалоговой строке   - вектор максимальных значений  Ymax.

В 4-ой диалоговой строке   - вектор начальных условий  Y0.

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка  - 1.0

2-я строка  - 0

3-я строка  - 1

4-я строка  - 0.5

Векторный вход (3 одинаковых Интегратора)

1-я строка  - 3#1.0

2-я строка  - 3#0

3-я строка  - 3#1

4-я строка  - 3#0.5

Векторный вход (3 разных Интегратора)

1-я строка  - 1.3 0.8 2.3 (через пробел)

2-я строка  - 0 -1.0 2.4 (через пробел)

3-я строка  - 1 0 4.4 (через пробел)

4-я строка  - 0 1 0 2 (через пробел)

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


    Интегратор с изменяемыми начальными условиями

Блок векторизован и реализует интегрирование входного сигнала:

где x(t)   – векторный входной сигнал; y(t)    – векторный выходной сигнал; t1, t2 – времена переключения начальных условий.

Блок имеет 3 входных порта и при ориентации блока слева-направо:

1-ый входной порт (верхний слева) – интегрируемый векторный сигнал;

2-ой входной порт (средний слева) – управляющий сигнал;

3-ий входной порт (нижний слева) – вектор новых начальных условий.

Блок имеет 2 диалоговых строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке - число переменных состояния (размерность входного вектора);

Во 2-ой диалоговой строке – значения управляющих сигналов для изменения начальных условий.

При t = t1 происходит установление новых начальных условий и при t1 < t < t2 выполняется интегрирование сигналов входного вектора с этими новыми начальными условиями.

При t = t2 происходит очередное изменение начальных условий и при t > t2 выполняется очередной этап интегрирования с новыми начальными условиями вплоть до нового очередного изменения начальных условий.

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

Размерности интегрируемого сигнала и сигнала начальных условий должны быть одинаковыми, например, если вектор входа – “трехжильный”, то и сигнал начальных условий тоже “трехжильный”.

Примеры заполнения диалогового окна:

Скалярный вход (1 интегрируемый сигнал)

1-я строка  - 1

2-я строка  - 0 1

Векторный вход (3 интегрируемых сигнала)

1-я строка  - 3

2-я строка  - 2 1

Примечания:

1. По умолчанию данный блок реализует интегрирование скалярного входного сигнала.

2. Рекомендуется (хотя и не обязательно) использовать значения управляющих сигналов 0 и 1, поскольку их формирование легко реализуется типовыми логическими блоками.


    Квадратичный функционал качества

Блок векторизован и реализует интегральное преобразование:

 (квадратичный функционал качества),

где T = t - текущее модельное время; ui(t) - мгновенное значение вектора входного сигнала; ai   – вектор весовых коэффициентов; у(t) - выходной сигнал.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке - вектор весовых коэффициентов.

Примеры заполнения диалогового окна:

Скалярный вход

Диалоговая строка  - 2

Векторный вход (3 одинаковых весовых коэффициента)

Диалоговая строка - 3#2

Векторный вход (3 разных весовых коэффициента)

Диалоговая строка - 2.3 1.8 3.3 (через пробел)

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


    Дифференцирование

Блок векторизован и реализует численное определение производной

на каждом временном шаге как отношение приращений динамической переменной и времени, где x(t) – вектор входных сигналов, y(t) – вектор выходных сигналов.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке - вектор начальных условий y(0).

Примеры заполнения диалогового окна:

Скалярный вход

Диалоговая строка  - 2

Векторный вход (дифференцирование 3-х сигналов с одинаковыми начальными условиями)

Диалоговая строка - 3#2

Векторный вход (дифференцирование 3-х сигналов с разными начальными условиями)

Диалоговая строка - 0 0 3 (через пробел)

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


   Аналитико-дискретное апериодическое звено 1-го порядка

Блок векторизован и реализует аналитико-дискретную математическую модель апериодического звена 1-го порядка, непрерывная математическая модель динамики которого описывается линейным обыкновенным дифференциальным уравнением (ОДУ) вида:

где x(t) – входной сигнал в блок;  y(t) – выходной сигнал из блока; T - постоянная времени; K - коэффициент усиления.

Алгоритм блока реализует вычисление выходного сигнала в дискретные моменты времени (на каждом шаге интегрирования, в том числе и на плохом)  по следующему соотношению:

где   [image] - значение сигнала на выходе блока на k-том шаге интегрирования;

       - значение сигнала на входе в блок на (k+1)-ом шаге интегрирования;

     - текущий шаг интегрирования.

Обязательное условие:  T < > 0.

Блок имеет 5 диалоговых строк.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   - Вектор коэффициентов K;

Во 2-ой диалоговой строке - Вектор постоянных времени Т в секундах;

В 3-ей диалоговой строке  - Вектор начальных условий y(0).

В 4-й диалоговой строке - Дополнительные входы (признак трансляции входа и/или постоянные времени через порты);

В 5-й диалоговой строке – Начальные условия берутся из (параметров блока или входа).

Если в 4-ой диалоговой строке выбрана опция Признак трансляции входа, то у блока появляется новый дополнительный входной порт, предназначенный для ввода в блок логического управляющего сигнала, где 0 соответствует преобразованию входного сигнала по базовому алгоритму (см. формулу), а 1 соответствует мгновенной передаче входного  сигнала на выход блока.

Если в 4-ой диалоговой строке выбрана опция Постоянные времени через порты, то у блока появляется новый дополнительный входной порт (второй или третий), предназначенный для ввода в блок значений постоянной времени звена. Это, например, позволяет динамически изменять постоянные времени звена в процессе моделирования.

Если в 5-ой диалоговой строке выбрана опция из  Параметров блока (значение по умолчанию), то начальное условие берется из 3-ей диалоговой строки.

Если в 5-ой диалоговой строке выбрана опция из  Входа, то начальное условие берется из 1-го входного порта на нулевом шаге расчета («на старте»).

Примеры заполнения диалогового окна:

Скалярный вход – один входной порт

1-я строка  - 2.3

2-я строка  - 6.5

3-я строка  -  0

4-я строка  -  <пусто>

5-я строка  -  из Параметров блока

Векторный вход (3 одинаковых звена) – 2 входных порта

1-я строка  - 3#2

2-я строка  - 3#6

3-я строка  -  3#0

4-я строка  -  Признак трансляции входа

5-я строка  -  из Параметров блока

Векторный вход (3 разных звена) – 3 входных порта

1-я строка  - 2.3 1.8 3.3 (через пробел)

2-я строка  - 6.5 5.1 2.4 (через пробел)

3-я строка  -  0 1.2 0.5 (через пробел)

4-я строка  -  Признак трансляции входа; Постоянные времени через порты

5-я строка  -  из Входа

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


   Разностное апериодическое звено 1-го порядка

Блок векторизован и реализует разностную математическую модель апериодического звена 1-го порядка, непрерывная математическая модель динамики которого описывается линейным обыкновенным дифференциальным уравнением (ОДУ) вида:

где x(t) – входной сигнал в блок;  y(t) – выходной сигнал из блока; T - постоянная времени; K - коэффициент усиления.

Алгоритм блока реализует вычисление выходного сигнала в дискретные моменты времени (на каждом шаге интегрирования, в том числе и на плохом)  по следующему соотношению:

где   [image] - значение сигналов на входе и выходе блока на k-том шаге интегрирования;

       - значение сигнала на входе в блок на (k+1)-ом шаге интегрирования;

     - текущий шаг интегрирования.

Обязательное условие:  T < > 0.

Блок имеет 5 диалоговых строк.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   - Вектор коэффициентов K;

Во 2-ой диалоговой строке - Вектор постоянных времени Т в секундах;

В 3-ей диалоговой строке  - Вектор начальных условий y(0).

В 4-й диалоговой строке - Дополнительные входы (признак трансляции входа и/или постоянные времени через порты);

В 5-й диалоговой строке – Начальные условия берутся из (параметров блока или входа).

Если в 4-ой диалоговой строке выбрана опция Признак трансляции входа, то у блока появляется новый дополнительный входной порт, предназначенный для ввода в блок логического управляющего сигнала, где 0 соответствует преобразованию входного сигнала по базовому алгоритму (см. формулу), а 1 соответствует мгновенной передаче входного  сигнала на выход блока.

Если в 4-ой диалоговой строке выбрана опция Постоянные времени через порты, то у блока появляется новый дополнительный входной порт (второй или третий), предназначенный для ввода в блок значений постоянной времени звена. Это, например, позволяет динамически изменять постоянные времени звена в процессе моделирования.

Если в 5-ой диалоговой строке выбрана опция из  Параметров блока (значение по умолчанию), то начальное условие берется из 3-ей диалоговой строки.

Если в 5-ой диалоговой строке выбрана опция из  Входа, то начальное условие берется из 1-го входного порта на нулевом шаге расчета («на старте»).

Примеры заполнения диалогового окна:

Скалярный вход – один входной порт

1-я строка  - 2.3

2-я строка  - 6.5

3-я строка  -  0

4-я строка  -  <пусто>

5-я строка  -  из Параметров блока

Векторный вход (3 одинаковых звена) – 2 входных порта

1-я строка  - 3#2

2-я строка  - 3#6

3-я строка  -  3#0

4-я строка  -  Признак трансляции входа

5-я строка  -  из Параметров блока

Векторный вход (3 разных звена) – 3 входных порта

1-я строка  - 2.3 1.8 3.3 (через пробел)

2-я строка  - 6.5 5.1 2.4 (через пробел)

3-я строка  -  0 1.2 0.5 (через пробел)

4-я строка  -  Признак трансляции входа; Постоянные времени через порты

5-я строка  -  из Входа

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


   Задержка на шаг интегрирования

Блок векторизован и реализует задержку входного сигнала на один шаг интегрирования.

Блок имеет 2 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке - Да (если блок используется для развязки алгебраических петель)  или Нет (в противном случае);

Во 2-ой диалоговой строке - вектор начальных условий Y(0).

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка:   Да

2-я строка:   1.5

Векторный вход (одинаковые начальные условия)

1-я строка:   Да

2-я строка:   3#1.5

Векторный вход (разные начальные условия)

1-я строка:   Да

2-я строка:   1.5  0  2.4 (через пробел)

Примечание: по умолчанию блок реализует задержку скалярного входного сигнала.


   Экстраполятор нулевого порядка

Блок векторизован и реализует экстраполяцию нулевого порядка:

y(t) = u(t[k]),

где y(t) - значение выходного сигнала в текущий момент модельного времени, u(t[k]) - значение входного сигнала в последний момент дискретизации t[k].

Блок имеет 1 диалоговую строку.

Для работы в диалоговой строке необходимо задать период квантования T = t[k]-t[k-1].

Пример заполнения диалогового окна:

Диалоговая строка:  0.1

Примечания:

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

2. Для правильной работы данного блока необходимо задать максимальный шаг интегрирования не больше, чем T/2. При интегрировании с постоянным шагом рекомендуется задать шаг таким, чтобы период квантования был кратен шагу интегрирования (T = k*h).


   Запаздывание дискретное

Блок реализует дискретное запаздывание входного сигнала на один период квантования:

y(t) = u(t[k-1]),

где y(t) - значение выходного сигнала в текущий момент модельного времени, u(t[k-1]) - значение входного сигнала в предпоследний момент дискретизации t[k-1].

Блок имеет 2 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   - период квантования T = t[k]-t[k-1];

Во 2-ой диалоговой строке - начальное условие Y(0).

Пример заполнения диалогового окна:

1-я строка:  0.1

2-я строка:  0

Примечание: Для правильной работы данного блока необходимо задать максимальный шаг интегрирования не больше, чем T/2. При интегрировании с постоянным шагом рекомендуется задать шаг таким, чтобы период квантования был кратен шагу интегрирования (T = k*h).


   Дискретная передаточная функция общего вида

Блок реализует дискретную передаточную функцию:

Обязательные условия: m <= n и an <> 0.

Блок имеет 4 диалоговые строки.

Для работы блока в диалоговых строках необходимо  задать:

В 1-ой диалоговой строке   - коэффициенты числителя bj;

Во 2-ой диалоговой строке - коэффициенты знаменателя ai;

В 3-ой диалоговой строке   - период квантования T;

В 4-ей диалоговой строке   - начальное условие  Y(0).

Пример заполнения диалогового окна:

1-я строка:  1  0.5  2 (m = 2)

2-я строка:  1  4  2  3  1 (n = 4)

3-я строка:  0.01

3-я строка:  2.5

Примечания:

1. Коэффициенты bj и ai вводятся (через пробел) по возрастающим степеням z.

2. Для правильной работы данного блока необходимо задать максимальный шаг интегрирования не больше, чем T/2. При интегрировании с постоянным шагом рекомендуется задать шаг таким, чтобы период квантования был кратен шагу интегрирования (T = k*h).


   Дискретная передаточная функция от обратного аргумента

Блок реализует дискретную передаточную функцию:

Обязательное условие: a0 <> 0.

Блок имеет 4 диалоговых строки.

Для работы блока в диалоговых строках необходимо  задать:

В 1-ой диалоговой строке   - коэффициенты числителя bj;

Во 2-ой диалоговой строке - коэффициенты знаменателя ai;

В 3-ой диалоговой строке   - период квантования T;

В 4-ей диалоговой строке   - начальное условие  Y(0).

Пример заполнения диалогового окна:

1-я строка:   1  0.5  2 (m = 2)

2-я строка:   1  4  2  3  1 (n = 4)

3-я строка:   0.01

4-я строка:   2.5

Примечания:

1. Коэффициенты bj и ai вводятся (через пробел) по убывающим степеням z.

2. Для правильной работы данного блока необходимо задать максимальный шаг интегрирования не больше, чем T/2. При интегрировании с постоянным шагом рекомендуется задать шаг таким, чтобы период квантования был кратен шагу интегрирования (T = k*h).


   Дискретный ПИД- регулятор

Блок реализует передаточную функцию дискретного ПИД-регулятора:

где Kp, Ki, Kd - пропорциональная, интегральная и дифференциальная составляющие; T - период квантования.

Блок имеет 5 диалоговых строк.

Для работы блока в диалоговых строках необходимо  задать:

В 1-ой диалоговой строке   - коэффициент Kp;

Во 2-ой диалоговой строке - коэффициент Ki;

В 3-ой диалоговой строке   - коэффициент Kd;

В 4-ой диалоговой строке   - период квантования T;

В 5-ей диалоговой строке   - начальное условие  Y(0).

Пример заполнения диалогового окна:

1-я строка:   4.5

2-я строка:   1.2

3-я строка:   10

4-я строка:   0.02

5-я строка:   - 0.5

Примечание: Для правильной работы данного блока необходимо задать максимальный шаг интегрирования не больше, чем T/2. При интегрировании с постоянным шагом рекомендуется задать шаг таким, чтобы период квантования был кратен шагу интегрирования (T = k*h).


   Дискретные переменные состояния

Блок реализует описание многомерной линейной дискретной системы в матричной форме:

x[k+1] = Ax[k] + Bu[k];

 y[k]    =  Cx[k] + Du[k],

где A, B, C, D - матрицы: собственная, входа, выхода и обхода, соответственно;

x -вектор переменных состояния, [Nx]; u - вектор входа, [Nu]; y - вектор выхода, [Ny].

Размерность матрицы А – [Nx*Nx].

Размерность матрицы B – [Nu*Nx].

Размерность матрицы C – [Nx*Ny].

Размерность матрицы D – [Nu*Ny].

1-е число в квадратных скобках – количество столбцов,

2-е число – количество строк.

Обязательное условие: Nx >= Ny

Вход и выход блока - векторные сигналы, размерностью Nu и Ny, соответственно.

Блок имеет 9 диалоговых строк.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   – число переменных состояний  Nx;

Во 2-ой диалоговой строке – число входных воздействий Nu;

В 3-ей диалоговой строке  – число выходов Ny;

В 4-ой диалоговой строке  – собственную матрицу А, [Nx*Nx];

В 5-ой диалоговой строке  – матрицу входа В, [Nu*Nx];

В 6-ой диалоговой строке  – матрицу выхода С, [Nx*Ny];

В 7-ой диалоговой строке  – матрицу обхода D, [Nu*Ny];

В 8-ой диалоговой строке  – вектор начальных условий хi(0) при t = 0, [Nx];

В 9-ой диалоговой строке   - период квантования T.

ВНИМАНИЕ!

Матрицы A, B, C и D задаются по СТОЛБЦАМ, а не по СТРОКАМ!!!

Пример заполнения диалогового окна:

1-я строка:   3

2-я строка:   2

3-я строка:   2

4-я строка:   (0 0 -2)(1 –4 -1)(0 1 -3)   (без пробела между скобками)

5-я строка:   (0 1 0)(0 0 2)      (без пробела между скобками)

6-я строка:   (1 -1)(1 2)(1 0)   (без пробела между скобками)

7-я строка:   (0 0)(0 0)           (без пробела между скобками)

8-я строка:   0 0 0    (нулевые начальные условия)

9-я строка:   0.03

Примечания:

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

2. Если блок имеет 1 вход (Nu = 1) и 1 выход (Ny = 1), D = 0 и, соответственно, 7-я строка – (0).

3. В “сборе” матрицы A, В, C и D образуют “прямоугольник”, размерностью:

- строк - (Nx+Ny);

- столбцов - (Nx+Nu).

4. Для правильной работы данного блока необходимо задать максимальный шаг интегрирования не больше, чем T/2. При интегрировании с постоянным шагом рекомендуется задать шаг таким, чтобы период квантования был кратен шагу интегрирования (T = k*h).


   Дифференцирование дискретное

Блок векторизован и реализует численное определение производной по формуле

     u(t[k]) - u(t[k-1])

y(t) = -------------------------- ,

t[k] - t[k-1]

где y(t) - значение выходного сигнала в текущий момент модельного времени, u(t[k]) и u(t[k-1]) - значения входного сигнала в последний и предпоследний моменты дискретизации t[k] и t[k-1].

Блок имеет 2 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   - период дискретизации T = t[k]-t[k-1];

Во 2-ой диалоговой строке - вектор начальных условий Y(0).

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка:   0.02

2-я строка:   1.5

Векторный вход (одинаковые начальные условия)

1-я строка:   0.02

2-я строка:   3#1.5

Векторный вход (разные начальные условия)

1-я строка:   0.02

2-я строка:   1.5  0  2.4 (через пробел)

Примечания:

1. По умолчанию блок реализует дифференцирование скалярного входного сигнала.

2. Для правильной работы данного блока необходимо задать максимальный шаг интегрирования не больше, чем T/2. При интегрировании с постоянным шагом рекомендуется задать шаг таким, чтобы период квантования был кратен шагу интегрирования (T = k*h).


   Разность нулевого порядка

Блок векторизован и реализует вычисление разности 1-го порядка по формуле

y(t) =  u(t) - u(t - dt) ,

где y(t) - значение выходного сигнала в текущий момент модельного времени; u(t-dt) - значения входного сигнала на предыдущем шаге интегрирования; dt – текущий шаг интегрирования.

Блок имеет 2 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке - Да (если блок используется для развязки алгебраических петель)  или Нет (в противном случае);

Во 2-ой диалоговой строке - вектор начальных условий Y(0).

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка:   Да

2-я строка:   1.5

Векторный вход (одинаковые начальные условия)

1-я строка:   Да

2-я строка:   3#1.5

Векторный вход (разные начальные условия)

1-я строка:   Да

2-я строка:   1.5  0  2.4 (через пробел)

Примечание: по умолчанию блок реализует задержку скалярного входного сигнала.


   Модельное время (часы)

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

Примечание: данный блок формирует скалярный выходной сигнал.


   Константа

Блок генерирует постоянный выходной сигнал K (константа).

Для работы блока необходимо задать величину сигнала K (в численном или символьном виде).

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


    Ступенчатое воздействие

Блок генерирует ступенчатый выходной сигнал K*1(t - Т) (смещенный скачок положения),

где  K = (Y1 – Y0)  – величина скачка положения;

Y0 – значение сигнала до скачка;

Y1 - значение сигнала после скачка;

Т   - время "включения" скачка.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке - время “включения” скачка в сек., значения сигналов до (Y0) и после (Y1) скачка (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 0 1 (через пробел)

Символьное задание параметров

Диалоговая строка – T a1 a2 (через пробел)

Смешанное задание параметров

Диалоговая строка – Т0 1 3 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


Многоступенчатое воздействие
   Кусочно-постоянное воздействие

Блок генерирует кусочно-постоянный (многоступенчатый) выходной сигнал, являющийся суперпозицией ступенчатых воздействий.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   – массив временных интервалов в сек. (через пробел);

Во 2-ой диалоговой строке – массив значений выходного сигнала (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров

1-я диалоговая строка  - 5 2 3 (через пробел)

2-я диалоговая строка  - 1 2 0 (через пробел)

Символьное задание параметров

1-я диалоговая строка  - Т1 Т2 Т3 (через пробел)

2-я диалоговая строка  - y1 y2 y3 (через пробел)

Смешанное задание параметров

1-я диалоговая строка  - 5 Т2 Т3 (через пробел)

2-я диалоговая строка  - 1 y2 0 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Линейное воздействие

Блок генерирует линейно нарастающий выходной сигнал  с начальным скачком положения:

y ( t ) = a0*1(t) + a1*t .

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке - коэффициенты a0 и a1 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 2 (через пробел)

Символьное задание параметров

Диалоговая строка  - а11 а22 (через пробел)

Смешанное задание параметров

Диалоговая строка  - 5 а1 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Квадратичное воздействие

Блок генерирует выходной сигнал в виде суперпозиции скачков положения, скорости и ускорения:

y ( t ) = a0*1(t) + a1*t + a2*t^2 .

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке - коэффициенты a0, a1 и а2 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 2 1 (через пробел)

Символьное задание параметров

Диалоговая строка  - а11 а22 а33 (через пробел)

Смешанное задание параметров

Диалоговая строка  - 5 а1 а2 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Полиномное воздействие

Блок генерирует выходной сигнал полиномного типа:

y ( t ) = a0*1(t) + a1*t +......+ aN*t^N.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке - коэффициенты a0, a1, а2, … an (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 2 1 0.5 (полином 3-ей степени)

Символьное задание параметров

Диалоговая строка  - а11 а22 а33 a44 (полином 3-ей степени)

Смешанное задание параметров

Диалоговая строка  - 5 а1 а2 0.5 (полином 3-ей степени)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Гиперболическое воздействие

Блок генерирует выходной сигнал, определяемый зависимостью:

y ( t ) = K / t.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке – коэффициент К и eps (через пробел),

где eps – "добавка" к знаменателю (по умолчанию eps = 1е-5)

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 1е-5 (через пробел)

Символьное задание параметров

Диалоговая строка  - а eps (через пробел)

Смешанное задание параметров

Диалоговая строка  - a 1е-5 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Синусоидальное воздействие

Блок генерирует синусоидальный выходной сигнал:

y ( t ) = A*sin(w*t + f ),

где  А  – амплитуда;

w – частота, 1/c;

f   – начальная фаза, рад.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

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

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 2 0 (через пробел)

Символьное задание параметров

Диалоговая строка  - А w1 pi/2 (через пробел)

Смешанное задание параметров

Диалоговая строка  - A12 50 pi (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


Экспонентциальное воздействие
   Экспоненциальное воздействие

Блок генерирует выходной сигнал, определяемый зависимостью:

y ( t ) = A*exp(B*t + C ).

где  А, B и С  – параметры блока.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке – коэффициенты А, B и С (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 2 0 (через пробел)

Символьное задание параметров

Диалоговая строка  - А1 B1 C1 (через пробел)

Смешанное задание параметров

Диалоговая строка  - 1 –0.072 C11 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Произвольное кусочно-линейное воздействие

Блок генерирует произвольный кусочно-линейный выходной сигнал, являющийся суперпозицией линейных воздействий.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   – массив временных отметок в сек. (через пробел);

Во 2-ой диалоговой строке – массив значений выходного сигнала (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров

1-я диалоговая строка  -    0 2 3 5 10 (через пробел)

2-я диалоговая строка  -    0 1 1 3 2  (через пробел)

Символьное задание параметров

1-я диалоговая строка  -    Т0 Т1 Т2 Т3 (через пробел)

2-я диалоговая строка  -    y0 y1 y2 y3 (через пробел)

Смешанное задание параметров

1-я диалоговая строка  -    0 5 Т2 Т3 (через пробел)

2-я диалоговая строка  -    0 1 y2 0 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Нормальный шум

Блок генерирует  псевдослучайную  последовательность  вещественных чисел,  нормально распределенных (по Гауссу).

Блок имеет 3 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   – математическое ожидание M;

Во 2-ой диалоговой строке – дисперсию D;

В 3-ей диалоговой строке   – период квантования в секундах.

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

Примеры заполнения диалогового окна:

Числовое задание параметров

1-я диалоговая строка  -    0

2-я диалоговая строка  -    1

3-я диалоговая строка  -    0 (в секундах)

Символьное задание параметров

1-я диалоговая строка  -    M

2-я диалоговая строка  -    D

3-я диалоговая строка  -    dt (в секундах)

Смешанное задание параметров

1-я диалоговая строка  -    M

2-я диалоговая строка  -    D

3-я диалоговая строка  -    0.001 (в секундах)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Равномерный шум

Блок генерирует псевдослучайную последовательность вещественных чисел,  равномерно распределенных в диапазоне от y_miп до y_max.

Блок имеет 3 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   –Ymiп (нижнюю границу диапазона);

Во 2-ой диалоговой строке – Ymax (верхнюю границу диапазона);

В 3-ей диалоговой строке   – период квантования в секундах.

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

Примеры заполнения диалогового окна:

Числовое задание параметров

1-я диалоговая строка  -    5

2-я диалоговая строка  -    2

3-я диалоговая строка  -    0 (в секундах)

Символьное задание параметров

1-я диалоговая строка  -    Н1

2-я диалоговая строка  -    В1

3-я диалоговая строка  -    dt (в секундах)

Смешанное задание параметров

1-я диалоговая строка  -    3

2-я диалоговая строка  -    Макс

3-я диалоговая строка  -    0.001 (в секундах)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Пила

Блок генерирует  периодически линейно нарастающий пилообразный  выходной сигнал.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать:

Y   – “высоту зуба” пилы;

Т   - период в сек. (“шаг зубьев” пилы);

DY – ординату “основания зуба” пилы.

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 2 0 (через пробел)

Символьное задание параметров

Диалоговая строка  - Y1 T1 DY1 (через пробел)

Смешанное задание параметров

Диалоговая строка  - 3 T11 -1 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Обратная пила

Блок генерирует  периодически линейно убывающий пилообразный  выходной сигнал.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать:

Y   – “высоту зуба” пилы;

Т   - период в сек. (“шаг зубьев” пилы);

DY – ординату “основания зуба” пилы.

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 2 0 (через пробел)

Символьное задание параметров

Диалоговая строка  - Y1 T1 DY1 (через пробел)

Смешанное задание параметров

Диалоговая строка  - 3 T11 -1 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Треугольное воздействие

Блок генерирует треугольный выходной сигнал.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать:

Y   – амплитуду (высоту треугольника);

Т   - период в сек.

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 2 (через пробел)

Символьное задание параметров

Диалоговая строка  - Y1 T1 (через пробел)

Смешанное задание параметров

Диалоговая строка  - 3 T11 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Меандр

Блок генерирует прямоугольный выходной сигнал (меандр).

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать:

Y1   – амплитуду “прямоугольника” (или амплитуду “впадины”);

Т1   - период “прямоугольника” или “впадины” в сек.;

Y2   – амплитуду “впадины” (или амплитуду “прямоугольника”);

Т2   - период “впадины” или “прямоугольника” в сек.

Примеры заполнения диалогового окна:

Числовое задание параметров

Диалоговая строка  - 5 2 0 2 (через пробел)

Символьное задание параметров

Диалоговая строка  - Y11 T11 Y12 T12 (через пробел)

Смешанное задание параметров

Диалоговая строка  - 3 T21 1 T22 (через пробел)

Примечания:

1. Данный блок формирует скалярный выходной сигнал.

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


   Текущий шаг интегрирования

Блок формирует на своем выходе текущий шаг интегрирования.

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


   Ключ управляющий

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

Положение ключа устанавливается в процессе формирования структурной схемы или оперативно переключается Пользователем в режиме "on-line" при моделировании динамического процесса (2-х кратным щелчком левой клавиши "мыши" в поле блока).

Блок имеет 2 состояния: замкнутое или разомкнутое, контролируемое визуально по изображению блока на структурной схеме.

Цвет пиктограммы блока в замкнутом состоянии - синий, а в разомкнутом состоянии – красный.

В замкнутом состоянии сигналы на входе и выходе блока равны, а в разомкнутом состоянии сигнал (сигналы) на выходе блока равен (равны) нулю.

По умолчанию блок имеет замкнутое состояние.

Для работы блока параметры не требуются.


Ключ-1А
   Ключ-1A

Блок векторизован и реализует функцию управляемого ключа по алгоритму:

y ( t ) = Y0, если  x ( t ) < К;

y ( t ) = x ( t ), если  x ( t ) >= К,

где  x(t)   - вектор входных сигналов;

y(t)  -  вектор выходных сигналов;

К      -  вектор "порогов" (параметров уставок);

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

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   – вектор пороговых значений К (через пробел);

Во 2-ой диалоговой строке – вектор выходных сигналов блока Y0, при входных сигналах, меньших пороговых значений (через пробел).

Примеры заполнения диалогового окна:

Скалярный входной сигнал

1-я диалоговая строка  -    0.5

2-я диалоговая строка  -    0

Векторный входной сигнал (3 сигнала)

1-я диалоговая строка  -    0.5 1.2 2.5 (через пробел)

2-я диалоговая строка  -    0.5 0 1.5 (через пробел)

Векторный входной сигнал (3 сигнала) и символьное задание параметров

1-я диалоговая строка  -    К1 К2 К3 (через пробел)

2-я диалоговая строка  -    y1 y2 0 (через пробел)

Примечания:

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

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


Ключ-2А
   Ключ-2A

Блок векторизован и реализует функцию управляемого ключа по алгоритму:

y1 ( t ) = x ( t ),  если  x ( t ) >= К;

y1 ( t ) = Y0,      если  x ( t )  <  К;

y2 ( t ) =  x ( t ), если  x ( t )  <  К;

y2 ( t ) = Y0,      если  x ( t ) >= К,

где x(t)     -  вектор входных сигналов;

      y1(t)    -  вектор сигналов на 1-ом выходном порте;

y2(t)  -  вектор сигналов на 2-ом выходном порте;

         К       - вектор пороговых значений (уставок), определяющих условия перекоммутации сигналов на выходных портах блока;

        Y0    -  вектор сигналов на 1-ом выходном порте блока, при входных сигналах, меньших пороговых значений К  или  вектор сигналов на 2-ом выходном порте блока, при входных сигналах, больших пороговых значений К.

Количество портов: 1 входной и 2 выходных.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке     – вектор пороговых значений К (через пробел);

Во 2-ой диалоговой строке   – вектор сигналов Y0 (через пробел) на 1-ом выходном порте блока, при входных сигналах, меньших пороговых значений К  или, соответственно,  вектор сигналов на 2-ом выходном порте блока, при входных сигналах, больших пороговых значений К.

Примеры заполнения диалогового окна:

Скалярный входной сигнал

1-я диалоговая строка  -    0.2

2-я диалоговая строка  -    0

Векторный входной сигнал (2 сигнала)

1-я диалоговая строка  -    0.2  0.5 (через пробел)

2-я диалоговая строка  -    0  0.5    (через пробел)

Векторный входной сигнал (2 сигнала) и символьное задание параметров

1-я диалоговая строка  -    К11  К12   (через пробел)

2-я диалоговая строка  -    К21  К22   (через пробел)

Примечания:

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

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


Ключ-3А
   Ключ-3A

Блок векторизован и реализует функцию управляемого ключа по алгоритму:

y1 ( t ) = x ( t ),  если  x ( t ) <= К1;

y1 ( t ) = Y10,     если  x ( t )  >  К1;

y2 ( t ) =  x ( t ), если  x ( t )  >  К2;

y2 ( t ) = Y20,     если  x ( t ) <= К2,

где x(t)     -  вектор входных сигналов;

      y1(t)    -  вектор сигналов на 1-ом выходном порте;

y2(t)  -  вектор сигналов на 2-ом выходном порте;

     К1, K2 - векторы пороговых значений (уставок), определяющих условия перекоммутации сигналов на выходных портах блока;

        Y10   -  вектор сигналов на 1-ом выходном порте блока, при входных сигналах, больших пороговых значений К1;

        Y20   -  вектор сигналов на 2-ом выходном порте блока, при входных сигналах, меньших пороговых значений К2.

Количество портов: 1 входной и 2 выходных.

Блок имеет 4 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   – вектор пороговых значений К1 (через пробел);

Во 2-ой диалоговой строке – вектор пороговых значений К2 (через пробел);

В 3-ей диалоговой строке   – вектор сигналов Y10 (через пробел) на 1-ом выходном порте блока, при входных сигналах, больших пороговых значений К1;

В 4-ой диалоговой строке   – вектор сигналов Y20 (через пробел) на 2-ом выходном порте блока, при входных сигналах, меньших пороговых значений К2.

Примеры заполнения диалогового окна:

Скалярный входной сигнал

1-я диалоговая строка  -    0.2

2-я диалоговая строка  -    0.5

3-я диалоговая строка  -    0.2

4-я диалоговая строка  -    0

Векторный входной сигнал (2 сигнала)

1-я диалоговая строка  -    0.2 0.5 (через пробел)

2-я диалоговая строка  -    0.3 0.7 (через пробел)

3-я диалоговая строка  -    0 0 (через пробел)

4-я диалоговая строка  -    0.3 0.7 (через пробел)

Векторный входной сигнал (2 сигнала) и символьное задание параметров

1-я диалоговая строка  -    К11 К12   (через пробел)

2-я диалоговая строка  -    К21 К22   (через пробел)

3-я диалоговая строка  -    y11 y12   (через пробел)

4-я диалоговая строка  -    y21 y22   (через пробел)

Примечания:

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

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


Ключ-4А
   Ключ-4A

Блок векторизован и реализует функцию управляемого ключа по алгоритму:

y ( t ) = x1 ( t ),  если  x2 ( t )   < К;

y ( t ) = x3 ( t ),  если  x2 ( t ) >= К,

где  x1(t)     -  вектор входных сигналов на 1-ом входном порте;

x2(t)     -  вектор управляющих сигналов на 2-ом входном порте;

x3(t)     -  вектор входных сигналов на 3-ом входном порте;

y(t)       -  вектор сигналов на выходном порте;

К           - вектор пороговых значений управляющих сигналов (обычно логических уставок), определяющих условия перекоммутации входных сигналов на выход блока;

Количество портов: 3 входных и 1 выходной.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке     – вектор пороговых значений управляющих сигналов К (через пробел);

Во 2-ой диалоговой строке   – выбрать тип управляющих сигналов (Скаляр или Вектор).

Примеры заполнения диалогового окна:

Скалярный входной сигнал

1-я диалоговая строка  -    0.2

2-я диалоговая строка  -    Скаляр

Векторный входной сигнал (2 сигнала)

1-я диалоговая строка  -    0.2  0.5 (через пробел)

2-я диалоговая строка  -    Вектор

Векторный входной сигнал (2 сигнала) и символьное задание параметров

1-я диалоговая строка  -    К1  К2   (через пробел)

2-я диалоговая строка  -    Вектор

Примечания:

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

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


Ключ-5Т
   Ключ-5T

Блок векторизован и реализует функцию управляемого ключа по алгоритму:

y ( t ) = Y0,      если  t < Т0;

y ( t ) = x ( t ), если  t >=Т0,

где  x(t)   - вектор входных сигналов;

y(t)  -  вектор выходных сигналов;

Т0    - вектор времен “замыкания” соответствующих входов и выходов;

Y0   - вектор выходных сигналов блока при временах, меньших Т0.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   – вектор времен Т0 (через пробел), при которых происходит “замыкание” соответствующих входов и выходов;

Во 2-ой диалоговой строке – вектор выходных сигналов Y0 (через пробел) блока при временах, меньших Т0.

Примеры заполнения диалогового окна:

Скалярный входной сигнал

1-я диалоговая строка  -    0.5

2-я диалоговая строка  -    0

Векторный входной сигнал (3 сигнала)

1-я диалоговая строка  -    0.5  1.2  2.5 (через пробел)

2-я диалоговая строка  -    0  0  1.5       (через пробел)

Векторный входной сигнал (3 сигнала) и символьное задание параметров

1-я диалоговая строка  -    К1  К2  К3 (через пробел)

2-я диалоговая строка  -    y1  y2  0   (через пробел)

Примечания:

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

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


Ключ-6Т
   Ключ-6T

Блок векторизован и реализует функцию управляемого ключа по алгоритму:

y1 ( t ) = x ( t ),  если t  <  x ( t );

y1 ( t ) = Y0,      если t >= x ( t );

y2 ( t ) = Y0,      если t  <  x ( t );

y2 ( t ) = x ( t ),  если t >= x ( t ).

где  x(t)     -  вектор входных сигналов;

y1(t)  -  вектор сигналов на 1-ом выходном порте;

y2(t)  -  вектор сигналов на 2-ом выходном порте;

Y0     -  вектор сигналов на 1-ом выходном порте блока при t >= x(t) и, соответственно, вектор сигналов на 2-ом выходном порте блока при t < x(t).

Количество портов: 1 входной и 2 выходных.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать вектор Y0 (через пробел), соответствующий сигналам на 1-ом выходном порте блока при t >= x(t) и, соответственно, сигналам на 2-ом выходном порте блока при t < x(t).

Примеры заполнения диалогового окна:

Скалярный входной сигнал

Диалоговая строка  -    0.5

Векторный входной сигнал (3 сигнала)

Диалоговая строка  -    0.5  1.2  2.5 (через пробел)

Векторный входной сигнал (3 сигнала) и символьное задание параметров

Диалоговая строка  -    Y1  Y2  Y3 (через пробел)

Примечания:

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

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


Ключ-7Т
   Ключ-7T

Блок векторизован и реализует функцию управляемого ключа по алгоритму:

y1 ( t ) = x ( t ),  если t  <  Т10;

y1 ( t ) = Y10,     если t >= Т10;

y2 ( t ) = Y20,     если t  < Т20;

y2 ( t ) = x ( t ),  если t >= Т20;

где  x(t)     -  вектор входных сигналов;

y1(t)  -  вектор сигналов на 1-ом выходном порте;

y2(t)  -  вектор сигналов на 2-ом выходном порте;

Y10   -  вектор сигналов на 1-ом выходном порте блока при t >= Т10;

Y20   -  вектор сигналов на 2-ом выходном порте блока при t =< Т20.

Количество портов: 1 входной и 2 выходных.

Блок имеет 4 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   – вектор времен переключения Т10 (через пробел);

Во 2-ой диалоговой строке – вектор времен переключения Т20 (через пробел);

В 3-ей диалоговой строке   – вектор Y10 (через пробел), соответствующий сигналам на 1-ом выходном порте блока при t >= T10;

В 4-ой диалоговой строке   – вектор Y20 (через пробел), соответствующий сигналам на 2-ом выходном порте блока при t =< T20;

Примеры заполнения диалогового окна:

Скалярный входной сигнал

1-я диалоговая строка  -    2

2-я диалоговая строка  -    5

3-я диалоговая строка  -    1

4-я диалоговая строка  -    0

Векторный входной сигнал (2 сигнала)

1-я диалоговая строка  -    2  5 (через пробел)

2-я диалоговая строка  -    3  7 (через пробел)

3-я диалоговая строка  -    0  0 (через пробел)

4-я диалоговая строка  -    2  3 (через пробел)

Векторный входной сигнал (2 сигнала) и символьное задание параметров

1-я диалоговая строка  -    T11  T12   (через пробел)

2-я диалоговая строка  -    T21  T22   (через пробел)

3-я диалоговая строка  -    y11  y12   (через пробел)

4-я диалоговая строка  -    y21  y22   (через пробел)

Примечания:

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

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


Ключ-8Т
   Ключ-8T

Блок векторизован и реализует функцию управляемого ключа по алгоритму:

y ( t ) = x1 ( t ),  если t  <  Т0;

y ( t ) = x2 ( t ),  если t >= Т0,

где  x1(t)  - вектор сигналов на 1-ом входном порте;

х2(t)  - вектор сигналов на 1-ом входном порте;

y(t)   -  вектор сигналов на выходном порте;

Т0    -  вектор времен перекоммутации входов с выходом блока.

Количество портов: 2 входных и 1 выходной.

Блок имеет 1 диалоговую строку.

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

Примеры заполнения диалогового окна:

Скалярный входной сигнал

Диалоговая строка  -    5

Векторный входной сигнал (3 сигнала)

Диалоговая строка  -    5  12  25 (через пробел)

Векторный входной сигнал (3 сигнала) и символьное задание параметров

Диалоговая строка  -    Y1  Y2  Y3 (через пробел)

Примечания:

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

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


   Ключ интегратора

Блок реализует функцию управляемого ключа для интегрирующего привода (типа интегратора или инерционно-интегрирующего звена) по следующему алгоритму:

y ( t ) = x1 ( t ),  если a1 < x2 ( t ) < a2;

y ( t ) = 0,  если x2 ( t ) <= a1  и  x1 ( t ) <= 0,

или   x2 ( t ) >= a2  и x1 ( t ) >= 0;

y ( t ) = x1 ( t ),  если x2 ( t ) <= a1  и  x1 ( t ) > 0,

 или   x2 ( t ) >= a2  и x1 ( t ) < 0,

где  x1(t) - сигнал на 1-ый вход блока;

x2(t) - управляющий сигнал на 2-ой вход блока (с выхода интегратора, расположенного последовательно за данным блоком);

y(t)  - сигнал на выходе блока (на входе в интегратор);

ВНИМАНИЕ: Коэффициент усиления интегратора К > 0.

Количество портов: 2 входных и 1 выходной.

Блок имеет 1 диалоговую строку.

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

Примеры заполнения диалогового окна:

Численный вид задания параметров

Диалоговая строка  -    0.01  0.99 (через пробел)

Символьный вид задания параметров

Диалоговая строка  -    Ymin  Ymax (через пробел)

Примечания:

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

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


Специализированная библиотека  Кинетика нейтронов

В учебной версии ПК “МВТУ” Специализированная библиотека  Кинетика  нейтронов  содержит два типовых блока, описывающих нейтронно-кинетические процессы в ядерном реакторе в точечном односкоростном приближении. Оба блока позволяют описывать кинетику ядер-предшественников запаздывающих нейтронов от одно- до  n- группового приближений.

Уравнения кинетики нейтронов

Классическая модель кинетики нейтронов

Модель мгновенного скачка


    Уравнения кинетики нейтронов

В данной версии ПК “МВТУ” Специализированная библиотека  Кинетика  нейтронов  содержит три типовых блока.

Первые два блока (Классическая модель кинетики нейтронов и Модель мгновенного скачка) позволяют описывать кинетику ядер-предшественников запаздывающих нейтронов от одно- до  n- группового приближений. Математические модели этих блоков получены на основании известных уравнений кинетики “точечного” ядерного реактора  в односкоростном приближении (т.е. процесс деления ядер осуществляется нейтронами одной энергетической группы - либо только тепловыми, либо только быстрыми):

где    N(t)       - мощность реактора;

p(t)       - реактивность;

   - эффективная доля запаздывающих нейтронов;

        - время жизни мгновенных нейтронов;

C_i(t)   - концентрация ядер-предшественников запаздывающих нейтронов i-той группы;

      - постоянная распада ядер-предшественников i-той группы;

      - доля запаздывающих нейтронов i-той группы;

S(t)     - интенсивность внешнего источника нейтронов.

Третий блок (Остаточное энерговыделение) описывает математическую модель динамики остаточного энерговыделения в заглушенном ядерном реакторе с учетом 23-х групп источников .

Классическая модель кинетики нейтронов

Модель мгновенного скачка

Остаточное энерговыделение


   Классическая модель кинетики нейтронов

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

Блок имеет один входной и один выходной порты.

Данный типовой блок соответствует постоянному (во времени) интенсивности внешнего источника нейтронов.

Входным сигналом в блок является абсолютное изменение реактивности (p(t) - p(0)).

Выходным сигналом из блока являются либо безразмерное отклонение нейтронной мощности [image] = (N(t) – N(0)) / N(0), либо безразмерная нейтронная мощность [image] N(t) / N(0).

Диалоговое окно данного типового блока имеет 7 диалоговых строк.

Для работы блока в диалоговом  окне необходимо задать:

В 1-ой диалоговой строке   – Эффективную долю запаздывающих нейтронов

Во 2-ой диалоговой строке – Начальную подкритичность (в долях В_эфф)

В 3-ей диалоговой строке  – Время жизни мгновенных нейтронов, сек

В 4-ой диалоговой строке  –  Число групп запаздывающих нейтронов

В 5-ой диалоговой строке  – Относительные доли групп запаздывающих нейтронов

В 6-ой диалоговой строке  – Постоянные распада групп запаздывающих нейтронов

В 7-ой диалоговой строке  – Нормировка (1 – если выход блока нормированная мощность; 0 – если выход блока нормированные отклонения мощности)

Математическая модель данного блока получена на основании известных уравнений кинетики “точечного” ядерного реактора  в односкоростном приближении (т.е. процесс деления ядер осуществляется нейтронами одной энергетической группы - либо только тепловыми, либо только быстрыми):

где     N(t)      - мощность реактора;

p(t)       - реактивность;

   - эффективная доля запаздывающих нейтронов;

        - время жизни мгновенных нейтронов;

C_i (t)  - концентрация ядер-предшественников запаздывающих нейтронов i-той группы;

      - постоянная распада ядер-предшественников i-той группы;

      - доля запаздывающих нейтронов i-той группы;

S(t)     - интенсивность внешнего источника нейтронов.

После преобразований исходная система уравнений  принимает вид:

где  [image]  - нормированное отклонение концентрации ядер-предшественников запаздывающих нейтронов i-той группы;

     - абсолютная (по модулю) подкритичность ядерного реактора в долях В_эфф;

  - относительное изменение реактивности в долях В_эфф;

     - относительная доля запаздывающих нейтронов i -той группы.

При t = 0 реактор находится в стационаре, поэтому [image].

Примечания:

1. По умолчанию в первых строках введены параметры, приблизительно соответствующие данным для реактора РБМК-1000.

2. По умолчанию [image] и [image] соответствуют данным для “чистого” топлива U-235, хотя Пользователь может их скорректировать, например, если в процессе работы реактора нуклидный состав топлива изменился.

3. Структура диалогового окна этого блока позволяет задать и другое число групп ядер-предшественников запаздывающих нейтронов и, соответственно, [image] и [image]. Например, если необходимо учесть вклад фотонейтронов, то, число групп может быть увеличено, например, до 8, и наоборот, можно ввести одногрупповую модель кинетики запаздывающих нейтронов.

4. Если реактор подкритичен, то считается, что его стационарное состояние при t =< 0 поддерживалось внешним источником нейтронов.

5. Переход к абсолютной мощности ядерного реактора при использовании данного блока необходимо проводить по формуле:

где N(0) - стационарное значение мощности при t = 0.


   Модель мгновенного скачка

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

Блок имеет один входной и один выходной порты.

Данный типовой блок соответствует постоянному (во времени) интенсивности внешнего источника нейтронов.

Входным сигналом в блок является абсолютное изменение реактивности (p(t) - p(0)).

Выходным сигналом из блока являются либо безразмерная нейтронная мощность [image] N(t) / N(0), либо безразмерное отклонение нейтронной мощности [image] = (N(t) – N(0)) / N(0).

Диалоговое окно данного типового блока имеет 6 диалоговых строк.

Для работы блока в диалоговом  окне необходимо задать:

В 1-ой диалоговой строке   – Эффективную долю запаздывающих нейтронов

Во 2-ой диалоговой строке – Начальную подкритичность (в долях В_эфф)

В 3-ей диалоговой строке  –  Число групп запаздывающих нейтронов

В 4-ой диалоговой строке  – Относительные доли групп запаздывающих нейтронов

В 5-ой диалоговой строке  – Постоянные распада групп запаздывающих нейтронов

В 6-ой диалоговой строке  – Нормировка (1 – если выход блока нормированная мощность; 0 – если выход блока нормированные отклонения мощности)

Математическая модель данного блока получена на основании известных уравнений кинетики “точечного” ядерного реактора  в односкоростном приближении (т.е. процесс деления ядер осуществляется нейтронами одной энергетической группы - либо только тепловыми, либо только быстрыми):

где  N(t)       - мощность реактора;

p(t)       - реактивность;

   - эффективная доля запаздывающих нейтронов;

        - время жизни мгновенных нейтронов;

C_i(t)   - концентрация ядер-предшественников запаздывающих нейтронов i -той группы;

      - постоянная распада ядер-предшественников i-той группы;

      - доля запаздывающих нейтронов i -той группы;

S(t)     - интенсивность внешнего источника нейтронов.

Уравнения кинетики нейтронов после преобразований исходной системы уравнений  принимает вид:

где    [image].

Очевидно, что если при t <= 0  нейтронная мощность постоянна, то начальные условия для нормированных концентраций ядер-предшественников запаздывающих нейтронов равны 1,0.

Примечания:

1. По умолчанию в первых строках введены параметры, приблизительно соответствующие данным для реактора РБМК-1000.

2. По умолчанию [image] и [image] соответствуют данным для “чистого” топлива U-235, хотя Пользователь может их скорректировать, например, если в процессе работы реактора нуклидный состав топлива изменился.

3. Структура диалогового окна этого блока позволяет задать и другое число групп ядер-предшественников запаздывающих нейтронов и, соответственно, [image] и [image]. Например, если необходимо учесть вклад фотонейтронов, то, число групп может быть увеличено, например, до 8, и наоборот, можно ввести одногрупповую модель кинетики запаздывающих нейтронов.

4. Если реактор подкритичен, то считается, что его стационарное состояние при t =< 0 поддерживалось внешним источником нейтронов.


   Остаточное энерговыделение

Если ядерный реактор работает в окрестности номинального режима, то для расчета его мощности (нейтронной и тепловой) можно использовать только уравнения кинетики нейтронов, так как в этом случае значения относительной нейтронной мощности (нормированной на номинальную нейтронную мощность) и относительной тепловой мощности (нормированной на номинальную тепловую мощность) приблизительно равны:

 .

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

На вход блока Остаточное энерговыделение подается относительная нейтронная мощность, вычисленная при помощи блока Кинетика нейтронов, причем в диалоговом окне блока Кинетика нейтронов в строке Нормировка необходимо установить 1.

В диалоговом окне блока Остаточное энерговыделение необходимо задать предысторию работы реактора в виде суперпозиции ступенчатых функций.

На рисунке 1 представлена копия диалогового окна блока Остаточное энерговыделение, параметры в диалоговых строках соответствуют:

при 0 =< t < 3.6e6 c реактор работал на 10-процентной мощности;

при 3.6е6 =< t < 7.2e6 c реактор работал на 50-процентной мощности;

при 7.2e6 =< t < 10.8e6 c реактор работал на 100-процентной мощности;

при  t = 10.8e6 c реактор работал на 100-процентной мощности.

Рис. 1

Пример использования блока Остаточное энерговыделение приведен на рисунке 2.

Рис. 2

Типовой блок Усилитель выполняет нормировку тепловой мощности реактора, а подпись 1/1.0658 под блоком «сообщает», что на момент аварийной ситуации дополнительный вклад в тепловую мощность остаточного энерговыделения составляет 6.58 %.


   Линейная функция

Блок векторизован и реализует линейное преобразование входного сигнала (скалярного или векторного):

y ( t ) = a0 + a1 * x ( t ),

где   y(t) – вектор выходного сигнала;

x(t) – вектор входного сигнала.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать Коэффициенты прямой a0 и a1 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 1 1 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - а11 а12 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 5 а2 (через пробел)

Примечания:

1. По умолчанию данный блок реализует линейное преобразование входного сигнала  (скалярного или векторного) с параметрами а0 = 0 и а1 = 1.

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


   Квадратичная функция

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = a0 + a1 * x ( t ) + a2 * x ( t )^2,

где  	     y(t) – вектор выходного сигнала;

     x(t) – вектор входного сигнала;

а0, а1, а2 – коэффициенты параболы.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать Коэффициенты параболы a0, a1 и а2 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 1 2 4 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - а11 а12 а13 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 5 а1 3 (через пробел)

Примечания:

1. По умолчанию данный блок реализует квадратичное преобразование входного сигнала  (скалярного или векторного) с параметрами а0 = 0, а1 = 0 и а2 = 1.

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


   Полиномная функция

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = a0 + a1 * x ( t ) + a2 * x ( t )^2 + ...+ aN * x ( t )^N,

где  	         y(t) – вектор выходного сигнала;

          x(t) – вектор входного сигнала;

а0, а1, …аN – коэффициенты полинома.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать Коэффициенты полинома a0, a1, а2… аN (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 1 2 4 1 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - а11 а12 а13 а14 а15 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 5 а1 3 а3 (через пробел)

Примечания:

1. По умолчанию данный блок реализует квадратичное преобразование входного сигнала  (скалярного или векторного) с параметрами а0 = 0, а1 = 0, а2 = 0 и а3 = 1.

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


   Гиперболическая функция

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = K / [ x ( t ) + EPS],

где   y(t) – вектор выходного сигнала;

 x(t) – вектор входного сигнала;

    K – коэффициенты усиления;

EPS – "добавка".

Желательное условие: x(t) < > 0.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициент усиления К и "добавку" EPS (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 1 0.001 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - K1 eps1 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - K2 0.01 (через пробел)

Примечания:

1. По умолчанию данный блок реализует гиперболическое преобразование входного сигнала  (скалярного или векторного) с параметрами К = 1 и EPS = 0.01.

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


   Экспонента

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = a0 * exp [ a1 * x ( t ) + a2 ],

где  	     y(t) – вектор выходного сигнала;

     x(t) – вектор входного сигнала;

а0, а1, а2 – коэффициенты преобразования.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0, а1 и а2 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 1 1 0 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - а1 b1  eps1 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - a2 0.1 0 (через пробел)

Примечания:

1. По умолчанию данный блок реализует гиперболическое преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1, a1 = 1 и a2 = 0.

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


   Синус

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = A * sin [w * x ( t ) + f ],

где  y(t) – вектор выходного сигнала;

x(t) – вектор входного сигнала;

   A – амплитуда;

   w – частота в рад./c;

    f – фаза в рад.

Если f = 0, то блок реализует преобразование "по синусу", а если f = pi/2, то "по косинусу".

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать Амплитуду А, Частоту w и Фазу f (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 1 1 0 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - а1 w1  f1 (через пробел)

Смешанное задание параметров (преобразование "по косинусу" по всем “жилам”)

Диалоговая строка  - a2 0.1 pi/2 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами A = 1, w = 1 и f = 0.

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


   Арксинус

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а0 * arcsin [а1 * x ( t ) + а2 ],

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

 а0, а1, а2 – коэффициенты преобразования.

Обязательное условие: abs[a1*x(t) + a2] <=1.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0, а1 и а2 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 1 1 0 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - y0 k0  d0 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - y1 1 0.1 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1, a1 = 1 и a2 = 0.

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


   Арккосинус

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а0 * arccos [а1 * x ( t ) + а2 ],

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

 а0, а1, а2 – коэффициенты преобразования.

Обязательное условие: abs[a1*x(t) + a2] <=1.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0, а1 и а2 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 1 1 0 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - y0 k0  d0 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - y1 1 0.1 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1, a1 = 1 и a2 = 0.

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


   Арктангенс

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а0 * arctg [а1 * x ( t ) + а2 ],

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

 а0, а1, а2 – коэффициенты преобразования.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0, а1 и а2 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 1 1 0 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - y0 k0  d0 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - y1 1 0.1 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1, a1 = 1 и a2 = 0.

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


   Арккотангенс

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а0 * arcctg [а1 * x ( t ) + а2 ],

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

 а0, а1, а2 – коэффициенты преобразования.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0, а1 и а2 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 1 1 0 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - y0 k0  d0 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - y1 1 0.1 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1, a1 = 1 и a2 = 0.

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


   Синус гиперболический

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а0 * sh [а1 * x ( t )],

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

  а0, а1 – коэффициенты преобразования.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0 и а1 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 2 1 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - k0 k1 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - k1 1 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1 и a2 = 1.

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


   Косинус гиперболический

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а0 * ch [а1 * x ( t )],

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

   а0, а1 – коэффициенты преобразования.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0 и а1 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 2 1 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - k0 k1 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - k1 0.1 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1 и a1 = 1.

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


   Тангенс гиперболический

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а0 * th [а1 * x ( t )],

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

   а0, а1 – коэффициенты преобразования.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0 и а1 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 2 1 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - k0 k1 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - k1 0.1 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1 и a1 = 1.

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


   Котангенс гиперболический

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а0 * cth [а1 * x ( t )],

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

   а0, а1 – коэффициенты преобразования.

Обязательное условие: abs[a1*x(t)] > 0.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0 и а1 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 2 1 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - k0 k1 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - k1 0.1 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1 и a1 = 1.

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


   Степенная функция

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = x ( t ) ^ a,

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

          а – показатель степени.

Обязательное условие: x(t) > 0.

Блок имеет 1 диалоговую строку.

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

Примеры заполнения диалогового окна:

Числовое задание параметра (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 0.8

Символьное задание параметра (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - m

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметром a = 1.

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


   Показательная функция

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а ^ [b * x ( t )],

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

          а – основание показательной функции;

          b – коэффициент.

Обязательное условие: a > 0.

Блок имеет 2 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   -  коэффициент b;

Во 2-ой диалоговой строке – основание показательной функции а;

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

1-я диалоговая строка  - 2

2-я диалоговая строка  - 2.3

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

1-я диалоговая строка  - b0

2-я диалоговая строка  - a0

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

1-я диалоговая строка  - b0

2-я диалоговая строка  - 2

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами b = 1 и a = 1.

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


Показательно-степенная функция
   Показательнo-степенная функция

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а * x1 ( t ) ^ [b * x2 ( t )],

где  	       y(t) – вектор выходного сигнала в рад.;

       x(t) – вектор входного сигнала;

       а, b – коэффициенты преобразования.

Обязательное условие: x1(t)] > 0.

Блок имеет 2 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   -  коэффициент a;

Во 2-ой диалоговой строке – коэффициент b;

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

1-я диалоговая строка  - 2

2-я диалоговая строка  - 2.3

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

1-я диалоговая строка  - a0

2-я диалоговая строка  - b0

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

1-я диалоговая строка  - a0

2-я диалоговая строка  - 2

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a = 1 и b = 1.

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


   Логарифм натуральный

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а0 * ln [а1 * x ( t ) + a2],

где  	           y(t) – вектор выходного сигнала в рад.;

           x(t) – вектор входного сигнала;

а0, а1, a2 – коэффициенты преобразования.

Обязательное условие: a1*x(t) + a2 > 0.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0, a1 и а2 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 2 1 3 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - k0 k1 k2 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - p1 0.1 0.2 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1, a1 = 1 и a2 = 0.

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


   Логарифм десятичный

Блок векторизован и реализует преобразование входного сигнала (скалярного или векторного) по алгоритму:

y ( t ) = а0 * lg [а1 * x ( t ) + a2],

где  	           y(t) – вектор выходного сигнала в рад.;

           x(t) – вектор входного сигнала;

а0, а1, a2 – коэффициенты преобразования.

Обязательное условие: a1*x(t) + a2 > 0.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать коэффициенты преобразования а0, a1 и а2 (через пробел).

Примеры заполнения диалогового окна:

Числовое задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - 2 1 3 (через пробел)

Символьное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - k0 k1 k2 (через пробел)

Смешанное задание параметров (одинаковое преобразование по всем “жилам”)

Диалоговая строка  - p1 0.1 0.2 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование входного сигнала  (скалярного или векторного) с параметрами a0 = 1, a1 = 1 и a2 = 0.

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


Логическое И
   Логическое “И”

Блок векторизован и реализует преобразование входных сигналов (скалярных или векторных) по алгоритмам:

Обычное логическое И:           y ( t ) = 1,  если  x1 ( t ) = 1  и  x2 ( t ) = 1,

иначе  у ( t ) = 0;

Отрицание логического И:     y ( t ) = 0,  если  x1 ( t ) = 1  и  x2 ( t ) = 1,

иначе  у ( t ) = 1,

где  у(t) – вектор выходного сигнала; x1(t), x2(t) – векторы входных  сигналов.

Блок имеет 2 входных порта и 1 выходной порт.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Во 2-й диалоговой строке выбрать - Тип второго входного порта (скаляр или вектор).

Примеры заполнения диалогового окна:

Числовое задание параметров обычного логического И

1-я диалоговая строка  - 1  0 (через пробел);

2-я диалоговая строка  - скаляр.

Символьное задание параметров обычного логического И

1-я диалоговая строка  - TF (вектор TF - глобальный параметр: TF[2] = [1 0] );

2-я диалоговая строка  - скаляр.

Числовое задание параметров отрицания логического И

1-я диалоговая строка  - 0  1 (через пробел);

2-я диалоговая строка  - вектор.

Символьное задание параметров отрицания логического И

1-я диалоговая строка  - FT (вектор FT - глобальный параметр: FT[2] = [0 1] );

2-я диалоговая строка  - вектор.

Примечания:

1. По умолчанию данный блок реализует алгоритм  обычного логического И  для векторного сигнала на 1-ом входном порте при скалярном входном сигнале на 2-ом входном порте.

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

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


Логическое ИЛИ
   Логическое  “ИЛИ”

Блок векторизован и реализует преобразование входных сигналов (скалярных или векторных) по алгоритмам:

Обычное логическое ИЛИ:           y ( t ) = 1,  если  x1 ( t ) = 1  или  x2 ( t ) = 1,

иначе  у ( t ) = 0;

Отрицание логического ИЛИ:     y ( t ) = 0,  если  x1 ( t ) = 1  или  x2 ( t ) = 1,

иначе  у ( t ) = 1,

где  у(t) – вектор выходного сигнала; x1(t), x2(t) – векторы входных  сигналов.

Блок имеет 2 входных порта и 1 выходной порт.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Во 2-й диалоговой строке выбрать - Тип второго входного порта (скаляр или вектор).

Примеры заполнения диалогового окна:

Числовое задание параметров обычного логического ИЛИ

1-я диалоговая строка  - 1  0 (через пробел);

2-я диалоговая строка  - скаляр.

Символьное задание параметров обычного логического ИЛИ

1-я диалоговая строка  - TF (вектор TF - глобальный параметр: TF[2] = [1 0] );

2-я диалоговая строка  - скаляр.

Числовое задание параметров отрицания логического ИЛИ

1-я диалоговая строка  - 0  1 (через пробел);

2-я диалоговая строка  - вектор.

Символьное задание параметров отрицания логического ИЛИ

1-я диалоговая строка  - FT (вектор FT - глобальный параметр: FT[2] = [0 1] );

2-я диалоговая строка  - вектор.

Примечания:

1. По умолчанию данный блок реализует алгоритм  обычного логического ИЛИ  для векторного сигнала на 1-ом входном порте при скалярном входном сигнале на 2-ом входном порте.

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

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


Логическое НЕ
   Логическое  “НЕ”

Блок векторизован и реализует преобразование входных сигналов (скалярных или векторных) по алгоритмам:

Обычное логическое НЕ:           y ( t ) = 0,   если  x ( t ) = 1, иначе  у ( t ) = 1;

Отрицание логического НЕ:     y ( t ) = 1,  если  x ( t ) = 0, иначе  у ( t ) = 0,

где  у(t) – вектор выходного сигнала; x(t) – вектор входного сигнала.

Блок имеет 1 входной порт и 1 выходной порт.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо в диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Примеры заполнения диалогового окна:

Числовое задание параметров обычного логического НЕ

Диалоговая строка  - 1  0 (через пробел);

Символьное задание параметров обычного логического НЕ

Диалоговая строка  - TF (вектор TF - глобальный параметр: TF[2] = [1 0] );

Числовое задание параметров отрицания логического НЕ

Диалоговая строка  - 0  1 (через пробел);

Символьное задание параметров отрицания логического НЕ

Диалоговая строка  - FT (вектор FT - глобальный параметр: FT[2] = [0 1] );

Примечания:

1. По умолчанию данный блок реализует алгоритм  обычного логического НЕ  для векторного сигнала на входном порте.

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


   Логическое “Больше”

Блок векторизован и реализует преобразование входных сигналов (скалярных или векторных) по алгоритмам:

Обычное логическое Больше:         y ( t ) = 1,  если  x1 ( t ) > x2 ( t ), иначе  у ( t ) = 0;

Отрицание логического Больше:   y ( t ) = 0,  если  x1 ( t ) > x2 ( t ), иначе  у ( t ) = 1,

где  у(t) – вектор выходного сигнала; x1(t), x2(t) – векторы входных  сигналов.

Блок имеет 2 входных порта и 1 выходной порт.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Во 2-й диалоговой строке выбрать - Тип второго входного порта (скаляр или вектор).

Примеры заполнения диалогового окна:

Числовое задание параметров обычного логического Больше

1-я диалоговая строка  - 1  0 (через пробел);

2-я диалоговая строка  - скаляр.

Символьное задание параметров обычного логического Больше

1-я диалоговая строка  - TF (вектор TF - глобальный параметр: TF[2] = [1 0] );

2-я диалоговая строка  - скаляр.

Числовое задание параметров отрицания логического Больше

1-я диалоговая строка  - 0  1 (через пробел);

2-я диалоговая строка  - вектор.

Символьное задание параметров отрицания логического Больше

1-я диалоговая строка  - FT (вектор FT - глобальный параметр: FT[2] = [0 1] );

2-я диалоговая строка  - вектор.

Примечания:

1. По умолчанию данный блок реализует алгоритм  обычного логического Больше  для векторного сигнала на 1-ом входном порте при скалярном входном сигнале на 2-ом входном порте.

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

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


   Логическое “Меньше”

Блок векторизован и реализует преобразование входных сигналов (скалярных или векторных) по алгоритмам:

Обычное логическое Меньше:         y ( t ) = 1,  если  x1 ( t ) < x2 ( t ), иначе  у ( t ) = 0;

Отрицание логического Меньше:   y ( t ) = 0,  если  x1 ( t ) < x2 ( t ), иначе  у ( t ) = 1,

где  у(t) – вектор выходного сигнала; x1(t), x2(t) – векторы входных  сигналов.

Блок имеет 2 входных порта и 1 выходной порт.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Во 2-й диалоговой строке выбрать - Тип второго входного порта (скаляр или вектор).

Примеры заполнения диалогового окна:

Числовое задание параметров обычного логического Меньше

1-я диалоговая строка  - 1  0 (через пробел);

2-я диалоговая строка  - скаляр.

Символьное задание параметров обычного логического Меньше

1-я диалоговая строка  - TF (вектор TF - глобальный параметр: TF[2] = [1 0] );

2-я диалоговая строка  - скаляр.

Числовое задание параметров отрицания логического Меньше

1-я диалоговая строка  - 0  1 (через пробел);

2-я диалоговая строка  - вектор.

Символьное задание параметров отрицания логического Меньше

1-я диалоговая строка  - FT (вектор FT - глобальный параметр: FT[2] = [0 1] );

2-я диалоговая строка  - вектор.

Примечания:

1. По умолчанию данный блок реализует алгоритм  обычного логического Меньше  для векторного сигнала на 1-ом входном порте при скалярном входном сигнале на 2-ом входном порте.

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

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


   Логическое “Больше-равно”

Блок векторизован и реализует преобразование входных сигналов (скалярных или векторных) по алгоритмам:

Обычное логическое Больше-равно:         y ( t ) = 1,  если  x1 ( t ) >= x2 ( t ), иначе  у ( t ) = 0;

Отрицание логического Больше-равно:   y ( t ) = 0,  если  x1 ( t ) >= x2 ( t ), иначе  у ( t ) = 1,

где  у(t) – вектор выходного сигнала; x1(t), x2(t) – векторы входных  сигналов.

Блок имеет 2 входных порта и 1 выходной порт.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Во 2-й диалоговой строке выбрать - Тип второго входного порта (скаляр или вектор).

Примеры заполнения диалогового окна:

Числовое задание параметров обычного логического Больше-равно

1-я диалоговая строка  - 1  0 (через пробел);

2-я диалоговая строка  - скаляр.

Символьное задание параметров обычного логического Больше-равно

1-я диалоговая строка  - TF (вектор TF - глобальный параметр: TF[2] = [1 0] );

2-я диалоговая строка  - скаляр.

Числовое задание параметров отрицания логического Больше-равно

1-я диалоговая строка  - 0  1 (через пробел);

2-я диалоговая строка  - вектор.

Символьное задание параметров отрицания логического Больше-равно

1-я диалоговая строка  - FT (вектор FT - глобальный параметр: FT[2] = [0 1] );

2-я диалоговая строка  - вектор.

Примечания:

1. По умолчанию данный блок реализует алгоритм  обычного логического Больше-равно  для векторного сигнала на 1-ом входном порте при скалярном входном сигнале на 2-ом входном порте.

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

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


   Логическое “Меньше-равно”

Блок векторизован и реализует преобразование входных сигналов (скалярных или векторных) по алгоритмам:

Обычное логическое Меньше-равно:         y ( t ) = 1,  если  x1 ( t ) <= x2 ( t ), иначе  у ( t ) = 0;

Отрицание логического Меньше-равно:   y ( t ) = 0,  если  x1 ( t ) <= x2 ( t ), иначе  у ( t ) = 1,

где  у(t) – вектор выходного сигнала; x1(t), x2(t) – векторы входных  сигналов.

Блок имеет 2 входных порта и 1 выходной порт.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Во 2-й диалоговой строке выбрать - Тип второго входного порта (скаляр или вектор).

Примеры заполнения диалогового окна:

Числовое задание параметров обычного логического Меньше-равно

1-я диалоговая строка  - 1  0 (через пробел);

2-я диалоговая строка  - скаляр.

Символьное задание параметров обычного логического Меньше-равно

1-я диалоговая строка  - TF (вектор TF - глобальный параметр: TF[2] = [1 0] );

2-я диалоговая строка  - скаляр.

Числовое задание параметров отрицания логического Меньше-равно

1-я диалоговая строка  - 0  1 (через пробел);

2-я диалоговая строка  - вектор.

Символьное задание параметров отрицания логического Меньше-равно

1-я диалоговая строка  - FT (вектор FT - глобальный параметр: FT[2] = [0 1] );

2-я диалоговая строка  - вектор.

Примечания:

1. По умолчанию данный блок реализует алгоритм  обычного логического Меньше-равно  для векторного сигнала на 1-ом входном порте при скалярном входном сигнале на 2-ом входном порте.

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

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


Логическое равно
   Логическое “Равно”

Блок векторизован и реализует преобразование входных сигналов (скалярных или векторных) по алгоритмам:

Обычное логическое Равно:         y ( t ) = 1,  если  x1 ( t ) = x2 ( t ), иначе  у ( t ) = 0;

Отрицание логического Равно:   y ( t ) = 0,  если  x1 ( t ) = x2 ( t ), иначе  у ( t ) = 1,

где  у(t) – вектор выходного сигнала; x1(t), x2(t) – векторы входных  сигналов.

Блок имеет 2 входных порта и 1 выходной порт.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Во 2-й диалоговой строке выбрать - Тип второго входного порта (скаляр или вектор).

Примеры заполнения диалогового окна:

Числовое задание параметров обычного логического Равно

1-я диалоговая строка  - 1  0 (через пробел);

2-я диалоговая строка  - скаляр.

Символьное задание параметров обычного логического Равно

1-я диалоговая строка  - TF (вектор TF - глобальный параметр: TF[2] = [1 0] );

2-я диалоговая строка  - скаляр.

Числовое задание параметров отрицания логического Равно

1-я диалоговая строка  - 0  1 (через пробел);

2-я диалоговая строка  - вектор.

Символьное задание параметров отрицания логического Равно

1-я диалоговая строка  - FT (вектор FT - глобальный параметр: FT[2] = [0 1] );

2-я диалоговая строка  - вектор.

Примечания:

1. По умолчанию данный блок реализует алгоритм  обычного логического Равно  для векторного сигнала на 1-ом входном порте при скалярном входном сигнале на 2-ом входном порте.

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

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


   Логическое “Неравно”

Блок векторизован и реализует преобразование входных сигналов (скалярных или векторных) по алгоритмам:

Обычное логическое Неравно:         y ( t ) = 1,  если  x1 ( t ) <> x2 ( t ), иначе  у ( t ) = 0;

Отрицание логического Неравно:   y ( t ) = 0,  если  x1 ( t ) <> x2 ( t ), иначе  у ( t ) = 1,

где  у(t) – вектор выходного сигнала; x1(t), x2(t) – векторы входных  сигналов.

Блок имеет 2 входных порта и 1 выходной порт.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Во 2-й диалоговой строке выбрать - Тип второго входного порта (скаляр или вектор).

Примеры заполнения диалогового окна:

Числовое задание параметров обычного логического Неравно

1-я диалоговая строка  - 1  0 (через пробел);

2-я диалоговая строка  - скаляр.

Символьное задание параметров обычного логического Неравно

1-я диалоговая строка  - TF (вектор TF - глобальный параметр: TF[2] = [1 0] );

2-я диалоговая строка  - скаляр.

Числовое задание параметров отрицания логического Неравно

1-я диалоговая строка  - 0  1 (через пробел);

2-я диалоговая строка  - вектор.

Символьное задание параметров отрицания логического Неравно

1-я диалоговая строка  - FT (вектор FT - глобальный параметр: FT[2] = [0 1] );

2-я диалоговая строка  - вектор.

Примечания:

1. По умолчанию данный блок реализует алгоритм  обычного логического Неравно  для векторного сигнала на 1-ом входном порте при скалярном входном сигнале на 2-ом входном порте.

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

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


   Универсальный логический блок

Блок векторизован и реализует преобразование входных сигналов (скалярных или векторных) по основным алгоритмам логической обработки: И, ИЛИ, Больше, Меньше, Равно, Неравно, Больше-равно, Меньше-равно,

Блок имеет 2 входных порта и 1 выходной порт.

Блок имеет 3 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Во 2-й диалоговой строке выбрать - Тип второго входного порта (скаляр или вектор).

В 3-й диалоговой строке выбрать - Тип операнда (из списка операндов)

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

Примечания:

1. По умолчанию данный блок реализует алгоритм  обычного логического И  для векторного сигнала на 1-ом входном порте при скалярном входном сигнале на 2-ом входном порте.

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

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


Логические XOR/NXOR
   Логические XOR и NXOR

Блок векторизован и реализует преобразование вектора входных сигналов по алгоритмам логических операций XOR и Not XOR.

Блок имеет один векторный вход и один скалярный выход.

Размер вектора входных сигналов произволен, но не может быть меньше 2.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE (истина) и FALSE (ложь).

Во 2-й диалоговой строке выбрать - Тип операнда (XOR или NXOR)

Алгоритм работы блока следующий:

Первый входной сигнал сравнивается со вторым входным сигналом в соответствии с типом операции, заданной в параметрах блока (XOR или Not XOR).

Результатом операции XOR является TRUE, если один из операндов, но не оба вместе, отличны от 0. В противном случае результат равен FALSE.

Результатом операции Not XOR является TRUE, если оба операнда либо отличны от 0, либо равны 0. В противном случае результат равен FALSE.

Результат операций XOR или Not XOR над первыми двумя входными сигналами сравнивается с третьим входным сигналом (если он присутствует) и т. д.

На выход блока посылается скалярное значение, равное результату последней операции XOR или Not XOR в соответствии с заданными Пользователем в параметрах блоках значениями для TRUE и FALSE.

Пример. Пусть входной вектор x = [1 0 1 0 0 1]. Реализовать алгоритм XOR.

Алгоритм XOR для векторного сигнала из 6 элементов реализуется в 5 этапов:

1-ый этап: Сравниваются 1-ый и 2-ой элементы ==> 1 и 0 ==> 1

2-ый этап: Сравниваются результат 1-го этапа и 3-ий элемент ==> 1 и 1 ==> 0

3-ый этап: Сравниваются результат 2-го этапа и 4-ый элемент ==> 0 и 0 ==> 0

4-ый этап: Сравниваются результат 3-го этапа и 5-ый элемент ==> 0 и 0 ==> 0

5-ый этап: Сравниваются результат 4-го этапа и 6-ой элемент ==> 0 и 1 ==> 1

Примечание: по умолчанию данный блок реализует алгоритм  обычного логического XOR  для векторного сигнала на входном порте.


Триггер
   Триггер обычный

Блок векторизован и реализует преобразование векторов входных логических сигналов по следующему алгоритму:

где [image] - сигналы на 1-ом и 2-ом входе, соответственно; y – сигнал на выходе блока.

Блок имеет два векторных входа и один векторный выход.

Размерность векторов входных сигналов должна быть одинаковой.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Размерность обрабатываемых векторов (натуральное число N, равное размерности входных векторов)

Во 2-й диалоговой строке выбрать – Начальные условия (начальный вектор выходного сигнала)

Пример.

Пусть входные векторы равны x_1 = [1 0 0]  и  x_2 = [0 1 0].

Вектор начальных условий y(0) = [0 0 0].

Результат обработки ==>  y = [1 0 0].

Примечания:

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

2.	Если входные сигналы на обоих входных портах равны 1, то сигнал на выходе блока не изменяется.


   Триггер с внешним заданием начального состояния

Блок векторизован и реализует преобразование векторов входных логических сигналов по следующему алгоритму:

где [image] - сигналы на 1-ом и 2-ом входе, соответственно; [image] – сигналы на выходах блока.

Внимание:

В  базовом алгоритме входные и выходные логические сигналы типа TRUE (истина) соответствуют 1, а логические сигналы типа FALSE (ложь) соответствуют 0.

В альтернативных алгоритмах логические сигналы (входные или выходные) типа TRUE (истина) соответствуют 0, а логические сигналы типа FALSE (ложь) соответствуют 1.

Блок имеет три векторизованных  входных порта:

1-ый входной порт – для 1-го вектора логических входных сигналов;

2-ой входной порт – для 2-го вектора логических входных сигналов;

3-ий входной порт – для вектора внешних сигналов, задающих начальные состояния.

Блок имеет два векторных выходных порта:

1-ый выходной порт – для 1-го вектора логических выходных сигналов;

2-ой выходной порт – для 2-го вектора логических выходных сигналов.

Размерность всех векторов входных сигналов должна быть одинаковой.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE и FALSE : 1  0 (через пробел) в базовом алгоритме  или  0  1  (через пробел) в альтернативных алгоритмах.

Во 2-й диалоговой строке задать – Размерность обрабатываемых векторов (натуральное число N, равное размерности входных векторов)

Пример.

Реализуется базовый алгоритм обработки: входные и выходные логические сигналы типа TRUE (истина) соответствуют 1, а логические сигналы типа FALSE (ложь) соответствуют 0.

Входные векторы равны: x_1 = [1 0 0]  и  x_2 = [0 1 0].

Вектор начальных условий y(0) = [0 0 0].

Результат обработки ==>  y = [1 0 0].

Примечания:

1. Фактически 2-ой выходной сигнал является отрицанием 1-го выходного сигнала.

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

3. Если входные сигналы на первых двух входных портах равны 1, то сигналы на выходах блока не изменяются.


   M из N

Блок векторизован и реализует обработку вектора (векторов) логических входных сигналов по следующему алгоритму:

Если из общего числа N логических входных сигналов М сигналов (или больше) равны TRUE (истина), то выходной сигнал блока равен TRUE. В противном случае выходной сигнал равен FALSE (ложь).

Внимание:

В  базовом алгоритме входные и выходные логические сигналы типа TRUE (истина) соответствуют 1, а логические сигналы типа FALSE (ложь) соответствуют 0.

В альтернативных алгоритмах логические сигналы (входные или выходные) типа TRUE (истина) соответствуют 0, а логические сигналы типа FALSE (ложь) соответствуют 1.

Блок имеет один или более векторных входов и один скалярный выход.

Суммарный размер векторов входных сигналов не может быть меньше М.

Блок имеет 4 диалоговые строки.

Для работы блока необходимо:

В 1-ой диалоговой строке задать – Число входов (входных портов).

Во 2-ой диалоговой строке задать – Число входных логических TRUE для подтверждения срабатывания (значение М).

В 3-ей диалоговой строке задать – Значения TRUE для входов:  1 в базовом алгоритме или  0 в альтернативных алгоритмах.

В 4-ой диалоговой строке задать - Значения TRUE, FALSE  для выходов: 1  0 (через пробел) в базовом алгоритме  или  0  1  (через пробел) в альтернативных алгоритмах.

Пример 1.

Реализуется базовый алгоритм обработки: входные и выходные логические сигналы типа TRUE (истина) соответствуют 1, а логические сигналы типа FALSE (ложь) соответствуют 0.

Блок имеет 2 входа.

Входные вектора равны: x_1 = [1 0 1]  и  x_2 = [1 0 0 1]

Результат обработки:

- если заданное значение М =< 4, то выходной сигнал блока будет равен 1;

- если заданное значение М > 4, то выходной сигнал блока будет равен 0.

Пример 2.

Реализуется один из альтернативных алгоритмов обработки: входные логические сигналы типа TRUE (истина) соответствуют 0; выходной логический сигнал типа TRUE (истина) соответствует 1, а выходной логический сигнал типа FALSE (ложь) соответствует 0.

Блок имеет один вход.

Входной вектор равен: x = [1 0 0 1 0 0 1 0 1]

Результат обработки:

- если заданное значение М =< 5, то выходной сигнал блока будет равен 1;

- если заданное значение М > 5, то выходной сигнал блока будет равен 0.

Примечания:

1. По умолчанию данный блок реализует базовый алгоритм обработки.

2. Данный блок широко используется в системах управления и защиты (СУЗ) ядерных энергетических установок, в которых блок реализует алгоритм «два из трех».


   Временное подтверждение

Блок векторизован и реализует временную «выдержку» на изменение типа выходного логического сигнала при изменении типа соответствующего логического сигнала в векторе входных сигналов.

Блок реализует 3 варианта выполнения процедуры временное подтверждение:

Вариант 1   ==>  (опция  Всегда)

Если в процессе моделирования при времени t = t_о какой-то логический сигнал в векторе входа изменил свое значение с FALSE на TRUE (или, наоборот, с TRUE на FALSE) и затем в течение заданного интервала времени dt (времени подтверждения) сигнал не изменяет типа, то при t >= t_о + dt  соответствующий логический выходной сигнал в векторе выхода становится равным TRUE (или, наоборот, равным  FALSE).

Если в течение заданного интервала времени dt (времени подтверждения) логический сигнал на входе снова изменил свое значение с TRUE на FALSE (или, наоборот, с FALSE на TRUE), то при t >= t_о + dt  соответствующий логический выходной сигнал в векторе выхода остается равным FALSE (или, наоборот, равным TRUE).

Внимание:

В  базовом алгоритме входные и выходные логические сигналы типа TRUE (истина) соответствуют 1, а логические сигналы типа FALSE (ложь) соответствуют 0.

В альтернативных алгоритмах логические сигналы (входные или выходные) типа TRUE (истина) соответствуют 0, а логические сигналы типа FALSE (ложь) соответствуют 1.

Вариант 2   ==>  (опция  Вход становится TRUE)

В данном варианте операция временное подтверждение реализуется только при изменении типа логического входного сигнала с FALSE на TRUE.

При изменении типа логического входного сигнала с TRUE на FALSE  происходит мгновенное (без «выдержки») изменение на тип FALSE соответствующего логического выходного сигнала.

Вариант 3   ==>  (опция  Вход становится FALSE)

В данном варианте операция временное подтверждение реализуется только при изменении типа логического входного сигнала с TRUE на FALSE.

При изменении типа логического входного сигнала с FALSE на TRUE  происходит мгновенное (без «выдержки») изменение на тип TRUE соответствующего логического выходного сигнала.

Блок имеет один векторизованный вход и один векторизованный выход.

Блок имеет 4 диалоговые строки.

Для работы блока необходимо:

В 1-ой диалоговой строке задать – Значения TRUE для входов:  1 в базовом алгоритме или  0 в альтернативных алгоритмах.

Во 2-ой диалоговой строке задать – Значения TRUE, FALSE  для выходов: 1  0 (через пробел) в базовом алгоритме  или  0  1  (через пробел) в альтернативных алгоритмах.

В 3-ей диалоговой строке задать – Вектор времен подтверждения (через пробел в секундах).

В 4-ой диалоговой строке выбрать – опцию Подтверждение требуется: Всегда  или  Вход становится TRUE  или  Вход становится FALSE.

Примечания:

1. По умолчанию данный блок реализует базовый алгоритм (TRUE  ==> 1,  а FALSE  ==> 0)   и 1-ый вариант реализации процедуры временное подтверждение (Всегда).

2. Данный блок используется в системах автоматического управления для «отсеивания» ложных кратковременных сигналов…


   Счетчик

Блок векторизован и реализует обработку вектора действительных входных сигналов по алгоритму одного из следующих вариантов:

Вариант 1   ==>  (опция  Внутри диапазона)

Если в процессе моделирования значение какого-то действительного сигнала в векторе входных сигналов вошло в пределы заданного диапазона [min…max], то к имеющемуся на этот момент времени «показанию счетчика» по этому сигналу добавляется число 1.  Это означает, что соответствующий сигнал в векторном выходном сигнале блока увеличивается на 1.

Вариант 2   ==>  (опция  Вне диапазона)

Если в процессе моделирования значение какого-то действительного сигнала в векторе входных сигналов вышло за пределы заданного диапазона [min…max], то к имеющемуся на этот момент времени «показанию счетчика» по этому сигналу добавляется число 1.  Это означает, что соответствующий сигнал в векторном выходном сигнале блока увеличивается на 1.

Блок имеет один векторизованный вход и один векторизованный выход.

Блок имеет 4 диалоговые строки.

Для работы блока необходимо:

В 1-ой диалоговой строке задать – Размерность обрабатываемого вектора.

Во 2-ой диалоговой строке задать – Нижние пределы диапазонов.

В 3-ей диалоговой строке задать – Верхние пределы диапазонов.

В 4-ой диалоговой строке выбрать – опцию Счетчик, если вход :  Внутри диапазона  или  Вне диапазона.

Примеры заполнения диалогового окна

Численное задание параметров

Размерность обрабатываемого вектора :   4

Нижние пределы диапазонов :   -1  -1.2  -2.5  0.1 (через пробел)

Верхние пределы диапазонов :   1  2  -2  0.2 (через пробел)

Счетчик, если вход :  Внутри диапазона

Символьное задание параметров

Размерность обрабатываемого вектора :  N (значение N=4 задано в окне Глобальных параметров Проекта…)

Нижние пределы диапазонов :   X_min (вектор X_min = [-1  -1.2  -2.5  0.1] задан в окне Глобальных параметров Проекта…)

Верхние пределы диапазонов :  X_max (вектор X_max = [1  2  -2  0.2] задан в окне Глобальных параметров Проекта…)

Счетчик, если вход :  Внутри диапазона

Смешанное задание параметров

Размерность обрабатываемого вектора :  4

Нижние пределы диапазонов :  X_min (вектор X_min = [-1  -1.2  -2.5  0.1] задан в окне Глобальных параметров Проекта…)

Верхние пределы диапазонов :  1  2  -2  0.2 (через пробел)

Счетчик, если вход :  Внутри диапазона

Примечания:

1. По умолчанию данный блок реализует обработку скалярного сигнала по алгоритму опции Внутри диапазона.

2. При векторном входе размерности векторов, определяющих нижние и верхние пределы диапазонов должны быть обязательно равны.


   Один из многих

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

Алгоритм работы блока:

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

Если в процессе моделирования какой-то логический сигнал (любой, кроме N-го) в векторе входа изменил свой тип с FALSE на TRUE, то соответствующий сигнал в векторе выхода изменяет свой тип на TRUE (активный) и одновременно N-ый сигнал в векторе выхода становится типа FALSE (неактивный).

Внимание:

В  базовом алгоритме входные и выходные логические сигналы типа TRUE (активный) соответствуют 1, а логические сигналы типа FALSE (неактивный) соответствуют 0.

В альтернативных алгоритмах логические сигналы (входные или выходные) типа TRUE (активный) соответствуют 0, а логические сигналы типа FALSE (неактивный) соответствуют 1.

Блок имеет один векторизованный вход и один векторизованный выход.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE и FALSE : 1  0 (через пробел) в базовом алгоритме  или  0  1  (через пробел) в альтернативных алгоритмах.

Во 2-й диалоговой строке задать – Номер активного сигнала в векторе выхода (число N)

Примечания:

1. По умолчанию блок реализует: базовый алгоритм обработки; выходной сигнал типа TRUE (активный) в векторе выхода – 1 (первый).

2. Данный блок используется при разработке математической модели логики АСУ ТП энергоблоков АЭС с реактором типа ВВЭР, где он реализует, например, логику работы группы кнопок с зависимой фиксацией.  ==>  Блок преобразует входные импульсные сигналы, появляющиеся при нажатии одной из управляющих кнопок на виртуальной панели управления ("Работа", "Резерв" или "Ремонт") в дискретные взаимозависимые сигналы состояния ("Работа", "Резерв" или "Ремонт").


   Один из многих по номеру

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

Алгоритм работы блока:

Если в процессе моделирования скалярный  входной сигнал при округлению до целого равен М (1 =< M =< N, где N – размерность вектора выхода), то в векторе выхода тип TRUE (активный) имеет только М-ый сигнал, а все остальные сигналы в векторе выхода соответствуют типу FALSE (неактивный).

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

Внимание:

В  базовом алгоритме выходные логические сигналы типа TRUE (активный) соответствуют 1, а логические сигналы типа FALSE (неактивный) соответствуют 0.

В альтернативных алгоритмах выходные логические сигналы типа TRUE (активный) соответствуют 0, а логические сигналы типа FALSE (неактивный) соответствуют 1.

Блок имеет один скалярный  вход и один векторный выход.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Значения TRUE и FALSE : 1  0 (через пробел) в базовом алгоритме  или  0  1  (через пробел) в альтернативных алгоритмах.

Во 2-й диалоговой строке задать – Размерность вектора выхода (число N)

Примечания:

1. По умолчанию блок реализует базовый алгоритм обработки: выходные логические сигналы типа TRUE (активный) соответствуют 1, а логические сигналы типа FALSE (неактивный) соответствуют 0.

2. Данный блок используется при разработке математической модели логики АСУ ТП энергоблоков АЭС с реактором типа ВВЭР, где он реализует, например, логику работы группы кнопок с зависимой фиксацией.


   Линейное с насыщением

Блок векторизован и реализует преобразование вектора входных сигналов посредством единой нелинейной статической характеристики типа "насыщение" по следующему алгоритму:

y ( t ) = K * x ( t ), если a < x ( t ) < b;

y ( t ) = y1, если  x ( t ) <= a;

y ( t ) = y2, если  x ( t ) >= b,

где x(t) – вектор входных сигналов; y(t) - вектор выходных сигналов; К = (y2-y1)/(b - a).

Блок имеет 1 входной и 1 выходной порты.

Диалоговое окно блока имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать Параметры статической характеристики - a, b, y1, y2.

Примечание:  для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


   Линейное с зоной нечувствительности

Блок векторизован и реализует преобразование вектора входных сигналов посредством единой нелинейной статической характеристики типа "линейная с зоной нечувствительности" по следующему алгоритму:

y ( t ) = K * [x ( t ) - a], если x ( t ) < a;

y ( t ) = 0, если a <= x ( t ) <= b;

y ( t ) = K * [x ( t ) - b], если x ( t ) > b.

где x(t) – вектор входных сигналов; y(t) - вектор выходных сигналов.

Блок имеет 1 входной и 1 выходной порты.

Диалоговое окно блока имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать Параметры статической характеристики - a, b и К.

Примечание:  для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


Линейное с насыщением и с зоной нечувствительности
   Линейное с насыщением и зоной нечувствительности

Блок векторизован и реализует преобразование вектора входных сигналов посредством единой нелинейной статической характеристики типа "линейная с насыщением и зоной нечувствительности" по следующему алгоритму:

y ( t ) = y1, если  x ( t ) <= a1;

y ( t ) = K1 * [x ( t ) - a], если  a1 < x ( t ) < a;

y ( t ) = 0, если  a <= x ( t ) <= b;

y ( t ) = K2 * [x ( t ) - b], если  b < x ( t ) < b1;

y ( t ) = y2, если  x ( t ) >= b1,

где x(t) – вектор входа; y(t) - вектор выхода;  К1 = y1/(a1-a);  K2 = y2/(b1-b).

Блок имеет 1 входной и 1 выходной порты.

Диалоговое окно блока имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать Параметры статической характеристики - a1, a, b, b1, y1, y2.

Примечание:  для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


   Релейное неоднозначное

Блок векторизован и реализует преобразование вектора входных сигналов посредством единой нелинейной статической характеристики типа "релейная неоднозначная" при различных начальных условиях по следующему алгоритму:

y ( t ) = y1, если x ( t ) < a;

y ( t ) = y(t - dt), если  a <= x ( t ) <= b;

y ( t ) = y2, если x ( t ) > b,

где x(t) – вектор входных сигналов; y(t) - вектор выходных сигналов, dt - предыдущий временной шаг интегрирования.

Блок имеет 1 входной и 1 выходной порты.

Диалоговое окно блока имеет 2 диалоговые строки.

Для работы блока в диалоговом окне необходимо задать:

В 1-ой диалоговой строке - Параметры статической характеристики a, b, y1, y2;

Во 2-ой диалоговой строке – вектор Начальных условий y(0) (начальные состояния).

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка:   - 1  1  -1  1 (через пробел)

2-я строка:   1

Векторный вход (3 одинаковых реле)

1-я строка:   - 0.5  0.5  1  1 (через пробел)

2-я строка:     1  1  1 (через пробел)

Векторный вход (3 разных реле)

1-я строка:  - 1  1  1  -1 (через пробел)

2-я строка:  - 1  1  0 (через пробел)

Примечания:

1. По умолчанию блок реализует преобразование скалярного входного сигнала.

2. Для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


Релейное неоднозначное с зоной нечувствительности
   Релейная неоднозначная с зоной нечувствительности

Блок векторизован и реализует преобразование вектора входных сигналов посредством единой нелинейной статической характеристики типа "Релейная неоднозначная с зоной нечувствительности" при различных начальных условиях по следующему алгоритму:

y ( t ) = y1, если  x ( t ) < a1;

y ( t ) = 0, если  a2 < x ( t ) < b1;

y ( t ) = y(t - dt), если a1 <= x ( t ) <= a2,

     или, если  b1 <= x ( t ) <= b2;

y ( t ) = y2, если  x ( t ) > b2;

где x(t) – вектор входных сигналов; y(t) - вектор выходных сигналов, dt - предыдущий временной шаг интегрирования.

Блок имеет 1 входной и 1 выходной порты.

Диалоговое окно блока имеет 2 диалоговые строки.

Для работы в диалоговом окне блока необходимо задать:

В 1-ой диалоговой строке - Параметры статической характеристики a1, a2, b1, b2, y1, y2;

Во 2-ой диалоговой строке – вектор Начальных условий y(0) (начальные состояния).

При наличии “перехлеста” зон возврата процесс переключения определяется с учетом предыдущего состояния реле.

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка:   - 1  -0.5  0.5  1  -1  1 (через пробел)

2-я строка:   0

Векторный вход (3 одинаковых реле)

1-я строка:   - 1  -0.6  0.8  1  -1  1 (через пробел)

2-я строка:     0  0  0  0 (через пробел)

Векторный вход (3 разных реле)

1-я строка:  - 1  -0.8  0.8  1  -1  1 (через пробел)

2-я строка:  - 1  1  0  0 (через пробел)

Примечания:

1. По умолчанию блок реализует преобразование скалярного входного сигнала.

2. Для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


   Зазор

Блок векторизован и реализует преобразование вектора входных сигналов посредством единой нелинейной статической характеристики типа "Зазор" при различных начальных условиях по следующему алгоритму:

y(t) = K*[x(t) - b], если x(t) > [y(t - dt)/ K + b];

y(t) = K*[x(t) +b], если x(t) < [y(t - dt)/ K  - b];

y(t) = y(t - dt), если [y(t - dt)/ K  - b] <= x(t) <= [y(t - dt)/ K + b],

где x(t) – вектор входных сигналов; y(t) - вектор выходных сигналов, dt - предыдущий временной шаг интегрирования.

Блок имеет 1 входной и 1 выходной порты.

Диалоговое окно блока имеет 2 диалоговые строки.

Для работы в диалоговом окне блока необходимо задать:

В 1-ой диалоговой строке - Параметры статической характеристики b и K;

Во 2-ой диалоговой строке – вектор Начальных условий y(0) (начальные состояния).

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка:   0.5  1 (через пробел)

2-я строка:   0

Векторный вход (3 одинаковых блока «Зазор»)

1-я строка:    1  1 (через пробел)

2-я строка:     0  0  0 (через пробел)

Векторный вход (3 разных блока «Зазор»)

1-я строка:    0.2  1 (через пробел)

2-я строка:  - 1  1  0 (через пробел)

Примечания:

1. По умолчанию блок реализует преобразование скалярного входного сигнала.

2. Для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


   Люфт

Блок векторизован и реализует преобразование вектора входных сигналов посредством единой нелинейной статической характеристики типа "Люфт" при различных начальных условиях по следующему алгоритму:

y(t) = y1, если  x(t) <= [y1/ K - b];

y(t) = y2, если  x(t) >= [y2/ K + b];

y(t) = K*[x(t) - b], если [y(t - dt)/ K + b] < x(t) < [y2/ K + b];

y(t) = K*[x(t) +b], если [y1/ K - b] < x(t) < [y(t - dt)/ K  - b];

y(t) = y(t - dt), если [y(t - dt)/ K  - b] <= x(t) <= [y(t - dt)/ K + b],

где x(t) – вектор входных сигналов; y(t) - вектор выходных сигналов, dt - предыдущий временной шаг интегрирования.

Блок имеет 1 входной и 1 выходной порты.

Диалоговое окно блока имеет 2 диалоговые строки.

Для работы в диалоговом окне блока необходимо задать:

В 1-ой диалоговой строке - Параметры статической характеристики b, K, y1, y2;

Во 2-ой диалоговой строке – вектор Начальных условий y(0) (начальные состояния).

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка:   0.5  1  -1  1 (через пробел)

2-я строка:   0

Векторный вход (3 одинаковых блока «Люфт»)

1-я строка:    0.1  1  -2  2 (через пробел)

2-я строка:     0  0  0 (через пробел)

Векторный вход (3 разных блока «Люфт»)

1-я строка:    0.2  1  -10  10 (через пробел)

2-я строка:  - 1  1  0 (через пробел)

Примечания:

1. По умолчанию блок реализует преобразование скалярного входного сигнала.

2. Для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


   Излом

Блок векторизован и реализует преобразование вектора входных сигналов посредством единой нелинейной статической характеристики типа "Излом" по следующему алгоритму:

y ( t ) = k1 * x ( t ), если x ( t ) < 0;

y ( t ) = k2 * x ( t ), если x ( t ) >= 0,

где x(t) – вектор входных сигналов; y(t) - вектор выходных сигналов.

Блок имеет 1 входной и 1 выходной порты.

Диалоговое окно блока имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать Параметры статической характеристики - коэффициенты  k1 и  k2.

Примечание:  для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


   Произвольная однозначная нелинейность

Блок векторизован и реализует преобразование вектора входных сигналов посредством единой однозначной нелинейной статической характеристики произвольного вида, аппроксимируемой кусочно-ломаной кривой:

если x ( t ) < x1 , то  y ( t ) = y1;

если x ( t ) > xN , то y ( t ) = yN.

где x(t) – вектор входных сигналов; y(t) - вектор выходных сигналов.

Блок имеет 1 входной и 1 выходной порты.

Диалоговое окно блока имеет 2 диалоговые строки.

Для работы в диалоговом окне блока необходимо задать:

В 1-ой диалоговой строке – Вектор значений  независимой переменной  Х;

Во 2-ой диалоговой строке – Вектор значений функции Y.

Примеры заполнения диалогового окна:

Скалярный вход

1-я строка:   0  10  20  30  40  50 (через пробел)

2-я строка:   -1  0  5  7  8  8 (через пробел)

Примечание:  для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


   Запоминание минимума

Блок векторизован, запоминает и выдает на выходной порт минимальное значение входного сигнала (или минимальные значения в векторе входных сигналов), зафиксированное (ые) в процессе моделирования на данный момент времени.

Для работы блока параметры не требуются.

Примечание:  для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


   Запоминание максимума

Блок векторизован, запоминает и выдает на выходной порт максимальное значение входного сигнала (или максимальные значения в векторе входных сигналов), зафиксированное (ые) в процессе моделирования на данный момент времени.

Для работы блока параметры не требуются.

Примечание:  для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


    Переменное транспортное запаздывание

Блок векторизован и реализует решение уравнения (системы уравнений) транспортного переноса распадающейся скалярной субстанции вида

при допущении о постоянстве линейной скорости переноса скалярной субстанции в пределах участка для каждого момента времени при граничных условиях [image] и начальных условиях [image] В уравнении y(t) – переносимая скалярная субстанция, u(t) – скорость переноса, L – длина участка транспортировки (переноса) скалярной субстанции, x – пространственная координата.

После ввода безразмерной пространственной координаты z = x/L и мгновенного времени переноса скалярной субстанции в пределах участка [image] уравнение  записывается как

а начальные условия  принимают вид [image].

Обязательное условие:

Блок имеет 2 входных и 2 выходных порта.

На 1-ый входной порт подается сигнал, соответствующий значению скалярной субстанции на входе в участок транспортировки.

На 2-ой входной порт подается сигнал, соответствующий значению мгновенного времени переноса скалярной субстанции в пределах участка транспортировки.

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

На 2-ом выходном порте формируется сигнал, соответствующий значению времени пребывания «метки» скалярной субстанции в пределах участка транспортировки.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   - Вектор постоянных распада в секундах;

Во 2-ой диалоговой строке – Начальный размер стека.

Примеры заполнения 1-ой строки диалогового окна:

Скалярный вход (нераспадающаяся субстанция)

Диалоговая строка:  0

Скалярный вход (распадающаяся субстанция)

Диалоговая строка:  0.23

Векторный вход (3 распадающиеся субстанции)

Диалоговая строка:  0.23  0.18  0.33 (через пробел)

Примечания:

1.	По умолчанию данный блок реализует преобразование скалярного входного сигнала для нераспадающейся скалярной субстанции ( [image]).

В качестве примера использования данного блока при  [image] можно привести задачу о переносе тепла потоком несжимаемой жидкости в трубопроводе постоянного сечения при переменном расходе. В этом случае, например, y(0, t) = Tвх – температура потока на входе в трубопровод, а  y(1, t) = Tвых – температура потока на выходе из трубопровода.

2. По умолчанию в данном блоке начальный размер стека – 1000.

3. Алгоритм численного решения для блока переменного транспортного запаздывания основан на  запоминании значений y(0, t)  в оперативной памяти и последующей линейной интерполяции стековых данных при расчете y(1, t).


Ограничение скорости изменения
   Производная с ограничением

Блок векторизован и реализует численное определение производной входного сигнала при наличии «насыщения» по следующему алгоритму:

y(t) = dx(t)/dt ,  если abs(dx(t)/dt) <= Ymax;

y(t) = А ,  	        если abs(dx(t)/dt) > Ymax .

Блок имеет 1 входной и 1 выходной порты.

Диалоговое окно блока имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке – максимальное значение производной Ymax.

Во 2-ой диалоговой строке – начальные условия Y0.

Примечание:  для реализации векторизованной обработки преобразуемые сигналы должны быть «сжаты» в векторный входной сигнал посредством типового блока Мультиплексор.


   Максимум/минимум скалярных сигналов

Блок реализует процедуру определения текущего максимального значения (или текущего минимального значения) из нескольких скалярных сигналов.

Блок имеет один выходной и несколько входных портов.

Диалоговое окно блока имеет 2 диалоговые строки.

Для работы в диалоговом окне блока необходимо задать:

В 1-ой диалоговой строке – Число входов (количество входных портов);

Во 2-ой диалоговой строке – выбрать тип процедуры: Максимум или Минимум.

Примечания:

1. Блок реализует обработку только скалярных сигналов.

2. Количество входных портов равно введенному значению Число входов.


   Максимум/минимум векторного сигнала

Блок реализует процедуру определения текущего максимального значения (или текущего минимального значения) из нескольких векторных входных сигналов.

Блок имеет один выходной и несколько входных портов.

Диалоговое окно блока имеет 2 диалоговые строки.

Для работы в диалоговом окне блока необходимо задать:

В 1-ой диалоговой строке – Число входов (количество входных портов);

Во 2-ой диалоговой строке – выбрать тип процедуры: Максимум или Минимум.

Примечания:

1. По умолчанию блок реализует обработку одного векторного входного сигнала.

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

3. Количество входных портов равно введенному значению Число входов.


   Квантователь по уровню

Блок векторизован и реализует следующий алгоритм обработки:

где u – входной сигнал блока; y - выходной сигнал блока; d - шаг квантования по уровню;

floor – функция округления до меньшего целого числа; sign – функция знака.

Блок имеет один входной и один выходной порты.

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

Примеры заполнения диалогового окна:

Скалярный вход

Диалоговая строка:  0.01

Векторный вход (одинаковые шаги квантования по уровню)

Диалоговая строка:  N#d (N – размерность входного вектора, d – шаг квантования по уровню)

Векторный вход (разные шаги квантования по уровню)

Диалоговая строка:  0.01  0.05  0.1 (через пробел)

Примечания:

1. По умолчанию блок реализует обработку скалярного входного сигнала.

2. С использованием данного блока несложно реализовать алгоритм обработки сигналов в аналогово-цифровом преобразователе (АЦП)…


   Дельта-функция

Просим извинить, но справка по данному блоку отсутствует.


   Запомнить сигнал

Блок векторизован и реализует запоминание «достоверных» сигналов.

Блок имеет два векторизованных входных порта:

- на 1-ый входной порт блока поступает вектор значений сигналов, которые необходимо запомнить;

- на 2-ой входной порт блока поступает вектор дискретных значений флагов «достоверности» сигналов.

Блок имеет один векторизованный выходной порт, на который поступают последние по времени значения входных сигналов, для которых флаг «достоверности» был отличен от 0 (от нуля).

Размерности входных и выходного сигналов обязательно должны быть одинаковы.

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

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


   Запомнить время истинного сигнала

Блок векторизован и предназначен для расчета времени, в течение которого сигнал на входе был «истинным» (TRUE).

Блок имеет один векторизованный входной порт.

На вход блока поступает вектор логических значений сигналов.

Блок имеет один векторизованный выходной порт.

На выход блока поступает вектор со значениями времени, в течение которого соответствующий входной логический сигнал является «истиной» (т.е. отличен от 0).

Как только сигнал на входе становится равным 0 (нулю), соответствующий этому сигналу счетчик времени обнуляется.

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

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


Последовательность действий в режиме МОДЕЛИРОВАНИЕ

В данном подразделе рассматриваются только основные процедуры работы, освоение которых является обязательным условием  для самостоятельной работы в режиме МОДЕЛИРОВАНИЕ.

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

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

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

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

-  используя «Линейку» типовых блоков заполните Схемное Окно необходимыми блоками примерно так же, как они должны быть расположены в структурной схеме;

-  используя процедуры «перетаскивания» блоков, изменения ориентации блоков и их размеров придайте структурной схеме «осмысленный» вид;

-  используя манипулятор типа «мышь», соедините блоки линиями связи;

-  двигаясь слева-направо и сверху-вниз (по блокам в Схемном Окне) задайте параметры блоков на структурной схеме (коэффициенты усиления, постоянные времени, начальные условия и т.д.);

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

-  сохраните набранную схему (проект) под оригинальным именем на жесткий диск (например, task_1. mrj  или, например,  proba. mrj);

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

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

Первый этап - ввода структурной схемы (заполнение типовыми блоками) - можно начинать сразу после запуска программного комплекса в чистое Схемное Окно (создав его однократным щелчком левой клавиши «мыши» по командной кнопке Новый).

Если Вы начали выполнять ВАШУ  ПЕРВУЮ учебную задачу, то сделайте выбор ==>

Исходные данные для 1-ой учебной задачи

Этап 1 - заполнение Схемного окна

Этап 2 -  проведение линий связи

Этап 3 - ввод параметров структурной схемы

Этап 4 - установка параметров интегрирования

Этап 5 - оформление поясняющих подписей

Этап 6 - открытие Графического окна и ввод его параметров

Этап 7 - моделирование и вариантные расчеты


Исходные данные для 1-ой учебной задачи
Исходные данные для 1-й учебной задачи

Для приобретения навыков самостоятельной работы в среде программного комплекса «МВТУ» необходимо выполнить все этапы, рекомендованные в подразделе «Последовательность действий в режиме МОДЕЛИРОВАНИЕ»,  применительно к моделированию динамики САР, структурная схема которой приведена ниже:

СТРУКТУРНАЯ СХЕМА САР

Рис. 1

Объект управления с передаточной функцией W_2 (s), соответствует типовому звену (колебательному) с параметрами: k2 = 1.0; T2 = 1 c; параметр демпфирования b = 0.5; начальные условия - нулевые.

Местная обратная связь с передаточной функцией W_3 (s), соответствует типовому звену - апериодическому 1-го порядка с параметрами: k3 = 0.6; T3 = 5 c.

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

Необходимо подобрать коэффициент усиления k1 интегрирующего регулятора (W_1(s)) таким образом, чтобы при подаче ступенчатого управляющего воздействия    u(t) = 0.81(t) перерегулирование отсутствовало (т.е. y_max <= 0.8) и время переходного процесса не превышало 20 с.

Для отображения результатов расчета использовать типовой блок библиотеки Данные - Временной график.

Далее…. ==> Этап 1 - заполнение Схемного окна


Заполнение Схемного Окна типовыми блоками (пример 1)
Этап 1 - заполнение Схемного окна необходимыми типовыми блоками

Убедитесь, что все демонстрационные примеры, которыми Вы просматривали ранее, закрыты и Схемное Окно отсутствует.

Переместите курсор на кнопку Новый и сделайте однократный щелчок левой клавишей «мыши»: откроется чистое Схемное Окно.

Переместите курсор на «закладку» Источники входных воздействий и щелкните 1 раз левой клавишей «мыши»: Вы инициализировали соответствующую библиотеку типовых блоков. Переместите курсор на блок Ступенчатое воздействие (подпись Ступенька) и сделайте однократный щелчок левой клавишей «мыши»: фон блока в «Линейке»  изменился. Это означает, что блок можно «переносить» в Схемное Окно. Переместите курсор в верхний левый угол Схемного Окна и щелкните 1 раз левой клавишей «мыши»: в поле Схемного Окна появился переносимый блок.

Переместите курсор на «закладку» Операции математические и выполните однократный щелчок левой клавишей «мыши»: Вы инициализировали соответствующую типовую библиотеку.

Переместите курсор на блок Сравнивающее устройство и сделайте однократный щелчок: фон блока изменился. Переместите курсор в поле Схемного Окна на место, где Вы желали бы расположить Главное сравнивающее устройство и щелкните 1 раз левой клавишей «мыши»: перенос блока  Сравнивающее устройство в Схемное Окно выполнен. Повторите вышеописанные действия и перенесите на свободное место в Схемном Окне (ниже и левее) и 2-ой блок Сравнивающее устройство, необходимый для моделирования Локального сравнивающего устройства.

Переместите курсор на «закладку» Динамические звенья, инициализируйте ее, перенесите требуемые блоки (Интегратор, Апериодическое и Колебательное звенья) в Схемное Окно по вышеописанной процедуре приблизительно на желаемые места.

Выполните последний перенос блока в Схемное Окно: переместите курсор на «закладку» Данные, инициализируйте данную библиотеку типовых блоков, перенесите блок Временной график в Схемное Окно примерно на желаемое место. Наконец, переместите курсор на крупную кнопку в левой части «Линейки» типовых блоков и сделайте однократный щелчок: Вы временно «отключили» процедуру переноса блоков в схемное окно.

Далее…. ==> Этап 2 -  проведение линий связи


Проведение линий связи (пример 1)
Этап 2 - проведение линий связи на структурной схеме

Переместите курсор на один из блоков Сравнивающее устройство (будущее Главное сравнивающее устройство), нажмите на левую клавишу «мыши» и не отпуская ее «перетащите» этот блок так, чтобы его верхний входной порт (в дальнейшем просто вход) по горизонтали был на одном уровне с выходным портом блока Управляющее воздействие.

Для упрощения этой процедуры рекомендуется включить опцию Сетка в Схемном Окне. Опция Сетка может быть включена 3-мя способами:

-  переместите курсор на кнопку Сетка в Дополнительной панели инструментов и выполните однократный щелчок левой клавиши «мыши»;

- переместите курсор на свободное место в Схемном Окне и сделайте однократный щелчок правой клавишей «мыши»: «всплывет» Дополнительное командное меню в котором необходимо сделать щелчок  левой клавишей «мыши» по строке Сетка;

-  нажмите клавишу F4 при активном Схемном Окне.

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

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

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

Если Вы желаете прервать процедуру проведения линии связи (например, по причине внешнего вида – «некрасивая»), нажмите клавишу Shift и, не отпуская ее, сделайте щелчок левой клавишей «мыши»: линия оборвется. Далее можно удалить эту линию: выделите ее (щелчок левой клавишей «мыши» по линии) и затем удалите линию с помощью командной кнопки Вырезать (пиктограмма «ножницы»).

С использованием аналогичных процедур уточните расположение блоков в прямой цепи структурной схемы (W_1 (s), Локальное сравнивающее устройство и   W_2 (s)) и проведите линии связи.

Переместите курсор на блок с W_3 (s), нажмите на клавиатуре клавишу Shift и не отпуская ее нажмите 1 раз левую клавишу «мыши»: порты блока повернутся на 90 градусов против часовой стрелки. Повторите эту процедуру еще 1 раз: ориентация блока станет справа-налево. Уточните расположение блока с W_3 (s), используя процедуру «перетаскивания» блоков в Схемном Окне. Проведите линии связи от блока с W_2 (s) к блоку с W_3 (s) и далее от него к 2-му (нижнему) входному порту Локального сравнивающего устройства.

Переместите курсор на линию связи от блока с W2 (s) к блоку с W3 (s) (предпочтительнее на угол последнего поворота линии связи), нажмите на клавиатуре клавишу Ctrl  и, не отпуская ее, сделайте щелчок левой клавишей «мыши»: появится темная точка. Отпустив  обе клавиши, проведите линию связи вниз (малой длины): Вы получили «ответвление» от существующей линии связи (сравните со структурной схемой в подразделе «Исходные данные для учебной задачи»).

Используя вышеописанные процедуры, продлите линию Главной обратной связи до    2-го входного порта Главного сравнивающего устройства.

Переместите блок Временной график, сделайте «ответвление» от Главной обратной связи и продлите его до входа в блок Временной график (см. структурную схему в подразделе «Исходные данные для ознакомительной задачи»).

Сохраните введенную часть задачи. Для этого откройте меню Файл в Главном Окне, переместите курсор на опцию Сохранить как... и сделайте однократный щелчок левой клавишей «мыши»: в появившемся диалоговом окне инициализируйте строку ввода и наберите оригинальное имя Вашей задачи, например, mvtu_lab.mrj (расширение может быть любым, необязательно .mrj). Закройте окно Сохранение проекта, щелкнув по кнопке ОК.

Переместите курсор на левый нижний угол окантовки Схемного Окна (появится специальная наклонная двухсторонняя стрелка типа <=>) и измените размер Схемного Окна так, чтобы правое и нижнее поля составляли не менее 4...5 сантиметров.

Если набранная структурная схема не «вписалась» в размеры Схемного Окна, переместите курсор на кнопку Показать все в Дополнительной панели инструментов и сделайте однократный щелчок левой клавишей «мыши»: произойдет перемасштабирование структурной схемы и она станет наблюдаемой в Схемном Окне полностью.

Снова сохраните задачу, щелкнув левой клавишей «мыши» по кнопке Сохранить.

Далее…. ==> Этап 3 - ввод параметров структурной схемы


Ввод параметров структурной схемы (пример 1)
Этап 3 - ввод параметров структурной схемы

Переместите курсор на блок Управляющее воздействие и сделайте 2-х кратный щелчок левой клавишей «мыши»: откроется диалоговое окно этого блока с активной «закладкой» Параметры (см. рис. 2 ниже).

Рис. 2

Инициализируйте диалоговую строку, введите через пробел 0 0 0.8 (3 числа) и нажмите на кнопку Да. Повторите аналогичные процедуры для блоков с W_2 (s) и W_3 (s) и введите соответствующие значения k, T  и начальных условий.

«Закладка» Входы позволяет изменять расположение входных портов (см. рис. 3 ниже), а «закладка» Выходы – изменять расположение выходных портов.

Рис. 3

«Закладка» Общие (см. рис. 4 ниже) позволяет:

- изменять имя блока (начинающему Пользователю лучше это не делать);

- ввести в специальном поле Заголовок поясняющую подпись под блоком;

- посредством опции Цвет изменять цвет фона блока;

- посредством опции Шрифт изменять тип и цвет шрифта подписи под блоком;

- посредством опции Пароль “засекречивать” параметры типового блока (деактивируется закладка Параметры), а для блока Субмодель посредством опции Пароль “закрывать” нежелательный доступ к внутренней структуре субмодели.

Рис. 4

Примечание. Диалоговое окно любого типового блока можно открыть и другим способом. Переместите курсор на редактируемый блок и выполните однократный щелчок правой клавишей «мыши»: появится «всплывающее» меню блока (см. рис. 5 ниже), однократный щелчок левой клавишей «мыши» по строке Свойства которого вызывает диалоговое окно блока. Опции Вырезать и Копировать “всплывающего” меню блока дублируют одноименные кнопки Дополнительного командного меню, а неактивная на рис. 5 опция Сохранить субмодель включается только при щелчке правой клавишей «мыши»  по блоку Субмодель.

СХЕМНОЕ ОКНО С «ВСПЛЫВАЮЩИМ» МЕНЮ БЛОКА

Рис. 5

Вернемся к вводу параметров структурной схемы. Откройте диалоговое окно Главного сравнивающего устройства и убедитесь, в диалоговой строке уже введены необходимые параметры (по умолчанию): 1 (плюс 1) и -1 (минус 1)  (через пробел). При моделировании блок Сравнивающее устройство реализует алгебраическое сложение двух сигналов в соответствии с введенными весовыми коэффициентами, т.е. 1-ый - с весовым коэффициентом 1 (+1), а 2-ой - с весовым коэффициентом  -1 (минус 1).

Если необходимо алгебраически сложить 3 сигнала, например, с весовыми коэффициентами 0.8, -1.2 и 2.5, то в строке ввода необходимо ввести соответствующие параметры (через пробел: 0.8  -1.2  2.5). При закрытии диалогового окна блока Сравнивающее устройство произойдет «перерисовка» этого блока и он будет иметь 3 входных порта, где верхний левый входной порт (при ориентации блока слева-направо) - для 1-го сигнала (коэффициент равен 0.8),  нижний вход - для 2-го сигнала (коэффициент равен -1.2) и нижний левый вход - для 3-го сигнала (коэффициент равен 2.5). Повторите аналогичные процедуры для Локального сравнивающего устройства.

Главное сравнивающее устройство и Локальное сравнивающее устройство можно реализовать и с использованием типового блока Сумматор из библиотеки Операции математические, поскольку алгоритм работы этого блока идентичен алгоритму блока Сравнивающее устройство, а различие – только в пиктограммах блоков и в расположении 2-го входного порта. Убедитесь в этом сами…

Откройте диалоговое окно блока с W_1 (s), введите «прикидочное» значение коэффициента усиления k1 = 1. Начальное условие уже установлено (по умолчанию). Закройте диалоговое окно.

Снова сохраните задачу, щелкнув по командной кнопке Сохранить.

Далее…. ==> Этап 4 - установка параметров расчета


Установка параметров расчета (пример 1)
Этап 4 - установка параметров расчета

Переместите курсор на командную кнопку Параметры расчета и сделайте однократный щелчок левой клавишей «мыши»: откроется  диалоговое окно Параметры интегрирования с активной «закладкой» Основные (см. рис. 6 ниже).

Другие «закладки» этого диалогового окна предназначены:

-	«закладка» Дополнительные - для установки «тонких» параметров расчета (начинающий Пользователь может оставить значения в полях этой закладки, установленные «по умолчанию»);

-	«закладка» Скорость - для расчета в заданном масштабе времени (при включенном Режиме масштабирования времени значение 1 в поле Множитель ускорения соответствует расчету в реальном масштабе времени);

-	«закладка» Архивация – для сохранения в бинарном формате (файл с расширением .rez) всех данных расчета, которые могут быть использованы для ускоренного воспроизведения процесса моделирования посредством опции Эмуляция расчета из файла в меню Моделирование;

-	«закладка» Рестарт – для периодического (например, через 1 секунду) сохранения в бинарном формате (файл с расширением .rst) основных данных расчета, по которым можно продолжить процесс моделирования после завершения расчета;

-	«закладка» Сеть – для реализации режима Расчета на удаленном сервере.

Рис. 6

Режим Расчет на удаленном сервере реализуется в сетевом варианте работы ПК «МВТУ». На компьютере-клиенте Пользователь формирует структурную схему задачи, задает параметры блоков структурной схемы, задает метод и параметры интегрирования. После этого «клиентский» вариант ПК «МВТУ» (типовая версия ПК или графическая оболочка ПК без расчетного ядра) формирует исходные данные о моделируемой задаче, которые по одному из сетевых протоколов (например, TCP/IP) передаются на компьютер-сервер (имеющий только расчетное ядро), где и происходит  непосредственный расчет динамического режима. Результаты расчета по тому же сетевому протоколу передаются обратно на компьютер-клиент, где происходит отображение результатов расчета и их последующий анализ….

Вернемся к этапу установки основных параметров интегрирования. При активной «закладке» Основные выберите численный метод, например, Адаптивный 1. Далее введите:  Время интегрирования - 40 (секунд); Минимальный шаг интегрирования - 0.001 (с); Максимальный шаг интегрирования - 0.1 (с); Шаг вывода результатов - 0.1 (с). Параметр точности можно оставить тем же (по умолчанию 0.001). Закройте диалоговое окно, щелкнув левой клавишей «мыши» по кнопке Да.

Снова сохраните задачу (кнопка Сохранить).

Далее…. ==> Этап 5 - оформление поясняющих подписей


Оформление поясняющих подписей (пример 1)
Этап 5 - оформление поясняющих подписей

Выполним оформление Схемного Окна, как это сделано на структурной схеме в подразделе «Исходные данные для 1-ой учебной задачи»).

Переместите курсор под блок Управляющее воздействие и сделайте 2-х кратный щелчок левой клавишей «мыши»: появится временное окно для ввода текста. Переместите курсор в это окно, сделайте щелчок левой клавишей «мыши» и затем введите заголовок данного блока (в две строки). Переместите курсор на свободное место в Схемном Окне и сделайте 2-х кратный щелчок левой клавишей «мыши»: временное окно закроется и под блоком появится желаемая подпись. Если подпись получилась «некачественной» (с ошибками), снова откройте временное окно для ввода текста (2-х кратный щелчок левой клавишей «мыши» по тексту под блоком) и, используя клавиши редактирования (Backspace, Del и др.), скорректируйте подпись.

Подпись под блоком можно выполнить и другим способом, а именно: как это показано на рис. 4 в подразделе «Этап 3 – ввод параметров структурной схемы»…

Интерфейс ПК «МВТУ» позволяет изменить в подписи тип, размер и цвет шрифта. Выделите блок, откройте меню Стиль и выберите опцию Шрифт подписи блока. Откроется диалоговое окно Выбор шрифта, в котором Вы можете установить желаемые параметры подписи, например:  шрифт – MS Sans Serif; начертание - Полужирный; цвет - Красный; размер - 8. При закрытии окна Выбор шрифта (щелчок по кнопке ОК) происходит автоматический возврат в среду ПК «МВТУ».

Используя меню Стиль и его опции, можно изменить фон блока, фон всего Схемного Окна, цвет линий связи (выделив предварительно редактируемый блок или линию связи однократным щелчком левой клавиши «мыши»). Выполните цветовое оформление структурной схемы самостоятельно…

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

Выполнив вышеописанные процедуры для всех блоков, а также отключив опцию Рисовать обрамление, придайте введенной структурной схеме вид, близкий к структурной схеме в подразделе «Исходные данные для 1-ой учебной задачи»)…

Сохраните введенные изменения, используя командную кнопку Сохранить.

Далее…. ==> Этап 6 - открытие Графического окна и ввод его параметров


Открытие и настройка Графического Окна
Этап 6 - открытие Графического Окна и изменение его параметров

Переместите курсор на блок График y(t), сделайте однократный щелчок правой клавишей «мыши» и  во «всплывающем» меню блока левой клавишей «мыши» выберите строку Свойства. Первая строка (Число входов) в диалоговом окне не требует редакции, т.к. в ней по умолчанию введено значение 1. Переместите курсор на поле ввода 2-ой диалоговой строки (Вывод на каждом шаге), в которой по умолчанию введено Нет, и выполните однократный щелчок левой клавишей «мыши»: в поле ввода появится специальная кнопка. Щелкнув по этой кнопке левой клавишей «мыши», Вы имеете возможность выбора: Нет или Да.

Если Вы выбрали Да, то при выполнении моделирования в графическом окне будут отображаться все изменения линии графика после каждого шага интегрирования, а если Вы выбрали Нет, то при выполнении моделирования в графическом окне будут отображаться изменения линии графика через временной интервал, равный приблизительно отношению Шагу вывода результатов (см. диалоговое окно Параметры интегрирования).

В 3-ей строке диалогового окна  (Прореживание точек) по умолчанию введено Да. Если необходимо иметь информацию о всех расчетных данных, выводимых на график, то Вы должны в поле ввода 3-ей диалоговой строки изменить Да на Нет.

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

Закройте диалоговое окно блока Временной график (щелчок по кнопке Да) и выполните 2-х кратный щелчок левой клавишей мыши по изображению этого блока в Схемном окне: откроется   графическое окно с заголовком График y(t). Если заголовок графического окна будет другим, то закройте графическое окно (щелчок «мышью» по системной кнопке в верхнем правом угле графического окна) и снова откройте его…

Для переноса графического окна в другое место необходимо переместить курсор на его заголовок, нажать левую клавишу «мыши» и, не отпуская ее, «перетащить» окно в желаемое место. Изменение его размеров производится также, как и для любых других окон в среде WINDOWS. Используя процедуры изменения размеров окон, придайте графическому окну необходимый размер (~ 1/4  от  площади от Схемного Окна).

Установку других параметров графического окна выполним после проведения процесса моделирования переходных процессов...

Сохраните введенные изменения, используя командную кнопку Сохранить.

Далее…. ==> Этап 7 - моделирование и вариантные расчеты


Моделирование и вариантные расчеты (пример 1)
Моделирование и вариантные расчеты

Переместите курсор на командную кнопку Продолжить и щелкните левой клавишей «мыши»: Вы запустили созданную задачу на счет. По окончании расчета появится специальное окно Сообщения с информацией: «Ошибка: Заданная точность не обеспечивается».

Перемасштабируйте графическое окно 2-х кратным щелчком «мыши». Переместите курсор на кнопку Параметры расчета и измените минимальный  шаг интегрирования на новое значение (1e-10) и повторите процесс моделирования.

Данные расчета показывают, что, во-первых, внешне вид переходного процесса не изменился при  резком уменьшении минимального шага интегрирования, так как при первоначальном минимальном шаге интегрирования (0.001) заданная точность не обеспечивалась только на 1-ом шаге моделирования (т.е. при отработке ступенчатого воздействия). Поэтому сообщение о точности можно было проигнорировать... Во-вторых, данные расчета свидетельствуют, что при k1 = 1  исходная САР неустойчива и переходной процесс  расходящийся (см.  ниже по тексту рис. 7).

Выполним прерванные в подразделе «Этап 6 – открытие Графического окна и изменение его параметров» процедуры редактирования графического окна. Переместите курсор в центральную часть графического окна и сделайте однократный щелчок правой клавишей «мыши»: появится командное меню графического окна (см. рис. 7 ниже).

Рис. 7

Ряд опций командного меню блока Временной график общеприняты и не требуют особых пояснений (Автомасштаб, Курсор, Всегда впереди).

Опция Список заменяет графическое изображение на таблицу данных. Возврат к графическому изображению осуществляется щелчком правой клавиши «мыши» в поле таблицы и последующим выбором в меню опции Список.

Опция Копировать реализует операцию копирования изображения графика в буфер для последующей вставки в соответствующие отчетные документы, например, в текстовые документы WINWORD…

Щелкните левой клавишей «мыши» по строке Свойства: откроется специальное диалоговое окно, имеющее заголовок Настройка (см. рис. 8 ниже).

Рис. 8

Переместите курсор в диалоговое поле Заголовок и введите новое название График переходного процесса при К=1. Первые 3 кнопки в строке Заголовок предназначены для «привязки» текста заголовка (по левому краю, по центру, по правому краю), а последняя (пиктограмма с буквами) – для задания параметров шрифта заголовка графика.

Аналогичным образом дополните подпись под осью X (правое диалоговое поле Метка): Время, с. Затем сотрите подпись (Переменная) для оси Y в левом диалоговом поле Метка и введите новую подпись: y(t). Кнопки в обеих строках Метка предназначены для «привязки» текста подписей по осям графика (первые 3 кнопки) и для задания параметров шрифта этих подписей (крайняя правая кнопка).

Посредством диалогового окна Настройка можно изменять: цвет и тип линии; цвет и тип линии сетки на графике; цвет поля графика и окантовки.

Переместите курсор на верхнюю цветную кнопку, щелкните 1 раз левой клавишей «мыши» и левой клавишей «мыши» выберите новый цвет линии (FG), например синий, а правой клавишей - цвет поля графика (BG), например, белый.

Щелкнув по цветной кнопке в колонке Ось Х установите левой клавишей «мыши» цвет сетки по оси абсцисс (FG), например, серый, а правой клавишей «мыши» - цвет окантовки графика (BG), например, белый. Повторите вышеописанные действия и измените цвет сетки по оси ординат (колонка Ось Y) тоже на серый.

Самостоятельно ознакомьтесь с возможностями редактирования графика посредством других опций диалогового окна Настройки…

Закончив процедуры редактирования параметров графического окна, переместите курсор на кнопку Да и закройте данное диалоговое окно. Графическое окно будет иметь вид, подобный рис. 9 ниже.

Рис. 9

Измените значение k1 на новое: 0.2. Повторите процесс моделирования, перемасштабируйте окно графиков по окончании расчета. Данные свидетельствуют, что хотя перерегулирование и отсутствует, но время переходного процесса значительно превышает 20 секунд. Если Вы измените в диалоговом окне графического окна значение К в названии графика, то графическое окно с данными расчета будет иметь вид, подобный рис. 10 ниже.

Рис. 10

Снова измените значение k1 на новое: 0.35. Повторите вышеописанные процедуры. Анализ полученных данных показывает, что Вы добились требуемых характеристик переходного процесса: перерегулирование - отсутствует; время входа в 5-ти процентную «трубку» не превышает 20 секунд (см.  рис. 11 ниже).

Рис. 11

Ознакомительная задача завершена. Сохраните задачу на диск...

Сформированная Вами структурная схема САР в дальнейшем будет использована для освоения новых рабочих процедур, в том числе и для других режимов работы программного комплекса «МВТУ»…


Создание «параллельной» САР в виде новой Субмодели

Добавление к структурной схеме (см. рис. 1 в подразделе «Введение к 2-ой учебной задаче») «параллельной» САР в виде новой Субмодели выполним в следующей последовательности:

Этап 1 - перенос типового блока Макроблок (Субмодель)  в Схемное Окно.

Учитывая, что проект (задача) со структурной схемой, аналогичной рис. 1 в подразделе «Введение к 2-ой учебной задаче», была сохранена Вами на жесткий диск, откройте его (проект)…

Переместите курсор на закладку Субструктуры в «Линейке» типовых блоков и инициализируйте ее щелчком левой клавиши «мыши». Далее из «Линейки» типовых блоков перенесите в Схемное Окно блок Макроблок (Субмодель) таким же образом, как ранее Вы это делали с другими блоками при выполнении демонстрационно-ознакомительной задачи. В поле Схемного Окна появится новый блок - Субмодель (без  входных и выходных портов).

Этап 2 - заполнение внутренней структуры Субмодели.

Переместите в Схемном Окне курсор на блок Субмодель и выполните 2-х кратный щелчок левой клавишей мыши: произойдет открытие субмодельного схемного окна (т.е. переход на 1-ый уровень вложенности).

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

Хотя на данном этапе выполнения задания в субмодельном окне невозможно провести все линии связи между блоками (так как «Новый» блок не имеет пока ни входного и ни выходного портов), проведите в субмодельном схемном окне те линии связи между блоками, которые можно провести… После оформления поясняющих подписей субмодельное схемное окно будет иметь вид, подобный рис. 2.

Рис. 2

Закройте субмодельное схемное окно 2-х кратным щелчком левой клавишей «мыши» в свободном месте субмодельного схемного окна. Изображение Субмодели в Главном Схемном Окне изменится: появятся входной  и  выходной порты.

Примечание. Процедуры открытия и закрытия субмодели можно выполнить и другими способами. Открытие субмодели – инициализацией ее щелчком левой клавиши «мыши» и нажатием клавиши PgDn.  Закрытие субмодели - нажатием клавиши PgUp.

Если условия какой-то решаемой Вами задачи требуют, чтобы субмодельная структура имела, например, 3 входных порта и 2 выходных порта, то Вы должны «перенести» в субмодельное схемное окно три  Порта входа и два Порта выхода. Первому перенесенному в это окно Порту входа будет соответствовать верхний входной порт (при ориентации блока Субмодель слева-направо), второму - средний входной порт, а третьему - нижний входной порт (при ориентации блока Субмодель слева-направо). Аналогично, первому перенесенному в субмодельное окно Порту выхода будет соответствовать верхний выходной порт (при ориентации блока Субмодель слева-направо) и т.д.

Входные порты субструктуры могут быть векторными (многожильными), например, по первому входу передается одновременно 5 сигналов, по второму - 6 сигналов, а по третьему - 4 сигнала. Очевидно, что подобные векторные сигналы должны быть предварительно сформированы, например, посредством блока Мультиплексор. Внутри субмодельного схемного окна выходные сигналы блоков Порт входа, обычно, должны быть  демультиплексированы   для последующей обработки.

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

Внимание! Если в Субмодели несколько Портов входа и Портов выхода, рекомендуется сразу после переноса каждого Порта сделать соответствующую подпись, используя стандартную процедуру оформления поясняющих подписей. Например, дать 1-му перенесенному Порту входа  «уникальное»  имя:  Вход № 1 и т.д.

Этап 3 - включение Субмодели в основную структурную схему.

Соедините Субмодель линиями связи с блоком Управляющее воздействие и блоком График y(t), предварительно изменив на 2 число входов в блоке Временной график. Сделайте поясняющую подпись под новым блоком Субмодель: структурная схема в Главном Схемном Окне примет вид, подобный рис. 3.

Рис. 3

На этом процесс включения созданной Вами новой субструктуры (“Параллельная” САР) в основную структурную схему САР  почти (?!) завершен.

Аналогичным способом можно внести в Главное Схемное Окно еще несколько новых субструктур, а также можно внести новые субструктуры и в субмодельное схемное окно (субструктуры 2-го уровня вложенности).

При щелчке правой клавишей «мыши» по блоку Макроблок появляется миниокно, которое имеет дополнительную опцию: Сохранить субмодель, которая позволяет сохранить Субмодель на жестком диске под оригинальным именем (расширение .sub) и использовать ее как «заготовку» при формировании структурной схемы другой задачи.

Диалоговое окно Макроблока (см. рис. 4 ниже по тексту), вызываемое щелчком правой клавиши «мыши» по блоку и затем щелчком левой клавишей «мыши» по опции Свойства, имеет в закладке Параметры три диалоговые строки.

Первая диалоговая строка (Графическое изображение блока) предназначена для изменения пиктограммы блока на новую (в bmp-формате).

Вторая диалоговая строка (Редактор глобальных параметров макроблока) – реализует открытие окна Редактор Глобальных параметров… данной Субмодели.

Третья диалоговая строка (Фон субмодели) - предназначена для замены однотонного фона субмодельного окна (по умолчанию белого) на рисунок (в bmp-формате), например, с изображением мнемосхемы, на фоне которой создается структурная схема в данном субмодельном окне. Необходимо заметить, что изменение фона субмодельного окна на рисунок требует от Пользователя предварительного «конструирования» этого образа…

Рис. 4

Далее ==> Задание параметров САР через механизм Глобальных параметров


Задание параметров САР через механизм Глобальных параметров

Встроенный в ПК «МВТУ» Интерпретатор математических функций обеспечивает функционирование окна Редактор Глобальных параметров Проекта (Субмодели), посредством которого можно реализовать задание параметров блоков структурной схемы через механизм Глобальных параметров.

Окно Редактор Глобальных параметров Проекта (Субмодели) - фактически окно текстового редактора, в котором Вы можете задать значения или выражения ряда параметров САР, называемых Глобальными параметрами, которые в процессе моделирования остаются постоянными. Интерпретатор математических функций «распознает» более 30-ти операторов, включая чисто математические (+, -, *, /, sin, tg, ln и т.п.), логические (if, for и др.) и функциональные операторы (time, step, interpol и др.). Более подробная информация об  Интерпретаторе математических функций будет представлена в следующем подразделе…

Откройте окно Редактор Глобальных параметров Проекта (Субмодели) щелчком левой клавиши «мыши» по командной кнопке Параметры макроблока в Дополнительной панели инструментов, расположенной в  Схемном окне.

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

После ввода основного текста (цвет шрифта - черный) и комментариев к нему (цвет шрифта – горчичный), закройте окно Редактор Глобальных параметров Проекта (Субмодели), щелкнув «мышью» по кнопке Применить (2-я справа).

На этом процедуры задания Глобальных параметров завершены.

Рис. 5

Интерфейс Пользователя в окне Редактор Глобальных параметров Проекта (Субмодели) обеспечивается 12-ю командными кнопками (см. рис. 5), функциональное назначение которых расшифровано ниже:

Название  кнопки	Назначение кнопки
Прочитать из файла	Позволяет вставить в окно содержимое внешнего текстового файла посредством диалогового окна Открытие файла
Сохранить выделенное в файл	Сохраняет выделенный в окне Редактора… фрагмент текста в файл текстового формата посредством специального диалогового окна Сохранение файла
Вырезать	Удаляет выделенный фрагмент текста с сохранением его в Буфере Обмена
Копировать	Копирует выделенный фрагмент текста в Буфер Обмена
Вставить	Копирует в окно Редактора… содержимое Буфера Обмена
Отменить	Отменяет последний ввод и изменение текста в окне Редактора…
Вернуть	Возвращает отмененный последний ввод или изменение текста
Найти	Реализует поиск фрагментов текста по «маске»
Заменить	Реализует поиск фрагментов текста по «маске» и их замену на новую
Вычислить константы	Выполняет вычисление и вывод в специальную таблицу значений констант, определенных в окне Редактора…
Применить	Закрывает окно Редактора… с сохранением в оперативной памяти его содержимого (введенного текста)
Отменить изменения	Закрывает окно Редактора… без сохранения изменений содержимого окна, выполненных в течение последнего «сеанса» работы в окне Редактора…

Если в проекте (задаче) какие-то параметры САР заданы как глобальные в Главном Схемном Окне, то они могут быть использованы для задания параметров конкретных блоков не только в этом окне, но и во всех вложенных структурах (Субмоделях).

Если какой-то глобальный параметр (заданный в Главном Схемном Окне) повторно задан как глобальный в субмодельном схемном окне, то последний переопределяет значение ранее заданного параметра и его можно использовать для задания параметров конкретных блоков как в данном субмодельном схемном окне, так и во всех «дочерних» субмоделях более глубокого уровня вложенности.

Далее ==> Формирование математической модели в «Новом» блоке


Формирование математической модели в «Новом» блоке

Учитывая, что невозможно сформировать абсолютно полную библиотеку типовых блоков, в ПК “МВТУ” разработаны средства, которые позволяют Пользователю расширить состав личной библиотеки за счет создания новых типов блоков, например,  посредством встроенного Интерпретатора математических функций, на базе которого функционирует и “Новый” блок, позволяющий прямо в процессе работы создавать экземпляры блоков со своими оригинальными математическими моделями.

Диалоговое окно этого блока - фактически окно текстового редактора, в котором Пользователь записывает математическую модель в виде, близком к естественной записи. Математическое описание блока соответствует многомерной нелинейной динамической системе в форме Коши:

где  f(x, u), g(x, u) - известные нелинейные функции переменных состояния (x1, x2,...xn) и входных воздействий (u1, u2,...um), причем в качестве входных воздействий могут выступать и коэффициенты (как постоянные, так и переменные), входящие в любое из уравнений системы.

Первое из уравнений системы может отсутствовать; в этом случае «Новый» блок выполняет алгебраические преобразования входных величин.

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

«Новый» блок  “распознает” следующие стандартные математические операции и функции:

+  -  сложение	abs   -  модуль	sin  - синус	arcsin  -  арксинус
-   -  вычитание	sign  -  знак	cos  - косинус	arccos  -  арккосинус
*  -  умножение	exp  - экспонента	tg    - тангенс	arctg   -  арктангенс
/  -  деление	ln    -  логарифм	ctg  - котангенс	arcctg  -  арккотангенс
^ -  степень	pi   -  3.1415......	e   - 2.71828....	(  )    -  cкобки
Дополнительно  «Новый»  блок  “распознает” ряд специальных функций:

time - модельное время;

step – смещенное ступенчатое воздействие;

sqrt  - корень квадратный;

if      - вычисление по условию;

for   - формирование векторных данных посредством циклических операций;

interpol – интерполяция данных (линейная, степенная).

Например, запись u = step(t_вкл, y_нач, y_кон); означает, что через время t_вкл после начала моделирования переменная u изменит (скачком) свое значение с y_нач на y_кон. Параметры функции step могут быть заданы как в числовом виде, так и через именованные параметры, значения которых должны быть определены выше по тексту в этом же окне или окне Редактора Глобальных параметров…

Запись pp = if(bb, a1, a2, a3) означает, что переменная pp принимает значения:

pp = a1, если именованная переменная bb < 0;

pp = a2, если именованная переменная bb = 0;

pp = a3, если именованная переменная bb > 0.

В Интерпретатор математических функций и, соответственно, в «Новый» блок настоящей версии ПК «МВТУ» включено 8 новых специальных функций, реализующих определение основных термодинамических свойств воды и водяного пара (известные таблицы Вуколовича в докритическом диапазоне: давления от 0.09 до 20 МПа и температуры от 10 до 360 градусов Цельсия).

Запись этих функций имеет вид:

waterps(P,flag);       - вычисление свойств воды по давлению на линии насыщения;

waterts(T,flag);        - вычисление свойств воды по температуре на линии насыщения;

steamps(P,flag);       - вычисление свойств пара по давлению на линии насыщения;

steamts(,flag);          - вычисление свойств пара по температуре на линии насыщения;

waterpt(P,T,flag);   - вычисление свойств воды по давлению и температуре;

waterph(Р,H,flag);  - вычисление свойств воды по давлению и энтальпии;

steampt(P,T,flag);   - вычисление свойств пара по давлению и температуре;

steamph(P,H,flag); - вычисление свойств пара по давлению и энтальпии.

Например, запись v_уд= waterps(1е6,4); соответствует вычислению удельного объема воды v_уд  (flag равен 4)  на линии насыщения при давлении 1.0е6  Па (1 МПа).

Значения параметра flag могут изменяться от 1 до 8 и соответствовать вычислению следующих термодинамических характеристик воды или водяного пара:

1 – давление; 2 – температура; 3 – энтальпия; 4 – удельный объем; 5 – число Прандтля; 6 – динамическая вязкость; 7 – коэффициент теплопроводности; 8 – энтропия.

Входные параметры и возвращаемые значения термодинамических параметров воды или водяного пара представляются в системе СИ (за исключением температуры, которая измеряется в градусах Цельсия).

Освоение процедур формирования математической модели динамики какого-то устройства или фрагмента рабочего процесса с использованием «Нового» блока рассмотрим на примере формирования уравнений динамики Объекта Управления, расположенного в  субмодельном окне 1-го уровня вложенности (см. рис. 2 в подразделе «Создание «параллельной» САР в виде новой Субмодели»).

Откройте субмодельное окно «Параллельная» САР,  переместите курсор на блок Объект Управления и выполните 2-х кратный щелчок левой клавишей «мыши»: откроется новое окно Редактор интерпретатора математических функций, в котором Вы должны записать выражения и дифференциальные уравнения, соответствующие математической модели данного блока (система уравнений (2) в подразделе «Описание динамики САР в форме Коши»).

Панель инструментов (командные кнопки) окна Редактор интерпретатора математических функций  и  интерфейс Пользователя полностью идентичны описанному выше окну Редактор Глобальных параметров Проекта (Субмодели).

Введите с клавиатуры (в текстовом виде) математическую модель динамики блока Объект Управления, как это показано на рис. 6 ниже по тексту, где представлена экранная копия окна Редактор интерпретатора математических функций с математической моделью динамики рассматриваемого блока и комментариями к ней...

Рис. 6

Если «Новый» блок имеет входы (входные порты), то первая исполняемая строка (не считая строку комментария) обязательно должна содержать оператор input, описывающий входные сигналы в данный блок, включая  имя  входа и его размерность.

В данном примере 1-я исполняемая строка (input u1;) присваивает 1-му (и единственному) входу уникальное имя – u1. Если бы, например, этот блок имел бы 2 входа, причем 1-ый вход – «трехжильный» (векторный), а 2-ой – «пятижильный», то   1-я исполняемая строка имела бы вид: input u1[3], g[5];

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

Если «Новый» блок описывает динамику объекта моделирования в виде системы дифференциальных уравнений в форме Коши, то вторая исполняемая строка (не считая строку комментария) обязательно должна содержать оператор init, описывающий начальные условия для динамических (дифференциальных) переменных, ниже по тексту для которых будут записаны обыкновенные дифференциальные уравнения в форме Коши.

В данном примере 2-я исполняемая строка (init y1=0, y2=0, y_oc=0;) задает начальные условия (при t = 0) для  3-х  динамических переменных: y1(t), y2(t) и y_oc(t).

В том случае, когда математическая модель динамики блока описывается большим числом дифференциальных уравнений, например, 5-ю, то 2-я исполняемая строка будет иметь вид:

init x1=0, x2=1, x3=2, z=0, R=0;

где х1, х2, х3, z, R – динамические переменные, для которых ниже по тексту будут записаны дифференциальные уравнения (точнее система уравнений) в форме Коши.

Непосредственно дифференциальные уравнения динамики Объекта Управления записаны с 3-ей по 5-ую исполняемые строки, где символ апострофа обозначает производную по времени, а значения коэффициентов a1, a2, a3, b1, b2 передаются в “Новый” блок  через механизм Глобальных параметров (см. подраздел «Задание параметров САР через механизм Глобальных параметров»).

Если «Новый» блок имеет выходы (выходные порты), то последняя исполняемая строка обязательно должна содержать оператор output, описывающий выходные сигналы из «Нового» блока, включая  имена  выходов и их  размерности.

В данном примере последняя строка (output y1;) описывает один выходной сигнал (y1)  без указания  в прямоугольных скобках размерности выходного сигнала.

Если бы «Новый» блок имел 2 векторных выхода (2-х жильный и 3-х жильный), то последняя исполняемая строка имела бы, например, вид:

output z1[2], z2[3];

В этом случае выше по тексту необходимо было определить (рассчитать) все составляющие выходных сигналов, например:

z1[1]=a1+sin(y1);  z1[2]=exp(y2);  z2[1]=y1*y2;  z2[2]=sqrt(abs(y_oc));  z2[3]=(y2)^a2;

После ввода всего текста в окно Редактор интерпретатора математических функций переместите курсор на командную кнопку Применить (2-я справа) и сделайте щелчок левой клавишей «мыши»: окно Редактор интерпретатора математических функций закроется и откроется субмодельное схемное окно, в котором «Новый» блок будет иметь один входной и один выходной порты.

Если бы «Новый» блок формировал два выхода (например, z1 и z2 ==> см. выше), то изображение «Нового» блока на структурной схеме имело бы два выходных порта. При ориентации блока «слева-направо» 1-ый выходной порт будет верхним, а 2-ой выходной порт – нижним.

Завершите оформление субмодельного схемного окна, соединив все блоки линиями связи, а также введя в диалоговом окне блока с подписью W_1(s) новое значение коэффициента усиления: К1.  Структурная примет вид, аналогичный рис. 7.

Рис. 7

Закройте субмодельное схемное окно (2-х кратным щелчком левой клавиши «мыши» в свободном месте схемного окна) и убедитесь, что в Главном Схемном Окне коэффициент усиление в блоке W_1(s) равен «оптимальному» (k1 = 0.35).

Щелчком «мыши» по кнопке Продолжить запустите задачу на счет и убедитесь, что результаты  расчета для «основной» и «параллельной» САР совпадают абсолютно…

Для этого в диалоговом окне Настройка блока График y(t) установите для 1-ой линии следующие параметры: тип линии – сплошная двойной толщины, а цвет линии – розовый, а для  2-ой линии: тип линии – пунктирная, цвет – синий. Наложение графиков расчета должно дать вид, близкий рис. 8.

Рис. 8

Для создания математической модели рабочего процесса, описываемого сложными нелинейными дифференциальными  уравнениями с переменными коэффициентами (например, процессы теплогидравлики в элементах теплофизического оборудования), целесообразнее использовать «Новый» блок только для формирования правых частей системы дифференциальных уравнений (записанных в форме Коши).

В таком варианте процедуру интегрирования можно реализовать с использованием типового блока Интегратор (блок векторизован), расположенного за «Новым» блоком, причем выходной сигнал блока Интегратор (обычно векторный) подается на вход «Нового» блока, не образуя алгебраической «петли» (контура).

Реализуем такой подход для формирования математической модели блока Объект Управления в «параллельной» САР.

На рис. 9 представлена экранная копия окна Редактор интерпретатора математических функций, в котором реализован алгоритм вычисления правых частей дифференциальных уравнений, описывающих динамику блока Объект Управления.

Рис. 9

Только внешне основной текст (по сравнению с рис. 6) изменился незначительно. Кардинальным образом изменился «смысл» символа апостроф: теперь запись y1’=… обозначает не первое дифференциальное уравнение, а просто определяет новую переменную с именем y1’. Появился новый входной сигнал y, который является «трехжильным» (векторным) и вводит в «Новый» блок значения динамических переменных y1, y2 и y_oc после каждого шага интегрирования (в том числе и пробного шага). На выход «Нового» блока сформирован векторный сигнал y_out с размерностью, равной трем ==> y_out = [y1’  y2’  y_oc’].

Экранная копия субмодельного схемного окна с измененной структурной схемой «параллельной» САР представлена в рис. 10. Подпись под типовым блоком Интегратор (в две строки) «сообщает», что данный блок выполняет операцию интегрирования в «векторном» варианте, причем в его диалоговом окне установлены коэффициенты усиления 1 1 1 (три числа 1 через пробел) и нулевые начальные условия (три числа 0 через пробел). Блок  Демультиплексор  «извлекает» из вектора сигнал y1.

Рис. 10

Измените текст в окне Редактора… «Нового» блока и скорректируйте структурную схему в субмодельном окне, как это выполнено на рис. 10.

Выполните моделирование (щелчок по кнопке Продолжить) и убедитесь, что графики переходных процессов (формируемые блоком График y(t) в Главном Схемном Окне) в «основной» САР и в новой «параллельной» САР совпадают абсолютно…

Сохраните данный вариант проекта (задачи) на жестком диске под новым именем.

Далее ==> Задание уравнений динамики САР в переменных состояния


Задание уравнений динамики САР в переменных состояния

Выполним 4-й этап 2-ой учебной задачи, основной целью которого (этапа) является освоение методов формирования уравнений динамики линейных САР с использованием типового блока Переменные состояния. Для этого создадим вторую «параллельную» САР, расположенную в субмодели «Параллельная» САР.

Откройте проект, структурная схема в субмодельном окне которого имеет вид, подобный схеме на рис. 10 из предыдущего подраздела («Формирование математической модели в «Новом» блоке».)

Инициализируйте в «Линейке» типовых блоков закладку Динамические звенья и перенесите в субмодельное окно типовой блок Переменные состояния. Соединив блок линиями связи и выполнив оформление поясняющих подписей, придайте структурной схеме в субмодельном окне вид, аналогичный рис. 11.

Рис. 11

В блоке Переменные состояния матрицы А, В, С и D задаются не по строкам (как обычно), а по столбцам.

Матрица входа В, фактически являющаяся вектором-столбцом и нулевая матрица обхода D (см. соотношения (5) в подразделе «Описание динамики САР в форме Коши») не требуют дополнительных пояснений для ввода в соответствующие строки диалогового окна блока Переменные состояния.

Матрица А, определенная для Второй «параллельной» САР соотношениями (5) в подразделе «Описание динамики САР в форме Коши», при ее задании в диалоговом окне блока Переменные состояния должна представляться как «особая»  вектор-строка, содержащая 4 элемента, каждый из которых является числовым вектором и содержит по 4 элемента (числовые или символьные значения соответствующего столбца матрицы А)  ==>  см. ниже…

Матрица С также должна представляться как «особая» вектор-строка, содержащая 4 элемента, каждый из которых является числовым вектором и только в данной задаче содержит по одному элементу ==> см. ниже…

.

Задание параметров блока Переменные состояния выполним через механизм Глобальных параметров. Переместите курсор на командную кнопку Параметры макроблока в Дополнительной панели инструментов субмодельного схемного окна и выполните щелчок левой клавишей «мыши»: откроется окно Редактор Глобальных параметров… субмодели «Параллельная» САР. Введите в окно Редактора… текст, как это выполнено на рис. 12.

Рис. 12

Поскольку коэффициенты а1, а2, а3, а4 и К1 определены как глобальные в окне Редактор Глобальных параметров… Главного Схемного Окна, в данном окне Редактора… они используются для задания элементов матрицы А, не равных нулю или единице. Левая часть выражения А1[4] = [0  a21  a31  a41] определяет, что векторная переменная А1 имеет 4 элемента, а правая часть (в прямоугольных скобках) задает значения этих элементов в числовом (0) или символьном виде (а21).

Внимание!

При задании значений элементов любой векторной переменной в символьном виде не допускается знак минус перед символьным элементом.

Например, запись

А1[4] = [0 a21 a31 -K1]

является некорректной из-за последнего элемента (-K1).

Если последний элемент вектора А1 задать в численном виде, то запись

А1[4] = [0 a21 a31 –0.35]

является корректной.

Заполнив окно Редактор Глобальных параметров…  субмодельного схемного окна, закройте его щелчком левой клавиши «мыши» по кнопке Применить: на экране монитора снова появится субмодельное схемное окно.

Откройте диалоговое окно блока Переменные состояния и заполните его диалоговые строки, соответствующие закладке Параметры, так же, как это выполнено на рис. 13, т.е. задавая все элементы матриц А, В, С и D  по столбцам.

В диалоговых строках любой вектор-столбец заключен в круглые скобки. По умолчанию в диалоговом окне между круглыми скобками, отделяющими один вектор-столбец от другого, нет пробела, однако для большей наглядности введенных данных рекомендуется сделать 1…2 пробела (как это выполнено на рис. 13 при задании матрицы А).

Рис. 13

Матрицы А, В, С и D  в диалоговом окне можно задавать в более компактном виде, используя векторные переменные (А1, А2, А3, А4 и В), определенные как глобальные параметры в окне  Редактор Глобальных…   ==> см. рис. 14.

Рис. 14

Заполнив диалоговое окно блока  Переменные состояния, как это выполнено на рис. 13, закройте его щелчком левой клавиши «мыши» по кнопке Да.

Запустите задачу на счет и убедитесь, что графики переходных процессов в «параллельной» САР (заданной с использованием «Нового» блока) и во второй «параллельной» САР (заданной с использованием блока Переменные состояния), совпадают абсолютно…

Для этого в диалоговом окне Настройка блока Временной график установите для 1-ой линии следующие параметры: тип линии – сплошная двойной толщины, а цвет линии – розовый, а для  2-ой линии: тип линии – пунктирная, цвет – синий.  Наложенные графики расчета будут иметь вид, идентичный рис. 8 в подразделе «Формирование математической модели в «Новом» блоке»..

Примечание. Графики переходных процессов формируются блоком Временной график (подпись y1(t), y11(t)), расположенным в субмодельном схемном окне (см. рис. 11). Абсолютное совпадение графиков можно проверить, переведя графическое окно в табличное (опция Список в падающем меню Графического окна).

Снова откройте диалоговое окно блока Переменные состояния и измените форму задания матриц А и В на компактную (см. рис. 14).

Повторите процесс моделирования и убедитесь, что графики переходных процессов в «параллельной» САР и во второй «параллельной» САР  (с компактным заданием матриц А и В) совпадают абсолютно…

Сохраните данный вариант проекта (задачи) на жестком диске под новым именем.

Далее ==> Реализация «беспроводной» передачи данных


Реализация «беспроводной» передачи данных

В ПК «МВТУ» реализовано несколько механизмов «беспроводной» передачи данных, т.е. без видимых линий связи.

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

Основное назначение блока В память – реализация 1-го этапа «беспроводной» передачи данных из одной части структурной схемы в другую. Соответственно, типовой блок Из памяти реализует 2-ой этап «беспроводной» передачи данных.

Если применить радиотехническую аналогию, то в данном механизме «беспроводной» передачи данных блок В память является «передатчиком», а блок Из памяти – «приемником».

На самом деле в ПК «МВТУ» реализован следующей механизм. После переноса в схемное окно блока В память и присвоения имени переменной в оперативной памяти ПЭВМ резервируется некий динамический массив. При запуске задачи на счет по размерности сигнала на входе блока В память определяется размерность именованной переменной и под нее выделяется соответствующий объем оперативной памяти, в который в процессе моделирования будут записываться данные на каждом шаге расчета (шаге интегрирования).

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

Примечание. В режиме работы АНАЛИЗ типовой блок В память предназначен для другой цели. При расчете амплитудно-фазовых частотных характеристик САР или при вычислении коэффициентов, полюсов и нулей передаточных функций типовой блок В память используется для задания точек входа и точек выхода.

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

Убедитесь, что проект, в котором структурная схема в субмодельном окне имеет вид, аналогичный рис. 11, не закрыт и перейдите в Главное Схемное Окно, выполнив 2-х кратный щелчок левой клавиши «мыши» в свободном месте субмодельного окна.  Если Вы успели закрыть проект, то откройте его…

Переместите курсор на линию в связи, передающей сигнал управляющего воздействия на вход субмодели «Параллельная» САР и выполните щелчок правой клавишей «мыши» и затем в падающем меню выберите опцию Удалить линию в связи, выполнив щелчок левой клавишей «мыши»: ответвление линии связи к субмодели «Параллельная» САР будет удалено.

Внимание! В терминологии, используемой в документации к ПК «МВТУ», принято различать связь (линию связи) и линию в связи. Главным отличительным признаком является предлог (в), отмеченный полужирным курсивным шрифтом. Связь (она же и линия связи) – первая линия связи, вышедшая из выходного порта любого блока и закончившаяся на входном порте какого-то другого блока. Ответвления от первой линии связи принято называть линией в связи.

Аналогичным образом удалите связь (первую и единственную линию связи), соединяющую субмодель «Параллельная» САР и блок с подписью График y(t).

Инициализируйте библиотеку Субструктуры и перенесите в Главное Схемное Окно Макроблок, разместив его, например, в правом нижнем угле схемного окна. Введите под этой субмоделью подпись «Копия».

Перенесите в Главное Схемное Окно также блок В память (из библиотеки Субструктуры), расположив его немного выше линии связи между блоками Управляющее воздействие и Главное сравнивающее устройство. «Подсоедините» блок В память к линии связи, как это показано на рис. 15. Откройте диалоговое окно блока В память и измените имя переменной (Y1) на новое – Вход.

Внимание: типовой блок В память (и Из памяти тоже) в «Линейке» типовых блоков имеет оригинальную пиктограмму, а при переносе его в Схемное окно его изображение – текст (по умолчанию переменные имеют имена Y1, Y2 и т.д.).

После преобразований структурная схема САР примет вид, близкий рис. 15.

Рис. 15

Удалите субмодель «Параллельная» САР (щелчок «мышью» по блоку и затем кнопка Вырезать).

Откройте схемное окно субмодели «Копия», далее переместите курсор на командную кнопку Вставить (4-я слева в Дополнительной панели инструментов субмодельного схемного окна) и затем выполните щелчок левой клавишей «мыши» в поле субмодельного окна: ранее вырезанная субмодель «Параллельная» САР появится в субмодельном окне 1-го уровня вложенности, а «внутреннее содержание» субмодели «Параллельная» САР (см. рис. 11) перейдет во 2-ой уровень вложенности. Проверьте это, открыв субмодель «Параллельная» САР...

Перенесите в субмодельное схемное окно «Копия» из библиотеки Субструктуры блок В память, расположив его справа от субмодели «Параллельная» САР. Откройте его диалоговое окно и измените имя переменной на Выход_У.

Перенесите в субмодельное схемное окно «Копия» блок Из памяти, расположив его слева от субмодели «Параллельная» САР: блок пока не имеет ни пиктограммы, ни текста внутри него – только инициализационные черные метки по углам…

Откройте его диалоговое окно (2-х кратный щелчок «мышью»). Выделите в окне Список-источник переменную Вход и затем щелкните по красной одинарной стрелке  (вниз): переменная Вход перейдет в окно Список-приемник (см. рис. 16).

Рис.16

Поясним назначение остальных командных кнопок (в виде стрелок) в диалоговом окне типового блока Из памяти:

-  красная одинарная стрелка вверх (см. рис. 16) реализует перемещение выбранной переменной из окна Список-приемник в окно Список-источник;

-  красная сдвоенная стрелка вниз реализует перемещение всех переменных, находящихся в окне Список-источник в окно Список-приемник, а красная сдвоенная стрелка вверх - перемещение всех переменных, находящихся в окне Список-приемник в окно Список-источник;

-  две крайние кнопки справа предназначены для принудительной сортировки переменных в окне Список-приемник (если переменных >= 2).

Внимание!

1. При закрытии диалогового окна блока Из памяти количество выходных портов на блоке будет равно количеству переменных в окне Список-приемник.

2. Блоки В память и Из памяти реализуют «беспроводную» передачу как скалярных, так и векторных данных.

Соедините линиями связи блоки Из памяти и В память с субмоделью «Параллельная» САР, как это выполнено на рис. 17.

Рис. 17

Вернитесь в Главное Схемное Окно и перенесите в него блок Из памяти, расположив его приблизительно на то место, где ранее была размещена субмодель «Параллельная» САР. Откройте диалоговое окно блока Из памяти и переместите в окно Список-приемник переменную Выход_У. Соедините выход блока Из памяти с блоком График y(t). Структурная схема примет вид, аналогичный рис. 18.

Рис. 18

Отметим основные этапы выполненных преобразований структурной схемы САР при реализации «беспроводной» передачи данных:

1. Была создана новая субмодель с условным названием «Копия».

2. Субмодель «Параллельная» САР была «отрезана» от структурной схемы «основной» САР и перенесена в субмодель «Копия».

3. В субмодельное окно «Копия» из библиотеки Субструктуры были перенесены 2 новых блока и соединены линиями связи с субмоделью «Параллельная» САР, причем блок В память предназначен для «беспроводной» передачи в Главное Схемное Окно данных о поведении переменной y1(t) (см. рис. 11), а блок Из памяти – для «беспроводного» приема из Главного Схемного Окна данных о поведении управляющего воздействия u(t) (см. рис. 17).

4. В Главное Схемное Окно из библиотеки Субструктуры был перенесен новый блок Из памяти и соединен линией связи с блоком График y(t). Этот блок Из памяти реализует «беспроводный» прием из субмодельного окна «Копия» данных о поведении переменной y1(t).

В результате изменений структурной схемы САР, в целом, субмодель «Параллельная» САР принимает информацию об управляющем воздействии u(t) и передает информацию о поведении переменной y1(t) не посредством традиционных линий связи, а используя механизм «беспроводной» передачи данных.

Запустите задачу на счет и убедитесь, что графики переменных y(t) и y1(t) совпадают абсолютно…

На этом «знакомство» с процедурами реализации «беспроводной» передачи данных завершено и можно переходить к освоению других режимов работы ПК «МВТУ»…


Формулировка заданий по анализу САР

Методы и процедуры, обеспечивающие в ПК «МВТУ» режим работы АНАЛИЗ, будут рассмотрены в процессе выполнения очередной (третьей) учебной задачи…

При выполнении Вами ПЕРВОЙ учебной задачи были рассмотрены наиболее важные процедуры работы в среде ПК «МВТУ» применительно к моделированию динамических процессов в САР.  Структурная схема САР в конце выполнения Вами 1-ой учебной задачи имела вид, близкий рис. 1.

Рис. 1

Поскольку после выполнения  1-ой учебной задачи структурная схема задачи (с исходными данными) была сохранена Вами на жестком диске, откройте эту задачу (проект), используя стандартные интерфейсные процедуры ПК «МВТУ»…

Необходимо заметить, что внешний вид структурной схемы в открывшемся проекте возможно отличается от того, который Вы сохраняли ранее…

Если Вы желаете восстановить прежний вид, необходимо отключить опцию Рисовать обрамление в меню Стиль.

Сформулируем отдельные задания (в ТРЕТЬЕЙ учебной задаче), которые Вам необходимо выполнить в процессе знакомства с процедурами работы в режиме АНАЛИЗ.

1. Используя частотный критерий Найквиста:

-  исследовать на устойчивость исходную САР по годографу АФЧХ и по совместному рассмотрению ЛАХ – ФЧХ;

-  исследовать на устойчивость скорректированную САР по годографу АФЧХ и по совместному рассмотрению ЛАХ – ФЧХ, определив запасы по фазе и амплитуде.

2. Используя частотный критерий Михайлова:

-  исследовать на устойчивость исходную САР;

-  исследовать на устойчивость скорректированную САР.

3. Определить полюса, нули и коэффициенты полиномов передаточных функций исходной и скорректированной САР.

4. Используя частотный критерий абсолютной устойчивости В.М. Попова выполнить анализ исходной и скорректированной нелинейной САР.

Перейдем к «знакомству» с процедурами работы в режиме АНАЛИЗ…

Далее ==> Анализ устойчивости исходной САР (критерий Найквиста)


Анализ устойчивости исходной САР (критерий Найквиста)

Переместите курсор на закладку Субструктуры и однократным щелчком левой клавиши «мыши» инициализируйте одноименный каталог в Общетехнической библиотеке типовых блоков. Перенесите в Схемное Окно 2 блока В память и проведите к ним линии связи, как это показано на рис. 2.

Внимание: типовой блок В память (и Из памяти тоже) в «Линейке» типовых блоков имеет оригинальную пиктограмму, а при переносе его в Схемное окно его изображение – текст (по умолчанию переменные имеют имена Y1, Y2 и т.д.).

 Рис. 2

Типовые блоки В память и Из памяти предназначены, в основном, для реализации «беспроводной» передачи данных, используя механизм именованных переменных. Можно считать блок В память «передатчиком», блок Из памяти – «приёмником».

Однако, в режиме АНАЛИЗ типовой блок  В память используется для другой цели…

Переместите курсор на 1-ый блок В память (с текстом Y1), откройте его диалоговое окно и введите в верхней строке новое имя переменной, например, Вход. Точкой подключения 1-го блока В память к линии связи между блоками Управляющее воздействие и Главное сравнивающее устройство, а также именем переменной (Вход) задана точка приложения единичного гармонического воздействия: sin(wt).

Закройте диалоговое окно 1-го блока и сделайте под блоком поясняющую подпись: sin(w*t) (щелчок правой клавишей «мыши» по блоку, далее опция Свойства и далее …).

Повторите вышеописанное для 2-го блока В память, присвоив новой переменной любое «оригинальное» имя, например, Выход. Точка подключения 2-го блока В память  и имя переменной (Выход) задают точку выхода при расчете амплитудно-фазовых частотных характеристик (АФЧХ).

Сделайте под 2-ым блоком В память поясняющую подпись A sin(w*t + fi)  и структурная схема САР примет вид, подобный рис. 2.

Проверьте, что параметры всех блоков в структурной схеме соответствуют исходным (в т.ч. коэффициент усиления в блоке Интегратор равен 1.0). Выполните «контрольное» моделирование и убедитесь, что переходной процесс расходящийся…

Известно, что критерий Найквиста позволяет оценить устойчивость (или неустойчивость) замкнутой линейной САР (с единичной Главной обратной связью) по АФЧХ разомкнутой САР.

Поэтому, откройте диалоговое окно  блока Сравнивающее устройство (выполняющего роль Главного сравнивающего устройства) и разомкните Главную обратную связь, установив 2-й весовой коэффициент равным нулю.

Выполните моделирование и убедитесь, что вид переходного процесса типичен для САР, находящихся на апериодической границе устойчивости (один нулевой полюс).

Переместите курсор на надпись Анализ в командном меню и сделайте щелчок  «мышью». В открывшемся меню выберите опцию – Частотный анализ,  щелкнув по ней левой клавишей «мыши». Откроется диалоговое окно Параметры частотного анализа. Введите значения первых 3-х параметров такими же, как на рис. 3. Остальные параметры оставьте без изменения.

Рис. 3

В диалоговом окне Параметры частотного анализа параметрами Начальная частота и Конечная частота задаются границы частотного диапазона (в рад/с), а параметром Число точек вывода – количество расчетных точек, равномерно распределенных (в логарифмическом масштабе) внутри частотного диапазона.

Значения параметров полей Приращения для Якобиана используются в расчете АФЧХ при автоматической линеаризации САР, а в чисто линейных системах расчет частотных характеристик  не использует данных по относительным и абсолютным приращениям для Якобиана. Начинающему Пользователю рекомендуется использовать эти параметры «по умолчанию». Значения «по умолчанию» полей Приращения для Якобиана установлены из личного практического опыта авторов ПК «МВТУ»…

Переместите курсор кнопку Характеристик и выполните щелчок левой клавишей «мыши»: создастся графическое окно с заголовком Частотные характеристики и также изменится форма диалогового окна Параметры частотного анализа (см. рис. 4).

Рис. 4

Переместите в этом диалоговом окне курсор на крайнюю левую кнопку (с символом « + ») и выполните два щелчка левой клавишей «мыши»: в таблице появятся две новые строки с номерами 1 и 2.

Переместите курсор на ячейку Входы 1-ой строки, выполните щелчок левой клавишей «мыши», нажмите на появившуюся в этой ячейке таблицы специальную кнопку и из списка переменных выберите Вход. Повторите аналогичные действия для ячейки Входы 2-й строки таблицы.

По аналогии с предыдущим заполните 2-й и 3-й столбцы таблицы (см. рис. 5).

Рис. 5

Заполнив по инструкции диалоговое окно Параметры частотного анализа,  Вы задали следующее: рассчитать [image] (ЛАХ) и [image] (ФЧХ) разомкнутой САР, если:

-  Начальная частота – 0.01 (1/с);

-  Конечная частота – 1000 (1/с);

-  Число точек вывода – 250 (равномерно в логарифмическом масштабе);

-  Относительное приращение для Якобиана – 0.001 (установлено по умолчанию);

-  Абсолютное приращение для Якобиана – 1e6 (установлено по умолчанию);

-  Входы – переменная Вход (одна и та же);

-  Выходы – переменная Выход (одна и та же).

Переместите курсор на кнопку Расчет и сделайте щелчок левой клавишей «мыши»: начнется расчет частотных характеристик (кнопка Расчет имеет «блеклый» шрифт, т.е. она неактивна) и отображение результатов в специальном графическом окне, причем автоматически изменятся заголовок графика и подписи под осями координат. Через ~ 2…10 с расчет будет закончен и кнопка Расчет снова станет активной (четкий шрифт).

Переместите курсор в поле Графического окна и выполните 2-х кратный щелчок левой клавишей «мыши»: данное Графическое окно перемасштабируется. Используя опции Графического окна (вызов «всплывающего» меню - однократным щелчком правой клавиши «мыши») установите следующие параметры оси ординат: Min Y - - 270; Max Y - + 90 ; Количество делений – 4. Если Вы выполните дополнительное оформление Графического окна, то получите вид, близкий  рис. 6.

Рис. 6

Вид графиков на рис. 6 показывает, что фазовая характеристика пересекает линию – 180 градусов вроде бы немного раньше, чем ЛАХ пересекает линию 0 дБ. Уточним то, что видим…

Переместите курсор в поле Графического окна,  выполните  щелчок правой клавишей «мыши» и выберите опцию Список (щелчок левой клавишей «мыши»):  окно графиков заменится таблицей данных расчета.

Прокруткой таблицы найдите строку, соответствующую lg(w) = 1.0413 (см. рис. 7 ниже), и убедитесь, что Lm(w) > 0 (0.141233), а фазовый сдвиг [image] < -180 градусов (-184.6). Следовательно, при замыкании исходной САР единичной обратной связью она будет неустойчивой, что и показал ранее (в 1-ой учебной задаче) график переходного процесса при исходных параметрах САР…

Рис. 7

Верните предыдущий вид окна График – ЛАХ, ФЧХ (щелчок правой клавишей «мыши» в поле таблицы, затем щелчок левой клавишей «мыши» по опции Список).

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

Переместите в диалоговом окне курсор на крайнюю левую кнопку (с символом « + ») и выполните один щелчок левой клавишей «мыши»: появится номер строки в таблице.  Переместите курсор на ячейку Входы  строки, выполните щелчок левой клавишей «мыши», нажмите на появившуюся в этой ячейке таблицы специальную кнопку и из списка переменных выберите Вход.

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

Рис. 8

Выполните щелчок левой клавишей «мыши» по кнопке Расчет: начнется расчет годографа АФЧХ (называемого в ПК «МВТУ» годографом Найквиста), а в Графическом  окне – отображение результатов расчета.

Используя опцию Свойства командное меню Графического окна, приведите изображение графика годографа к такому же виду, как и на рис. 9 ниже по тексту.

Рис. 9

Из критерия Найквиста известно, что САР, находящаяся на апериодической границе устойчивости в разомкнутом состоянии, станет устойчивой при ее замыкании единичной Главной обратной связью, если годограф АФЧХ не охватывает на комплексной плоскости «точку Найквиста» (-1, 0*i).

Поэтому рассмотрим более «внимательно» поведение линии годографа в окрестности  точки (-1, 0*i). Для этого, используя еще раз опцию Свойства командного меню Графического окна, приведите изображение графика годографа к такому же виду, как и на рис. 10.

Рис. 10

Так как линия годографа АФЧХ разомкнутой САР на рис. 10 без сомнения охватывает  точку (-1, 0*i), то резюме: исходная САР в замкнутом состоянии будет неустойчива.

Далее ==> Анализ устойчивости скорректированной САР (критерий Найквиста)


Анализ устойчивости скорректированной САР (критерий Найквиста)

Завершая анализ устойчивости исходной САР, закройте диалоговое окно Параметры частотного анализа, щелкнув левой клавишей «мыши» по кнопке Да: на экране монитора снова появится Схемное Окно.

Измените коэффициент K1 в блоке W_1(s) на 0.35, что соответствует приблизительно «оптимальному» значению, определенному Вами при выполнении 1-ой учебной задачи.

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

Переместите курсор на надпись Анализ в командном меню, сделайте однократный щелчок «мышью» и в меню опять выберите опцию Частотный анализ.

В открывшемся диалоговом окне Параметры частотного анализа не требуется переустанавливать параметры, так как они сохранены автоматически. Запустите расчет годографа (таким же образом, как Вы выполнили это выше). Сделайте график годографа более «симпатичным», изменив параметры осей координат Графического окна (см. рис. 11 ниже по тексту).

Рис. 11

Еще раз измените параметры осей координат Графического окна (см. рис. 12 ниже по тексту). Линия годографа разомкнутой САР на рис. 12 без сомнения не охватывает  точку(-1, 0*i).  Вывод: скорректированная САР в замкнутом состоянии будет устойчива.

Рис. 12

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

Переместите в диалоговом окне Параметры частотного анализа курсор на крайнюю левую кнопку (с символом « + ») и выполните два щелчка левой клавишей «мыши»: в таблице появятся две новые строки с номерами 1 и 2.

Переместите курсор на ячейку Входы 1-ой строки, выполните щелчок левой клавишей «мыши», нажмите на появившуюся в этой ячейке таблицы специальную кнопку и из списка переменных выберите Вход.

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

Вид заполненного графического окна будет таким же, как и на рис 5 в подразделе «Анализ устойчивости исходной САР (критерий Найквиста)».

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

Переместите курсор в поле Графического окна, выполните щелчок правой клавишей «мыши», выберите опцию Свойства и установите в диалоговом окне Настройка параметры оси ординат графика, как это выполнено на рис. 13.

Рис. 13

Из критерия Найквиста известно, что САР, находящаяся на апериодической границе устойчивости в разомкнутом состоянии, станет устойчивой при ее замыкании единичной Главной обратной связью, если график ЛАХ пересекает линию 0 дБ раньше, чем график ФЧХ  линию – 180 градусов. Анализ графиков ФЧХ и ЛАХ показывает, что при замыкании единичной обратной связью САР станет устойчивой.

Используя опции Графического окна переведите его в режим Список и определите запасы по фазе (в градусах) и амплитуде (в дБ). Эти запасы должны составлять ~ 86 о и ~ 8.2 дБ, соответственно (см. рис. 14 и рис. 15 ниже по тексту). Запас по фазе достаточен, однако крайне малый запас по амплитуде (должно быть ~ 30…40 дБ) обосновывает «не очень хорошее» качество переходного процесса в выполненной Вами 1-ой учебной задаче при  K1 = 0.35…

Рис. 14 	Рис. 15

Перенесите курсор «мыши» на Кнопку очистки (третья слева) таблицы Входы-Выходы-Характеристика и выполните щелчок левой клавишей «мыши»: произойдет очистка таблицы и диалоговое окно Параметры частотного анализа станет таким же, как и на рис 4 в подразделе «Анализ устойчивости исходной САР (критерий Найквиста)».

Закройте диалоговое окно Параметры частотного анализа, щелкнув левой клавишей «мыши» по кнопке Да: на экране монитора снова появится Схемное Окно.

Далее ==> Анализ устойчивости исходной САР (критерий Михайлова)


Анализ устойчивости исходной САР по критерию Михайлова
Анализ устойчивости исходной САР (критерий Михайлова)

Известно, что критерий Михайлова основан на анализе частотных свойств характеристического полинома D(s) замкнутой системы при подстановке [image]. Если годограф Михайлова [image] построен на комплексной плоскости, то для устойчивости  замкнутой САР необходимо и достаточно, чтобы при изменении [image]  от нуля до бесконечности линия годографа поочередно переходила из квадранта в квадрант в положительном направлении (против часовой стрелки), причем изменение аргумента [image], где n – порядок системы.

Замкните обратную связь, введя в диалоговом окне блока Главное сравнивающее устройство значение 2-го весового коэффициента –1 (минус 1). Верните исходное значение коэффициента усиления в блоке c подписью W_1(s) (k1 = 1).

Выполните «контрольное» моделирование переходного процесса и убедитесь, что переходной процесс расходящийся: следовательно исходная САР неустойчива.

При открытии диалогового окна Параметры частотного анализа его вид будет таким же, как и на рис 3 в подразделе «Анализ устойчивости исходной САР (критерий Найквиста)».

Переместите курсор на кнопку Годографов и выполните щелчок левой клавиши «мыши»: появится графическое окно с заголовком Годографы и кнопка  Годограф Михайлова станет активной (шрифт текста в кнопке изменит цвет с блеклого на черный).

Выполните щелчок левой клавиши «мыши» по кнопке Годограф Михайлова: в Графическом окне начнется отображение результатов расчета. По завершении расчета посредством командного меню Графического окна и опции Свойства измените параметры осей координат на графике годографа Михайлова, так как это выполнено на рис. 16 ниже по тексту.

Рис. 16

Анализ графика на рис. 16 показывает, что при изменении [image] от нуля до бесконечности изменение аргумента [image] (так как порядок САР равен 4, а цена деления по оси абсцисс на 3 порядка больше, чем по оси ординат), однако поведение линии годографа в окрестности начала координат в таком масштабе графика не определимо.

Выполните «вырезание» фрагмента графика в окрестности начала координат посредством изменения в диалоговом окне Настройка параметров осей координат (см. рис. 17 ниже по тексту).

Рис. 17

Поведение годографа Михайлова на рис. 17 показывает, что последовательный переход из квадранта в квадрант не соблюдается: точка (1, 0) при [image] = 0 ==> 1-ый квадрант ==>  2-ой квадрант ==> 1-ый квадрант ==> 4-ый квадрант.

Резюме: исходная САР в замкнутом состоянии неустойчива.

Далее ==> Анализ устойчивости скорректированной САР (критерий Михайлова)


Анализ устойчивости скорректированной САР (критерий Михайлова)

Закройте диалоговое окно Параметры частотного анализа (щелчок «мышью» по кнопке Да). Измените значение k1 (k1 = 0.35). Выполните «контрольный» расчет переходного процесса и убедитесь, что его вид соответствует устойчивому процессу...

Откройте снова диалоговое окно Параметры частотного анализа. Выполните щелчок левой клавишей «мыши» по кнопке Годографов: снова откроется специальное Графическое окно с заголовком Годографы.

Выполните щелчок левой клавиши «мыши» по кнопке Годограф Михайлова: в Графическом окне начнется отображение результатов расчета. По завершении расчета посредством командного меню Графического окна и опции Свойства измените параметры осей координат на графике годографа Михайлова, так как это выполнено на рис. 18 ниже по тексту.

Рис. 18

Вид кривой Михайлова на рис. 18 показывает, что при изменении  от нуля до бесконечности изменение аргумента [image], однако поведение линии годографа в окрестности начала координат в этом масштабе графика также не определимо.

Выполните «вырезание» фрагмента графика в окрестности начала координат посредством изменения в диалоговом окне Настройка параметров осей координат (см. рис. 19 ниже по тексту).

Рис. 19

Поведение кривой Михайлова на рис. 19 показывает, что последовательный переход из квадранта в квадрант соблюдается: точка (1, 0) при [image] = 0 ==> 1-ый квадрант ==> 2-ой квадрант ==> 3-ий квадрант ==> 4-ый квадрант.

Резюме: скорректированная САР устойчива.

Закройте диалоговое окно Параметры частотного анализа (щелчок «мышью» по кнопке Да): на экране монитора снова Схемное окно (см. рис. 2 в подразделе «Анализ устойчивости исходной САР (критерий Найквиста)»).

Далее ==> Определение полюсов, нулей и коэффициентов полиномов ПФ


Определение полюсов, нулей и коэффициентов полиномов ПФ

Верните исходное значение скоростной эффективности интегрирующего регулятора (k1 = 1). Разомкните Главную обратную связь (2-ой весовой коэффициент в Главном сравнивающем устройстве должен быть равен нулю).

Выполните щелчок «мышью» по кнопке Старт (структурная схема разомкнутой САР инициализировалась) и затем по кнопке Стоп (моделирование прервано, так и не начавшись).

Откройте меню Анализ и выберите опцию Передаточные функции: откроется диалоговое окно Расчет передаточных функций (см. рис. 20 ниже по тексту).

Рис. 20

Переместите курсор на нижнюю справа красную стрелку и выполните щелчок «мышью»: появится номер 1 в таблице Входы-Выходы.

Переместите курсор на ячейку Входы в 1-ой строке таблицы (и единственной) и выполните щелчок «мышью». Далее нажмите на появившуюся в этой ячейке таблицы специальную кнопку и из списка переменных выберите Вход.

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

Заполнив таблицу, Вы подготовили данные для расчета полюсов, нулей и коэффициентов передаточной функции исходной САР в разомкнутом состоянии.

Диалоговое окно будет иметь вид, аналогичный рис. 21 ниже по тексту.

Рис. 21

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

Использование данных по приращениям Якобиана имеет место в расчете параметров линеаризуемых САР (ПК «МВТУ» автоматически выполняет линеаризацию в окрестности базовой точки).

Значения «по умолчанию» данных по приращениям Якобиана выбраны из личного опыта авторов ПК «МВТУ». Начинающему Пользователю рекомендуется использовать параметры «по умолчанию».

Переместите курсор на кнопку Расчет и выполните щелчок «мышью»: практически мгновенно появится информационное окно с заголовков Результаты расчета параметров передаточных функций.

В верхней части этого окна приведены результаты расчета коэффициентов Знаменателя и Числителей передаточных функций по возрастающим степеням  s, а в нижней части – полюсы и нули передаточных функций САР (см. рис. 22 ниже по тексту).

Рис. 22

Учитывая, что эквивалентная передаточная функция рассматриваемой разомкнутой САР определяется не очень громоздким соотношением

,

прямой подстановкой исходных передаточных функций в это соотношение легко убедиться в правильности  расчета программным комплексом «МВТУ» коэффициентов эквивалентной передаточной функции (выполните «ручной» расчет и сравните…).

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

Закройте последовательно информационное окно (щелчок «мышью» по «крестику» в верхнем правом угле окна) и затем диалоговое окно Расчет передаточных функций (щелчок «мышью» по кнопке Да в этом окне): на экране монитора снова Схемное окно (см. рис. 2 в подразделе «Анализ устойчивости исходной САР (критерий Найквиста)»).

Замкните Главную обратную связь. В диалоговом окне блока В память с подписью sin(w*t) измените имя переменной на новое – Input.

Выполните щелчок «мышью» по кнопке Старт (структурная схема замкнутой САР инициализировалась) и затем по кнопке Стоп (моделирование прервано, так и не начавшись).

В командном меню Анализ выберите опцию Передаточные функции: откроется незаполненное диалоговое окно Расчет передаточных функций.

Переместите курсор на нижнюю справа красную стрелку и выполните щелчок «мышью»: появится номер 1 в таблице Входы-Выходы.

Переместите курсор на ячейку Входы в 1-ой строке таблицы и выполните щелчок «мышью», нажмите на появившуюся в этой ячейке таблицы специальную кнопку и из списка переменных выберите Input.

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

Заполнив таблицу, Вы подготовили данные для расчета полюсов, нулей и коэффициентов передаточной функции исходной САР в замкнутом состоянии. Диалоговое окно будет иметь вид, аналогичный рис. 23.

Рис. 23

Выполните щелчок по кнопке Расчет в этом диалоговом окне: в открывшемся информационном окне будут приведены результаты расчета параметров передаточной функции исходной САР в замкнутом состоянии.

В верхней части информационного окна приведены результаты расчета коэффициентов Знаменателя и Числителей по возрастающим степеням  s, а в нижней части – полюсы и нули передаточных функций САР (см. рис. 24 ниже по тексту).

Рис. 24

В правильности расчета коэффициентов числителя и знаменателя передаточной функции замкнутой САР Вы можете убедиться, выполнив «ручной» расчет…

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

Закройте информационное окно и затем диалоговое окно Расчет передаточных функций: на экране монитора снова Схемное окно.

Измените значение коэффициента k1  на 0.35, при котором замкнутая САР несомненно должна быть устойчивой (см. рис. 12 или рис. 13 в подразделе «Анализ устойчивости скорректированной САР (критерий Найквиста)»).

Выполните щелчок «мышью» по кнопке Старт (структурная схема замкнутой САР инициализировалась) и затем по кнопке Стоп (расчет прерван, так и не начавшись).

Откройте диалоговое окно Расчет передаточных функций (в меню Анализ опция Передаточные функции). Выполните щелчок «мышью» по кнопке Расчет: откроется окно с результатами расчета для скорректированной САР (см. рис. 25 ниже по тексту).

Рис. 25

Анализ нижней таблицы в информационном окне (см. рис. 25) еще раз подтверждает вывод об устойчивости скорректированной САР в замкнутом состоянии: все четыре полюса расположены в левой полуплоскости (два отрицательных вещественных и два комплексно-сопряженных с отрицательной вещественной частью).

Закройте последовательно информационное окно и затем диалоговое окно Расчет передаточных функций: на экране монитора снова «знакомое» изображение в Схемном окне (см. рис. 2 в подразделе «Анализ устойчивости исходной САР (критерий Найквиста)»)…

Возвратите в блоке В память с подписью sin(w*t) «старое» имя переменной: Вход.

Сохраните структурную схему на жесткий диск под «оригинальным» именем, так она Вам еще потребуется при выполнении последующих учебных заданий и, в частности, в процессе освоения процедур работы при анализе нелинейных САР с использованием критерия абсолютной устойчивости В.М. Попова…

Далее ==> О критерии абсолютной устойчивости В.М. Попова


О критерии абсолютной  устойчивости В.М. Попова

Одним из точных методов (критериев) анализа устойчивости нелинейных САР, не утративших свою актуальность и в настоящее время, является критерий абсолютной устойчивости В.М. Попова.

Кратко напомним основные положения критерия абсолютной устойчивости В.М. Попова.

В этом критерии нелинейная САР условно разделена на чисто линейную часть, обычно расположенную в прямой цепи, и чисто нелинейную часть, обычно расположенную в цепи обратной связи (см. рис. 2.26 ниже по тексту).

Рис. 26

В «классическом» варианте доказательства данного критерия принят ряд допущений:

1)   Нелинейная часть – безинерционна.

2)   Статическая характеристика нелинейной части является однозначной (без гистерезиса) и вписывается в Гурвицев угол К (0 < K < оо).

3)   Линейная часть должна быть устойчивой, или в особых случаях иметь не более 2-х полюсов, расположенных на мнимой оси, при всех остальных полюсах передаточной функции, расположенных в левой полуплоскости.

4)   В особых случаях должна иметь место предельная устойчивость.

5)   В.М. Попов ввел понятие видоизмененной АФЧХ, обозначаемой обычно [image] и определяемой соотношениями:

,

где  [image] [image] - действительная и мнимая части АФЧХ линейной части, соответственно.

Существуют аналитическая и геометрическая формулировки абсолютной устойчивости по В.М. Попову.

Более наглядной является геометрическая формулировка.

Для того,  чтобы имела место абсолютная устойчивость в угле [0; К] в основном и в угле [eps; К] (где eps – бесконечно малое положительное число) в особых случаях, достаточно, чтобы в плоскости  [image]  можно было выбрать прямую, проходящую через точку действительной оси с абсциссой –1/K так, чтобы годограф  [image]  весь лежал строго справа от этой прямой и чтобы, кроме того, в особых случаях имела место предельная устойчивость.

На рис. 27 ниже по тексту представлена графическая иллюстрация критерия Попова при анализе устойчивости нелинейной САР, где пунктирной линией представлен традиционный годограф Найквиста (годограф АФЧХ) для линейной части САР (W_лин), сплошной линией представлен видоизмененный годограф Попова, а точка на оси абсцисс с координатой -1/K (K – Гурвицев угол) расположена левее точки пересечения годографа Попова с осью абсцисс.

Очевидно, что через точку -1/К можно провести бесчисленное множество прямых…

На рис. 27 одна из множества прямых проведена так, что видоизмененный годограф Попова лежит строго справа от этой прямой.

Резюме: нелинейная САР абсолютно устойчива.

Рис. 27

На этом завершим краткое изложение основных положений критерия В.М. Попова и перейдем непосредственно к завершающему заданию 3-й учебной задачи…

Далее ==> Преобразование линейной САР в нелинейную


Преобразование линейной САР в нелинейную

Нелинейную САР, анализ которой будет выполнен  с использованием критерия абсолютной устойчивости В.М. Попова, получим редактированием структурной схемы, созданной Вами при выполнении анализа устойчивости исходной САР в начале 3-ей учебной задачи (см. рис. 2 подразделе «Анализ устойчивости исходной САР (критерий Найквиста)»).

Удалите линию связи между Главным сравнивающим устройством и блоком с подписью W_1(s), а также подписи под обоими Сравнивающими устройствами (удаление подписи – процедура, обратная вводу подписи…).

Используя процедуры «перетаскивания» блоков, освободите место для вставки в структурную схему САР нового нелинейного блока (см. рис. 28 ниже по тексту).

Инициализируйте библиотеку Нелинейные звенья и перенесите в Схемное окно типовой блок Релейное неоднозначное с зоной нечувствительности. Сделайте под этим блоком поясняющую подпись (Управляющее реле), соедините его линиями связи с соседними блоками.

Откройте диалоговое окно блока Управляющее реле и введите в   1-ой диалоговой строке следующие шесть параметров (через пробел): -0.02 -0.02 0.02  0.02 -1 1. Фактически нелинейный блок, добавленный в структурную, реализует однозначную нелинейность типа Релейная с зоной нечувствительности.  Закройте диалоговое окно щелчком по кнопке Да.

Откройте диалоговое окно блока Интегратор (блок с подписью W_1(s)) и установите «оптимальное» значение коэффициента k1 = 0.35.

Инициализируйте библиотеку Субструктуры и перенесите в Схемное окно еще один типовой блок В память. Измените имя переменной на новое: Вход_2.  Подсоедините этот блок к линии связи (см. рис. 28).

Рис. 28

Далее ==> Формулировка заданий к анализу устойчивости нелинейной САР


Формулировка задания к анализу нелинейной САР
Формулировка заданий к анализу устойчивости нелинейной САР

1) Используя критерий абсолютной устойчивости В.М. Попова, определить скоростную эффективность интегрирующего регулятора (блок с подписью W_1(s)), при которой созданная Вами нелинейная САР (см. рис. 28 подразделе «Преобразование линейной САР в нелинейную») будет абсолютно устойчивой.

2) Определить тип устойчивости нелинейной САР, используя прямое моделирование переходного процесса в автономной системе при ненулевых начальных условиях.

3) Выполнить расчет переходного процесса в САР (нулевые начальные условия) при подаче управляющего воздействия, равного  0.8*1(t).

Далее ==> А можно ли использовать критерий В.М. Попова?


А можно ли использовать критерий В.М. Попова?

Проверим, удовлетворяет ли нелинейная часть нелинейной САР (созданной Вами) приведенным выше допущениям (см. пункты 1…4 в подразделе «О критерии абсолютной устойчивости В.М. Попова»).

Для нелинейной части системы:

Типовое нелинейное звено, внесенное Вами в структурную схему «исполняет роль» нелинейной части САР и, несомненно, является безинерционным (см. справку по данному блоку).

Статическая характеристика нелинейной части (нелинейного звена с введенными Вами его параметрами) не имеет гистерезиса, т.е. является однозначной  и ее статическая характеристика вписывается в Гурвицев угол  [0; 50] (т.к.  1/ 0.02 = 50 = К).

Для линейной части системы:

Линейная часть САР, расположенная между точками подключения переменных Вход_2 и Выход, соответствует варианту особого случая, так как она имеет один нулевой полюс (за счет блока Интегратор) при всех остальных полюсах, расположенных в левой полуплоскости (см. рис. 22 в подразделе «Определение полюсов, нулей и коэффициентов полиномов передаточных функций»).

Для линейной части с найденным Вами в 1-ой учебной задаче «оптимальным» значением скоростной эффективности привода (k1 = 0.35) существует предельная устойчивость, т.е. при замыкании линейной части отрицательной жесткой обратной связью с бесконечно малым коэффициентом усиления САР несомненно будет устойчивой.

Последнее уверенное резюме основано на результатах 1-ой учебной задачи, в которой Вами было показано, что при замыкании скорректированной линейной части даже единичной обратной связью САР является устойчивой. Поэтому при меньшем коэффициенте усиления в цепи Главной обратной связи скорректированная линейная САР в замкнутом состоянии  тем более будет устойчивой (см. рис. 11 в подразделе «Анализ устойчивости скорректированной САР (критерий Найквиста)»).

Далее ==> Анализ устойчивости с использованием критерия В.М. Попова


Анализ устойчивости с использованием критерия В.М. Попов
Анализ устойчивости с использованием критерия В.М. Попова

Приведите созданную Вами нелинейную САР к автономной. Для этого установите нулевую высоту «ступеньки» в диалоговом окне блока Управляющее воздействие.

Разомкните цепь Главной обратной связи, установив в диалоговом окне Главного сравнивающего устройства нулевое значение 2-го весового коэффициента.

Выполните щелчок «мышью» по кнопке Старт (структурная схема разомкнутой нелинейной САР инициализировалась) и затем по кнопке Стоп (расчет прерван).

Посредством опции Частотный анализ в командном меню Анализ откройте диалоговое окно Параметры частотного анализа и заполните его. Для этого переместите курсор на кнопку Годографов и выполните щелчок левой клавишей «мыши»: откроется графическое окно с заголовком Годографы и изменится форма диалогового окна. Переместите курсор на крайнюю левую кнопку с символом «+» и выполните два щелчка левой клавишей «мыши»: в таблице появятся две новые строки с номерами 1 и 2. Переместите курсор на ячейку Входы 1-ой строки, выполните щелчок левой клавишей «мыши», нажмите на появившуюся в этой ячейке таблицы специальную кнопку и из списка переменных выберите Вход_2. Повторите аналогичные действия для ячейки Входы во 2-й строке таблицы.

По аналогии с предыдущим заполните 2-й и 3-й столбцы таблицы (см. рис. 29 ниже по тексту).

Рис. 29

Переместите курсор на кнопку Расчет и выполните щелчок левой клавишей «мыши»: в поле Графического окна начнется отображение результатов расчета и заголовок окна изменится на новый – Годограф Попова, Годограф Найквиста. Вид линий годографов в поле Графического окна будет подобным графикам на рис. 30 ниже по тексту.

Рис. 30

Используя опцию Свойства меню Графического окна (щелчок правой клавишей «мыши» в поле графического окна) измените в диалоговом окне Настройка параметры осей координат, имя и тип линии годографа Найквиста (синяя сплошная на рис. 30) на пунктирный.

Для изменения имени и типа линии годографа Найквиста переместите курсор в диалоговом окне Настройка (см. рис. 31 ниже по тексту) на специальную кнопку (в поле которой текст График 1), выполните щелчок «мышью» и из списка выберите График 2. Удалите текст График 2 и введите новый текст Годограф Найквиста. Переместите курсор на специальную кнопку, расположенную чуть ниже, выполните щелчок «мышью» и далее выберите новый тип линии – пунктирный.

Рис. 31

Аналогичным образом можно присвоить уникальное имя и линии с именем («по умолчанию») График 1 на новое – Годограф Попова. Измените параметры осей координат, как это выполнено в диалоговом окне Настройка ниже по тексту на рис. 32.

Рис. 32

Переместите в диалоговом окне Настройка курсор на кнопку Да и выполните щелчок левой клавишей «мыши»: преобразованное графическое окно с линиями годографа Попова (черная сплошная) и годографа Найквиста (синяя пунктирная) будут иметь вид, аналогичный рис. 33.

Рис. 33

Одновременное отображение графиков годографа Найквиста и видоизмененного годографа Попова (см. рис. 30 и рис. 33) показывает, что при одном и том же значении частоты вещественные части у обоих годографов одинаковые. Поэтому точки пересечения линий этих годографов с осью абсцисс совпадают. Это позволяет во многих случаях использовать для анализа устойчивости нелинейных САР не видоизмененный годограф, а годограф Найквиста…

При частоте стремящейся к нулю годограф Попова стремится в точку с координатами (b1 – a1  b0 ,  - b0), где коэффициенты  a1 ,  b0  и b1  - коэффициенты передаточной функции линейной части САР, определяемой выражением

.

Выясним, можно ли провести через точку с координатами (-1/K, 0), где К = 50 – верхняя граница Гурвицева угла, прямую так, чтобы годограф Попова лежал строго справа от этой прямой.

Из  рис. 33 видно, что точка с абсциссой –0.02 лежит внутри годографа Попова и любая прямая, проведенная через эту точку, пересечет линию годографа Попова.

Этот результат свидетельствует о том, что рассматриваемая замкнутая автономная нелинейная САР (структурная схема которой получена вставкой дополнительного нелинейного звена в структурную схему устойчивой линейной САР) не будет абсолютно устойчивой…

Проверим это утверждение прямым моделированием…

Закройте диалоговое окно Параметры частотного анализа. Замкните Главную обратную связь и измените начальные условия в блоке с подписью W_2(s) на новые: 0.1  0 (через пробел).

Выполните щелчок по командной кнопке Продолжить: в поле Графического окна (блок с подписью График y(t)) будут  отображены результаты расчета. Внешний вид переходного процесса будет подобным кривой на рис. 34.

Рис. 34

Вид переходного процесса показывает, что в автономной замкнутой нелинейной САР при ненулевых начальных условиях устанавливается режим приблизительно гармонических автоколебаний, амплитуда которых примерно в 25 раз превышает зону нечувствительности в блоке Управляющее  реле ( 0.02).

Резюме: в данной нелинейной САР устанавливается режим относительно больших автоколебаний, поэтому САР не выполняет своих «обязанностей» (не удерживает стационарное состояние с погрешностью плюс/минус 2 %) и, следовательно такая система должна считаться практически неустойчивой. ==>  Необходима новая коррекция САР…

Далее ==> Новая коррекция САР и определение типа устойчивости


Новая коррекция САР и определение типа устойчивости

Выполним новую коррекцию параметров рассматриваемой нелинейной САР.

Из графика годографа Попова следует (см. рис. 33 в подразделе «Анализ устойчивости с использованием критерия В.М. Попова»): чтобы замкнутая нелинейная САР стала устойчивой, необходимо либо уменьшить приблизительно в 20 раз коэффициент скоростной эффективности (k1) в интегрирующем регуляторе, либо в такое же количество раз уменьшить высоту «ступеньки» в Управляющем реле.

Реализуем первый вариант.

Откройте диалоговое окно блока Интегратор и введите в 1-ой диалоговой строке 0.35/20 (0.35 делить на 20).

Такой тип ввода параметра звена основан на том, что диалоговые строки всех типовых блоков «распознают» около 30 простейших математических операций (и операцию Деление в том числе…).

Закройте диалоговое окно и щелкните «мышью» по кнопке Продолжить…

По завершении расчета 2-х кратным щелчком левой клавиши «мыши» в поле графика выполните автомасштабирование: вид графика (см. рис. 35 ниже по тексту) показывает, что с новым значением k1 автономная нелинейная САР асимптотически устойчива.

Начальное отклонение (0.1) относительно  быстро устраняется и САР асимптотически возвращается в свое равновесное состояние (y_стационарное = 0).

Рис. 35

Резюме: скорректированная автономная нелинейная САР асимптотически устойчива.

Далее ==> Анализ устойчивости скорректированной нелинейной САР


Анализ устойчивости скорректированной нелинейной САР

Проверим вышеприведенный вывод об асимптотической устойчивости нелинейной САР, полученный на основании прямого моделирования переходного процесса в автономной системе при ненулевых начальных условиях…

Возвратите нулевые начальные условия в блоке W_2(s). Разомкните Главную обратную связь.

Выполните щелчок «мышью» по кнопке Старт (структурная схема разомкнутой нелинейной САР инициализировалась) и затем по кнопке Стоп (расчет прерван).

Используя опцию Частотный анализ из меню Анализ, откройте диалоговое окно Параметры частотного анализа и затем выполните в нем щелчок «мышью» по кнопке Расчет: произойдет расчет годографов при скорректированном значении k1 = 0.35/20.

Используя опцию Свойства графического окна (щелчок правой клавишей «мыши»), измените параметры осей координат так, как это выполнено на рис. 36 ниже по тексту.

Рис. 36

Точка пересечения годографа Попова с осью абсцисс расположена правее точки с абсциссой  -1/К = - 0.02 (см. рис. 36).

Уточним, на сколько правее расположена точка пересечения годографа Попова с осью абсцисс.

Переместите курсор «мыши» в поле графика, выполните щелчок правой клавишей «мыши» и в появившемся меню выберите опцию Список: графическое окно сменится на таблицу результатов расчета.

Используя вертикальную «прокрутку», найдите строку, наиболее близко соответствующую координатам пересечения годографа Попова с осью абсцисс, т.е. необходимо найти в таблице место, где мнимая часть (График 1) меняет знак с минуса на плюс. После выполнения Вами поиска окно с таблицей будет иметь вид, подобный рис. 37 ниже по тексту.

Рис. 37

Из таблицы следует, что при смене знака мнимой части вещественная часть (Re) равна приблизительно - 0.0198, т.е. больше, чем – 0.02.

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

Резюме: скорректированная нелинейная замкнутая САР абсолютно устойчива.

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

Закройте диалоговое окно Параметры частотного анализа (щелчок по кнопке Да): на экране монитора снова Схемное окно.

Далее ==> Расчет переходных процессов при подаче управляющего воздействия


Расчет переходных процессов при подаче управляющего воздействия

Выполним завершающий этап заданий, а именно: расчет переходных процессов в скорректированной нелинейной САР при подаче управляющего воздействия u(t) = 0.8*1(t).

Замкните Главную обратную связь (в диалоговом окне Главного сравнивающего устройства 2-ой весовой коэффициент должен быть равен -1).

Измените конечное время расчета на 200 с (щелчок «мышью» по командной кнопке Параметры расчета).

Выполните расчет переходного процесса (щелчок «мышью» по командной кнопке Продолжить).

График переходного процесса (см. рис. 38 ниже по тексту) свидетельствует, что скорректированная нелинейная САР отработала управляющее воздействие, однако время переходного процесса значительно больше (около 80 с), чем в 1-ой учебной задаче при k1 = 0.35 (там было менее 20 с).

Рис. 38

Выполните увеличение коэффициента скоростной эффективности регулятора k1  в 2 раза (в 1-ой диалоговой строке блока Интегратор введите 0.35/10).

Выполните щелчок «мышью» по командной кнопке Продолжить…

График переходного процесса в этом случае (см. рис. 39) свидетельствует, что в нелинейной САР установились высокочастотные (приблизительно гармонические) автоколебания с амплитудой примерно 0.05, что в 2.5 раза превышает ширину зону нечувствительности в Управляющем реле.

Рис. 39

Резюме: нелинейная САР «плохо» отработала управляющее воздействие потому, что при таком значении k1   (0.35/10) не выполняются условия критерия абсолютной устойчивости В.М. Попова (точка –1/K  расположена внутри  годографа Попова).

Сохраните данную задачу (нелинейную САР) под новым оригинальным именем, например, Нел_САР.mrj (посредством опции Сохранить как… из меню Файл).

На этом знакомство с процедурами работы в режиме АНАЛИЗ завершено и Вы можете переходить к освоению других режимов работы ПК «МВТУ»…

Рекомендуем перейти к освоению процедур режима ОПТИМИЗАЦИЯ…


Общие сведения о библиотеке Контроль и управление

В режиме работы КОНТРОЛЬ И УПРАВЛЕНИЕ программный комплекс «МВТУ» позволяет создавать виртуальные аналоги пультов управления с измерительными приборами и управляющими устройствами применительно к задачам оперативного контроля и управления рабочими процессами в технических системах.

Для реализации этого режима в ПК «МВТУ» имеется  специальный программный модуль. Специализированная библиотека, поддерживаемая этим программным модулем, имеет название Контроль и Управление и содержит:

-   виртуальные аналоги основных устройств управления;

-   виртуальные аналоги измерительных приборов и сигнальных устройств.

В настоящее время библиотека Контроль и Управление содержит 13 типовых виртуальных элементов, большинство из которых может иметь несколько визуальных образов. Эти элементы «свернуты» в типовой блок Панель приборов, являющийся базовым в библиотеке Контроль и Управление, которая, в свою очередь, включена в «Линейку» типовых блоков ПК «МВТУ».

После переноса типового блока Панель приборов в схемное окно открывается окно Панель управления, а после 2-х кратного щелчка левой клавишей «мыши» в схемном окне по блоку Панель приборов открывается миниокно Панель инструментов, из которого в окно Панель управления переносятся необходимые виртуальные элементы.

К виртуальным аналогам основных устройств управления относятся:

- непрерывный регулятор;

- дискретный многопозиционный регулятор;

- регулятор типа «ползунок»;

- поле ввода  ручное непрерывное;

- поле ввода ручное дискретное;

- кнопка управления.

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

Рисунок 1 – Изображение элементов библиотека Контроль и Управление

Необходимо заметить, что элемент Кнопка может выполнять функции как 2-х позиционного переключателя (изменяющего значение управляющего сигнала после однократного щелчка «мышью»), так и функции 2-х позиционной кнопки (изменяющей значение управляющего сигнала после щелчка и удерживания клавиши «мыши» в нажатом состоянии).

По умолчанию Пользователю предлагается внешний вид кнопки, аналогичный верхней левой кнопке под заголовком КНОПКИ / ПЕРЕКЛЮЧАТЕЛИ на рисунке 1. Визуальный образ этой кнопки соответствует файлу key1.bmp, расположенному в подкаталоге BMP. В этом же подкаталоге имеются и другие варианты изображения виртуальной кнопки, поэтому элементу Кнопка можно придать несколько визуальных образов, что и проиллюстрировано на рисунке 1…

На рисунке 2 представлена копия экранной формы Выбор картинки с изображением более «симпатичной» управляющей кнопки, соответствующей файлу but3vv.bmp, расположенному в подкаталоге BMP. В этом же подкаталоге имеются и другие варианты изображения виртуальной кнопки…

Рисунок 2

К виртуальным аналогам основных измерительных приборов относятся:

- стрелочный прибор типа «вольтметр» (дуговой);

- стрелочный индикатор круговой;

- поле вывода цифровое;

- поле вывода типа «термометр»;

- самописец;

- лампочка;

- звуковая сигнализация.

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

Необходимо заметить, что элемент Лампочка может выполнять функции сигнальных индикаторов, изменяющих свое состояние на активное после свершения какого-то события. Например, 3 простейших лампочки на рисунке 1 показывают, что какой-то регистрируемый параметр выше допуска (красный цвет), в норме  (зеленый цвет), ниже допуска  (желтый цвет).  В правом нижнем угле рисунка 1 расположена сигнальная лампочка (элемент с надписью Сигнал АЗ), изображение которой идентично изображению управляющей кнопки в верхней части рисунка.

Далее ==> Где описаны процедуры работы в режиме КОНТРОЛЬ И УПРАВЛЕНИЕ


Где описаны процедуры работы в режиме КОНТРОЛЬ И УПРАВЛЕНИЕ

Основные процедуры создания в среде ПК «МВТУ» виртуального пульта управления детально описаны в разделе 6 «Инструкции Пользователя программным комплексом «Моделирование в технических устройствах».


Формулировка заданий на параметрическую оптимизацию САР

Использование возможностей ПК «МВТУ» для решения задач оптимального управления и параметрической оптимизации рассмотрим в процессе выполнения очередной учебной задачи (4-ой), которую Вам предлагается выполнить в режиме пошаговых инструкций…

В процессе выполнения ПЕРВОЙ учебной задачи Вы создали в среде в ПК «МВТУ» математическую модель САР, структурная схема которой имела вид, близкий рис. 1.

СТРУКТУРНАЯ СХЕМА САР

Рис. 1

Объект управления с передаточной функцией W_2 (s), соответствовал типовому звену (колебательному) с параметрами: k2 = 1.0; T2 = 1 c; параметр демпфирования b = 0.5; начальные условия - нулевые.

Местная обратная связь с передаточной функцией W_3 (s), соответствовала типовому звену - апериодическому 1-го порядка с параметрами: k3 = 0.6; T3 = 5 c.

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

Напомним главное задание в 1-ой учебной задаче.

Определить значение скоростной эффективности интегрирующего регулятора (коэффициента усиления k1  в блоке Интегратор), обеспечивающей перевод замкнутой линейной САР из состояния y = 0 при t = 0 в состояние y = 0.8  0.04 (5-ти процентный допуск) при следующих ограничениях:

-  время переходного процесса Т_пп , определяемое по факту входа выходного воздействия (регулируемой переменной) в 5-ти процентную «трубку», должно быть не  более 20 секунд;

-  переходной процесс должен проходить без перерегулирования (y_max <= 0.8).

Формулировка вышеприведенного стилистически несколько отличается от «оригинала» (сравните с текстом в подразделе «Исходные данные для 1-ой учебной задачи»), однако цели совпадают…

Используя при выполнении 1-ой учебной задачи метод прямого моделирования, Вы всего  за три «попытки» (!!?) определили «оптимальное» значение скоростной эффективности регулятора (k1 = 0.35), при котором переходной процесс в САР одновременно удовлетворял обоим вышеприведенным ограничениям…

Очевидно,  что при отсутствии «рекомендаций» по варьированию значений параметра k1, процесс поиска «оптимального» значения мог бы существенно затянуться…

Также необходимо заметить, что если число варьируемых параметров в 1-ой учебной задаче было бы два (например, k1 и k3), то стратегия «ручного» поиска была бы далеко не очевидной…

Режим работы ОПТИМИЗАЦИЯ позволяет реализовать автоматизированный поиск варьируемых параметров САР, при которых переходной процесс в САР удовлетворяет некоторым условиям (локальным критериям).

Рассмотрим основные процедуры работы в режиме ОПТИМИЗАЦИЯ на примере САР из 1-го учебного задания при тех же условиях оптимальности (по времени входа в 5-ти процентную «трубку» Т_пп  и по отсутствию перерегулирования)…

Далее ==> Последовательность действий в режиме ОПТИМИЗАЦИЯ


Последовательность действий в режиме ОПТИМИЗАЦИЯ

Приведем перечень основных этапов, которые необходимо выполнить в среде ПК  «МВТУ» для реализации режима работы ОПТИМИЗАЦИЯ:

-   задать варьируемый(е) параметр(ы) как глобальный(е) параметр(ы), используя соответствующие интерфейсные процедуры;

-   сформировать локальные критерии качества (оптимизации), которые необходимы для решения основной задачи оптимизации;

-   ввести в диалоговые окна режима ОПТИМИЗАЦИЯ требуемые данные, включая:

-  имена варьируемых параметров, пределы их изменения и погрешность  расчета;

-  имена локальных критериев и допустимые пределы их значений;

-  расчетный метод оптимизации и его параметры;

-   запустить задачу на счет и ждать….

Восстановите исходное состояние САР в замкнутом состоянии (см. рис. 1 в подразделе «Формулировка заданий на параметрическую оптимизацию САР»).

Далее ==> Этап 1 - задание варьируемого параметра как глобального


Этап 1 - задание варьируемого параметра как глобального

Процедура задания глобального параметра выполняется в специальном окне с заголовком Редактор Глобальных параметров Проекта (Субмодели), открытие которого может быть выполнено 3-мя способами:

-	перемещением курсора на крайнюю слева командную кнопку (с подписью Параметры макроблока) Схемного окна и щелчком  левой клавишей «мыши»;

-	нажатием клавиши F8 при активном Схемном окне;

-	щелчком левой клавиши «мыши» по опции Параметры макроблока в дополнительном командном меню Схемного окна (вызываемого щелчком правой клавиши «мыши» в свободном месте Схемного окна).

Открыв окно Редактор Глобальных параметров Проекта (Субмодели) любым из вышеописанных способов,  введите с клавиатуры в поле окна текст: К=1;

На рис. 2 представлена экранная копия окна Редактор Глобальных параметров Проекта (Субмодели) (уменьшенного по высоте), где текст в фигурных скобках – комментарий к введенному оптимизируемому параметру К.

Рис. 2

Окно Редактор Глобальных параметров Проекта (Субмодели) - фактически окно текстового редактора, в котором Вы можете задать значения или выражения ряда параметров САР, называемых Глобальными параметрами, которые в процессе моделирования остаются постоянными. Функционирование этого окна обеспечивается встроенным в ПК «МВТУ» Интерпретатором математических функций, который «распознает» более 30-ти операторов, включая чисто математические (+, -, *, /, sin, tg, ln и т.п.), логические (if, for и др.) и функциональные операторы (time, step, interpol и др.).

Более подробная информация об  Интерпретаторе математических функций представлена в подразделе «Задание параметров САР через механизм Глобальных параметров»…

Закройте окно Редактор Глобальных параметров Проекта (Субмодели), щелкнув «мышью» по кнопке Применить (2-я справа).

Откройте диалоговое окно блока Интегратор (Регулятор) и измените значение коэффициента усиления, введя вместо 1  (числа) параметр К (символ).

Далее ==> Этап 2 – формирование локальных критериев оптимизации


Этап 3 - формирование локальных критериев оптимизации
Этап 2 - формирование локальных критериев оптимизации

Перенесите в Схемное Окно блоки Максимум (библиотека Нелинейные звенья) и В память (библиотека Субструктуры). Переместите их в левый нижний угол Схемного Окна (см. рис. 3 ниже по тексту), проведите необходимые линии связи и сделайте поясняющие подписи …

В диалоговом окне блока В память в строке Имя переменной введите ymax.

Закройте диалоговое окно блока В память.

Переместите курсор в свободное место Схемного окна, выполните щелчок правой клавишей «мыши» и в падающем командном меню Схемного окна выберите опцию Вставить субмодель: откроется специальное диалоговое окно Открытие субмодели.

Найдите в каталоге …\Demo\Lab_work файл time_p_p.sub и перенесите его имя в строку Имя файла. Закройте это окно, щелкнув по кнопке Открыть.

Переместите курсор в ту часть Схемного Окна, где должна быть расположена вставляемая субмодель (см. рис. 3), и сделайте щелчок левой клавишей «мыши»: в данном месте Схемного Окна появится субмодель “Измеритель” времени ПП (аббревиатура ПП – переходной процесс).

Рис. 3

Переместите курсор на субмодель и выполните 2-х кратный щелчок левой клавиши «мыши»: откроется субмодельное Схемное Окно, экранная копия содержимого которого представлена на рис. 4 ниже по тексту.

Процедуру открытия субмодельного Схемного Окна можно выполнить и другим способом: при активном блоке Субмодель нажать клавишу Pg Dn.

Рис. 4

Переместите курсор на блок с подписью Величина” трубки” и измените:

-   в 1-ой диалоговой строке 0.05 на 0.04, что соответствует 5 %-ной «трубке» от будущего установившегося значения регулируемой переменной, равного 0.8;

-   во 2-ой диалоговой строке из двух вариантов Скаляр или Вектор выберите первый.

Закройте диалоговое окно блока с подписью Величина” трубки”.

Переместите курсор на блок В память и, выполнив 2-х кратный щелчок левой клавиши «мыши», откройте его диалоговое окно.

Введите в строке Имя переменной tpp. Закройте диалоговое окно этого блока.

Субмодель “Измеритель” времени ПП реализует измерение времени переходного процесса и автоматическое присвоение этого значения переменной tpp.

Схема работает следующим образом.

На средний (логический) входной порт Ключа-4А (Величина “трубки”) подается модуль сигнала рассогласования.

Если этот сигнал больше уставки (5 % от 0.8), то на выход Ключа-4А передается сигнал с 3-го (нижнего) входного порта, т.е. текущее модельное время.

Если управляющий сигнал (на среднем входном порту) меньше уставки, то на выход Ключа-4А передается сигнал с 1-го (верхнего) входного порта, т.е. тот же сигнал, но задержанный на один шаг интегрирования.

Задержку на 1 шаг интегрирования осуществляет типовой блок с подписью Время переходного процесса (типовой блок Задержка на шаг интегрирования из библиотеки Дискретные звенья).

Закройте субмодель “Измеритель” времени ПП, выполнив 2-х кратный щелчок «мышью» в свободном месте субмодельного Схемного окна (только не под каким-либо блоком) или нажав на клавишу Pg Up.

Далее ==> Этап 3 – заполнение диалоговых окон в режиме ОПТИМИЗАЦИЯ


Этап 3 - заполнение диалоговых окон в режиме ОПТИМИЗАЦИЯ

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

Откроется диалоговое окно Параметры оптимизации с активной (по умолчанию) закладкой Параметры (см. рис. 5 ниже по тексту).

Рис. 5

Примечание.

Вызов диалогового окна Параметры оптимизации можно было выполнить и другим способом: щелчком левой клавишей «мыши» по командной кнопке Параметры оптимизации в Панели инструментов Главного Окна (6-я справа).

Переместите курсор на специальную кнопку в правой части диалогового окна с изображением символа “ < ” и сделайте однократный щелчок левой клавишей «мыши»: откроется дополнительное диалоговое окно Глобальные константы проекта (см.  рис. 6 ниже по тексту).

Рис. 6

Поскольку в Вашем проекте (задаче) только одна глобальная константа (параметр К = 1), можно сразу щелкнуть по кнопке Да: это диалоговое окно закроется и появится снова предыдущее диалоговое окно, соответствующее закладке Параметры  с заполненной строкой по параметру К.

Скорректируйте значение Максимума  для  К: введите вместо 1 число 2. Значение точности определения параметра К (колонка Точность) оставьте без изменений (0.01 по умолчанию).

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

Переместите курсор на закладку Критерии и сделайте однократный щелчок левой клавишей «мыши»: откроется незаполненное диалоговое окно для задания локальных критериев оптимизации (аналогичное рис. 5).

Переместите курсор на специальную кнопку в правой части диалогового окна с изображением символа “< ” и сделайте однократный щелчок левой клавишей «мыши»: откроется специальное диалоговое окно Глобальные переменные проекта (см. рис. 7 ниже по тексту).

Рис.7

Выделите в окне Список переменных те переменные, которые соответствуют локальным критериям оптимизации.

Процедура выделения выполняется в следующей последовательности: переместите курсор на строку с именем переменной, нажмите клавишу Shift и затем сделайте однократный щелчок левой клавишей «мыши».

Повторите эту процедуру и для 2-го критерия оптимизации.

Переместите курсор на кнопку Да и сделайте щелчок левой клавишей «мыши»: это диалоговое окно закроется и появится диалоговое окно, соответствующее закладке Критерии с заполненными (по умолчанию) значениями Минимум и Максимум для каждого критерия оптимизации.

Скорректируйте значения в столбце Максимум, как это показано на рис. 8.

Значение Максимум для переменной tpp формирует требование по времени переходного процесса: не более 20 секунд.

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

Рис. 8

Переместите курсор на закладку Метод и сделайте однократный щелчок левой клавишей «мыши»: откроется диалоговое окно, соответствующее данной закладке.

Выберите метод, максимальное число моделирований, вид свертки локальных критериев в Глобальный  критерий и т.п., как это показано на рис. 9.

Рис. 9

Выбранный Метод оптимизации (Поиск-2), хотя и является одним из простейших алгоритмов прямого поиска минимума функционала (целевой функции), но обладает высоким быстродействием и эффективностью, особенно, в учебных задачах.

Заданное Максимальное число моделирований (200) вполне достаточно для поиска оптимума в задачах такого типа.

Выбранный Вид общего критерия (Квадратичный) определяет, что локальные критерии (tpp и ymax) будут свернуты в Глобальный критерий с использованием квадратичной формы, причем значения весовых коэффициентов будут рассчитаны автоматически по ограничениям и точности для параметра К и локальных критериев.

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

Переместите курсор на кнопку Да и выполните щелчок левой клавишей «мыши»: диалоговое окно, соответствующее опции Параметры в меню Оптимизация закроется и на экране  монитора снова появится Главное Схемное Окно.

Далее ==> Этап 4 – проведение оптимизационного расчета


Этап 4 - проведение оптимизационных расчетов
Этап 4 - проведение оптимизационного расчета

Переместите курсор на командную кнопку Параметры счета, выполните щелчок левой клавишей «мыши» и в открывшемся диалоговом окне Параметры расчета измените метод интегрирования, например, на метод Рунге-Кутта. Запустите задачу на счет и убедитесь, что переходной процесс расходящийся.

Переместите курсор на командное меню Оптимизация, откройте его и выберите опцию Расчет: появится информационное окно Результаты оптимизации, а в Графическом окне будут «мелькать» графики переходных процессов при варьировании параметра К.

Примечание. Запуск оптимизационного расчета можно выполнить и другим способом: щелчком левой клавиши «мыши» по командной кнопке Начать расчет оптимальных параметров в Панели инструментов Главного Окна.

Примерно через 2…5 секунд поиск завершится и информационное окно Результаты оптимизации примет вид, аналогичный рис. 10.

Рис. 10

Изображение «оптимального» переходного процесса в Графическом окне  после автомасштабирования (2-х кратный щелчок левой клавиши «мыши» в поле графика), редактирования заголовка графика и параметров оси ординат (посредством опции Свойства меню Графического окна…) будет иметь вид, близкий рис. 11 ниже по тексту.

Рис. 11

Выполните щелчок левой клавиши «мыши» по кнопке Применить в окне Результаты оптимизации: это информационное окно закроется, а в окне Редактор Глобальных параметров Проекта (Субмодели) произойдет автоматическая замена исходного значения параметра К (К=1;) на оптимальное  (К=0.4;).

Откройте окно Редактор Глобальных параметров Проекта… щелчком левой клавиши «мыши» по кнопке Параметры макроблока в Панели инструментов Схемного окна и убедитесь, что произошла автоматическая замена исходного значения  К на оптимальное…

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

Сохраните задачу (проект) на диск под новым именем, например, dem_opt . mrj.

На этом очередная (4-я) учебная задача, посвященная освоению процедур работы в режиме ОПТИМИЗАЦИЯ, завершена и Вы можете переходить к изучению других режимов работы ПК «МВТУ».

Выбор за Вами…, но мы рекомендуем перейти к изучению процедур работы в режиме КОНТРОЛЬ и УПРАВЛЕНИЕ…


Осциллятор Ван-дер-Поля

Просим извинить, но описание этого примера не включено в демонстрационную версию ПК “МВТУ”


Странный аттрактор Лоренца

Просим извинить, но описание этого примера не включено в демонстрационную версию ПК “МВТУ”


    Сумматор

Блок реализует операцию алгебраического суммирования скалярных входных сигналов с учетом весовых коэффициентов согласно соотношения:

              у ( t ) = а1*х1 ( t ) + а2*х2 ( t ) + а3*x3 ( t ) + ..... + аN*xN ( t ) ,

где   у(t)                            - выходной сигнал;

x1(t), x2(t), ..., xN(t)  - входные  сигналы;

а1, а2, а3, …., aN     -  весовые коэффициенты с учетом знаков.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке – весовые множители для каждого из входов (вектор весовых коэффициентов) а1, а2, а3, …., aN (через пробел).

Примеры заполнения диалогового окна:

Обычное сравнивающее устройство

Диалоговая строка  -   1 –1  (через пробел)

3 входа (числовое задание весовых коэффициентов)

Диалоговая строка -   2 –3 –0.5 (через пробел)

4 входа (смешанное задание весовых коэффициентов)

Диалоговая строка -   2.3 а12 -3.3 а14 (через пробел)

Примечания:

1. По умолчанию данный блок реализует обычное сравнивающее устройство (простое вычитание сигналов).

2. При ориентации блока слева-направо верхний входной порт для x1(t), ниже - для x2(t) и т.д.

3. Именованные коэффициенты должны быть заданы в окне глобальных параметров посредством Интерпретатора математических функций.

P.S.

Если ввести в диалоговую строку только один множитель численно, например, 3 или символьно, например, А, то при закрытии диалогового окна блок Сумматор будет иметь только один вход.

Если подать на единственный вход блока скалярный сигнал, то в Сумматоре он будет усилен в 3 или в  А раз, в соответствии с типом задания множителя. При A < 0  сначала происходит усиление в А раз, а затем инвертирование сигнала.

При одном входном порте блок частично может выполнять операции и с векторными сигналами. Если подать на единственный вход блока векторный сигнал, то в Сумматоре элементы вектора будут просуммированы и затем сумма будет усилена в 3 или в А раз, в соответствии с типом задания множителя. При A < 0  сначала происходит усиление суммы в А раз, а затем инвертирование сигнала.


   Векторный сумматор

Блок реализует операцию алгебраического суммирования векторных входных сигналов с учетом весовых коэффициентов согласно соотношения:

              у ( t ) = а1*х1 ( t ) + а2*х2 ( t ) + а3*x3 ( t ) + ..... + аN*xN ( t ) ,

где   у(t)                            - выходной сигнал;

x1(t), x2(t), ..., xN(t)  - входные  векторные сигналы;

а1, а2, а3, …., aN     -  весовые коэффициенты с учетом знаков.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке – весовые множители для каждого из входов (вектор весовых коэффициентов) а1, а2, а3, …., aN (через пробел).

Примеры заполнения диалогового окна:

Векторное сравнивающее устройство

Диалоговая строка  -   1 –1  (через пробел)

3 векторных входных сигнала (числовое задание весовых коэффициентов)

Диалоговая строка -   2 –3 –0.5 (через пробел)

4 векторных входных сигнала (смешанное задание весовых коэффициентов)

Диалоговая строка -   2.3 а12 -3.3 а14 (через пробел)

Примечания:

1. По умолчанию данный блок реализует векторное сравнивающее устройство (вычитание двух векторных сигналов).

2. При ориентации блока слева-направо верхний входной порт для x1(t), ниже - для x2(t) и т.д.

3. Если размерности входных векторов разные, выходной сигнал имеет размерность, равную максимальной из размерностей входных сигналов. При суммировании входные сигналы с меньшей размерностью условно  дополняются до максимальной из размерностей входных сигналов. Дополненные "жилы" имеют сигнал, равный нулю.

4. Именованные коэффициенты должны быть заданы в окне глобальных параметров посредством Интерпретатора математических функций.


   Умножение

Блок векторизован и реализует операцию умножения векторного сигнала на скалярный сигнал:

                у ( t ) = х1 ( t ) * х2 ( t ) ,

где  у(t)            - векторный выходной сигнал;

x1(t),         - векторный входной  сигнал (1-ый входной порт);

 x2(t)         - скалярный входной сигнал (2-ой входной порт).

Для работы блока параметры не требуются.

Примечание:

Если подать на 1-ый вход блока векторный сигнал, а на 2-ой вход блока – скалярный сигнал, то в Умножителе элементы 1-го входного сигнала будут поэлементно перемножаться на значение 2-го входного сигнала


   Векторное умножение

Блок реализует операцию умножения N векторных сигналов:

                у ( t ) = х1 ( t ) * х2 ( t ) * x3 ( t ) * ….* xN ( t ) ,

где  у(t)                             - выходной векторный сигнал;

x1(t), x2(t), … xN(t)   - входные  векторные сигналы.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке – Число входных векторов N

Примеры заполнения диалогового окна:

Числовое задание количества входов

Диалоговая строка -    3

Символьное задание количества входов

Диалоговая строка -   аа

Примечания:

1. По умолчанию данный блок реализует векторное перемножающее устройство (перемножение двух векторных сигналов).

2. При ориентации блока слева-направо верхний входной порт для x1(t), ниже - для x2(t) и т.д.

3. Если размерности входных векторов разные, выходной сигнал имеет размерность, равную максимальной из размерностей входных сигналов. При перемножении входные сигналы с меньшей размерностью условно  дополняются до максимальной из размерностей входных сигналов. Дополненные "жилы" имеют сигнал, равный 1.0 (единица).

4. Именованный параметр должен быть задан в окне глобальных параметров посредством Интерпретатора математических функций.


   Деление

Блок векторизован и реализует операцию деления векторного сигнала на скалярный или поэлементного деления двух векторных сигналов (одинаковой размерности):

                 у ( t ) = х1 ( t ) / х2 ( t ) ,

где  у(t)             - выходной сигнал (скалярный или векторный);

x1(t), x2(t)  - входные  сигналы (скалярные или векторные).

Обязательные условия:

1. x2(t) < > 0.

2. Размерности входных векторов должны быть одинаковыми.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать:

В диалоговой строке – Тип второго входного порта: скаляр или вектор

Задания других параметров не требуется.

Примечания:

1. По умолчанию данный блок реализует простое деление  векторного сигнала на скалярный сигнал. Если подать на 1-ый вход блока векторный сигнал, а на 2-ой вход блока – скалярный сигнал (при типе второго входного порта скаляр), то в Делителе элементы 1-го входного сигнала будут поэлементно разделены на значение 2-го входного сигнала.

2. При ориентации блока слева-направо верхний входной порт для x1(t), ниже - для x2(t).


   Модуль

Блок векторизован и осуществляет операцию  получения  модуля  от  мгновенного значения входного сигнала (скалярного или векторного):

               у ( t ) = abs ( x ( t )) ,

где  у(t)  - выходной сигнал (скалярный или векторный);

x(t)  - входной  сигнал (скалярный или векторный);

abs  - символ получения модуля.

Блок не имеет диалоговой строки, поэтому для работы блока параметры не требуются.


   Знак

Блок векторизован и осуществляет операцию определения знака входного сигнала (скалярного или векторного):

y ( t ) = 1,  если x ( t ) > 0;

y ( t ) = -1, если x ( t ) < 0;

y ( t ) = 0,  если x ( t ) = 0,

где  x ( t )  -  входной сигнал (скалярный или векторный);

y ( t )  -  выходной сигнал (скалярный или векторный).

Для работы блока параметры не требуются.


   Усилитель

Блок векторизован и реализует функцию усиления мгновенного  значения  входного сигнала (скалярного или векторного):

                у ( t ) = K * x ( t ) ,

где  у(t)  - вектор выходного сигнала;

x(t)  - вектор входного  сигнала;

K     - коэффициент усиления.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать - коэффициент K;

Примеры заполнения диалогового окна:

Численный вид задания К (одинаковое усиление по всем “жилам”)

Диалоговая строка  -    2.3

Символьный вид задания К (одинаковое усиление по “жилам”)

Диалоговая строка  -    k1

Примечание: по умолчанию данный блок реализует усиление входного сигнала любого типа (скалярного или векторного) при К = 1.


   Интеграл от таблично заданных функций

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

где х – числовой вектор независимой переменной; xmin , xmax  - минимальное и максимальное значения независимой переменной, соответственно; u(x) – числовой вектор значений функции.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке   – число точек таблично заданной функции Npnt;

Во 2-ой диалоговой строке – число функций Nfun;

Блок имеет два векторных входа и один векторный выход.

На первый вход поступает массив значений аргументов таблично заданных функций размерностью Npnt.

На второй вход поступает массив значений таблично заданных функций размерностью Npnt*Nfun (таким образом, может одновременно вычисляться интеграл от нескольких функций, заданных в одних и тех же точках по независимому аргументу).

На выход блока поступают значения интеграла от функций.

Размерность этого выхода равна Nfun.


   Мультиплексор

Блок реализует “сжатие” нескольких скалярных или векторных входных сигналов в один векторный выходной сигнал типа “шина” данных.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать Массив размерностей входов, т.е. размерность вектора на каждом входном порте блока (через пробел).

Примеры заполнения диалогового окна:

Численный вид задания (3 входных сигнала ==> в 10-ти “жильный” вектор)

Массив размерностей входов -    2 5 3 (через пробел)

Это соответствует “сжатию” вектора из 2-х сигналов на 1-ом входе, 5-ти сигналов на 2-ом входе и 3-х сигналов на 3-ем входе в один 10-ти “жильный” векторный выход.

Символьный вид задания (4 входных сигнала ==> в N - “жильный” вектор)

Массив размерностей входов -    n1 n2 n3 n4 (через пробел, где N=n1+n2+n3+n4)

Примечания:

1. Входами могут быть как скалярные, так и векторные (“многожильные”) сигналы.

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

3. Именованные параметры должны быть заданы в окне глобальных параметров посредством Интерпретатора математических функций.


   Демультиплексор

Блок реализует “расщепление” векторного входного сигнала в отдельные выходные сигналы. Выходами могут быть как скалярные, так и векторные (“многожильные”) сигналы.

Блок имеет 1 диалоговую строку.

Для работы блока необходимо задать Массив размерностей выходов, т.е. размерности векторов на каждом выходном порте блока (через пробел).

Примеры заполнения диалогового окна:

Численный вид задания (10-ти “жильный” вход ==> в 3 выходных сигнала)

Массив размерностей выходов -    2 5 3 (через пробел)

Это соответствует “расщеплению” одного входа (вектора из 10-ти сигналов) в три векторных выхода (2 сигнала на 1-ом выходе, 5 сигналов на 2-ом выходе и 3 сигнала на 3-ем выходе).

Символьный вид задания (N - “жильный” вектор ==> в 4 выходных сигнала)

Массив размерностей выходов -    n1 n2 n3 n4 (через пробел, где N=n1+n2+n3+n4)

Примечания:

1. Выходами могут быть как скалярные, так и векторные (“многожильные”) сигналы.

2. По умолчанию данный блок реализует демультиплексирование 2-х “жильного” входного векторного сигнала в скалярные сигналы.

3. Именованные параметры должны быть заданы в окне глобальных параметров посредством Интерпретатора математических функций.


Размножитель
   Векторный размножитель скалярного сигнала

Блок реализует функции многоканального усилительного звена:

уi ( t ) = Ki * x ( t ) ,

где  yi(t)  -  векторный выходной сигнал;

x(t)  -  скалярный входной сигнал.

Блок имеет 1 диалоговую строку.

Для работы блока в диалоговой строке необходимо задать:

Вектор коэффициентов усиления -  Ki (через пробел).

Примеры заполнения диалогового окна:

Численный вид задания (скалярный вход ==> в 3 выходных векторных сигнала)

Вектор коэффициентов усиления Ki  -    2 5 3 (через пробел)

Это соответствует усилению одного скалярного входа в 3-х “жильный” векторный выход с коэффициентами усления:   2  - по 1-ой “жиле”, 5 - по 2-ой “жиле”, и 3 - по 3-ей “жиле”.

Символьный вид задания (скалярный вход ==> в 4-х “жильный” выходной сигнал)

Вектор коэффициентов усиления Ki  -    n1 n2 n3 n4 (через пробел)

Примечания:

1. По умолчанию данный блок реализует преобразование скалярного сигнала в 2-х “жильный” выходной векторный сигнал с коэффициентами усиления по “жилам”, равными 1.0 (2#1).

2. Именованные параметры должны быть заданы в окне глобальных параметров посредством Интерпретатора математических функций.


Векторный размножитель
   Векторный размножитель векторного сигнала

Блок реализует преобразование входного векторного сигнала по алгоритму:

где   X(t) -  векторный входной сигнал;

Y(t)  -  векторный выходной сигнал.

Входной вектор X(t), интерпретируемый как вектор-строка, преобразуется в матрицу размера [N*M], каждый столбец которой получен из элемента входного вектора умножением на соответствующий вектор-столбец коэффициентов усиления. Затем полученная матрица считывается по строкам и полученный вектор Y(t) подается на выход блока.

Блок имеет 3 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой строке – размерность входного вектора N;

Во 2-ой строке – коэффициент размножения входного вектора M;

В 3-ей строке – матрица коэффициентов усиления K_j_i,

где  матрица коэффициентов усиления задается по столбцам; i = 1…N; j = 1…M.

Пример заполнения диалогового окна:

Предположим, что X(t) – 2-х “жильный” входной сигнал (N = 2).

Необходимо размножить данный вектор в 3 раза (М = 3), причем сигнал на 1-ой “жиле” входного вектора необходимо усилить в 2, 3 и 5 раз, а сигнал на 2-ой “жиле” входного вектора необходимо усилить в 4, 2 и 7 раз, соответственно.

Численный вид задания (2-х “жильный” вход ==> в 6-ти “жильный” выход)

1-я строка – 2

2-я строка – 3

3-я строка – (2 3 5)(4 2 7) (значения в скобках введены через пробел)

Символьный вид задания (2-х “жильный” вход ==> в 6-ти “жильный” выход)

1-я строка – N1

2-я строка – M1

3-я строка – (a11 a12 a13)(a21 a22 a23) (значения в скобках введены через пробел)

Примечания:

1. По умолчанию данный блок реализует размножение 2-х “жильного” (N = 2) векторного сигнала в 6-ти “жильный” (M = 3) выходной векторный сигнал с коэффициентами усиления по 1-ой “жиле” входного сигнала 1, 2 и 3 (1 2 3), а по 2-ой “жиле” входного сигнала с коэффициентами усиления 3, 2 и 1 (3 2 1). Итого в 3-ей строке введено (1 2 3)(3 2 1).

2. Именованные параметры должны быть заданы в окне глобальных параметров посредством Интерпретатора математических функций.


   Компенсатор начальных условий

Блок векторизован и реализует преобразование вектора входного сигнала по алгоритму:

yi ( t ) = xi ( t ) - xi ( 0 ) ,

где xi(0) - значение вектора входного сигнала при t = 0, автоматически определяемое на нулевом шаге интегрирования.

Для работы блока параметры не требуются.


   Распаковка матрицы

Блок реализует преобразование входного векторного сигнала на несколько векторных выходных сигналов согласно алгоритму:

где  Y(t)  -  векторный выходной сигнал;

X(t)  -  векторный входной сигнал.

Входной вектор X(t), интерпретируемый как матрица размера [N*M] и “запакованная” по строкам или по столбцам, преобразуется в M или N векторных выходов Y(t) (в зависимости от варианта распаковки: по строкам или по столбцам).

Блок имеет 4 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой строке   -   число строк во входной матрице;

Во 2-ой строке -   число столбцов во входной матрице;

В 3-ей строке   -    вариант “запаковки” входной матрицы (по строкам или по столбцам);

В 4-ой строке   -    вариант “распаковки” входной матрицы (по строкам или по столбцам);

Пример заполнения диалогового окна:

Предположим, что на вход данного блока поступает векторный 6-ти “жильный” сигнал, интерпретируемый как матрица размера [2*3], которую небходимо распаковать по столбцам:

Численный вид задания (6-ти “жильный” вход ==> в три 2-х “жильных” выхода)

Число строк в матрице       -    2

Число столбцов в матрице -    3

Матрица запакована по      -    строкам

Матрицу распаковать по    -     столбцам

Примечания:

1. По умолчанию данный блок реализует распаковку векторного входного сигнала (интерпретируемого как матрица размера [2*2] и запакованная по строкам)  в два 2-х “жильных” выходных векторных сигнала с опцией распаковки по строкам.

2. Количество выходных портов блока равно числу строк в матрице, при распаковке по строкам, или числу столбцов, при распаковке по столбцам.


   Запаковка матрицы

Блок реализует преобразование нескольких входных векторных сигналов в один векторный выходной сигнал согласно алгоритму:

где  Y(t)  -  векторный выходной сигнал;

X(t)  -  векторные входные сигналы.

Входные вектора X(t), интерпретируемые как матрица размера [N*M] и “распакованная” по строкам или по столбцам, преобразуется в один векторный выход Y(t) в зависимости от варианта запаковки: по строкам или по столбцам.

Блок имеет 4 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой строке   -   число строк во входной матрице;

Во 2-ой строке -   число столбцов во входной матрице;

В 3-ей строке   -    вариант “распаковки” входной матрицы (по строкам или по столбцам);

В 4-ой строке   -    вариант “запаковки” выходной матрицы (по строкам или по столбцам);

Пример заполнения диалогового окна:

Предположим, что на вход данного блока поступает три векторных 2-х “жильных” сигнала, интерпретируемые как матрица размера [3*2], которую небходимо запаковать в один выходной вектор по столбцам:

Численный вид задания (три 2-х “жильных” входа ==> в 6-ти “жильный” выход)

Число строк в матрице         -    3

Число столбцов в матрице   -    2

Матрица распакована по      -    строкам

Матрицу запаковать по        -     столбцам

Примечания:

1. По умолчанию данный блок реализует запаковку векторных входных сигналов (интерпретируемых как матрица размера [2*2] и распакованная по строкам)  в один 4-х “жильный” выходной векторный сигнал с опцией запаковки по строкам.

2. Количество входных портов блока равно числу строк в матрице, при распаковке по строкам, или числу столбцов, при распаковке по столбцам.


   Выборка из вектора

Блок реализует выборку из входного вектора в соответствии с заданным типом выборки.

Блок имеет 3 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой строке   – Тип выборки:

- Ручная;

- Четные элементы;

- Нечетные элементы;

- Первые N элементов;

- Последние N элементов;

- В обратном порядке;

- По возрастанию;

- По убывания.

Во 2-ой строке  –  Номера элементов (через пробел для Ручной выборки)

В 3-ей строке    – Параметр N (для опций Первые N и Последние N)

Примеры заполнения диалогового окна:

Предположим, что на вход блока подан векторный сигнал, содержащий 5 постоянных (во времени) сигнала: 3, 5, 2, 6 и 1.

Ручная выборка

1-я строка  -    Ручная

2-я строка  -    2 3 5 (через пробел)

3-я строка  -    любое число

На выходе блока имеем 3-х "жильный" вектор с сигналами 5, 2 и 1

Четные элементы

1-я строка  -    Четные

2-я строка  - любое число

3-я строка  -    любое число

На выходе блока имеем 2-х "жильный" вектор с сигналами 5 и 6

Последние N

1-я строка  -    Последние N

2-я строка  -    любое число

3-я строка  -    3

На выходе блока имеем 3-х "жильный" вектор с сигналами 2, 6 и 1

Обратный порядок

1-я строка  -    Обратный порядок

2-я строка  -    любое число

3-я строка  -    любое число

На выходе блока имеем 5-ти "жильный" вектор с сигналами 1, 6, 2, 5 и 3

По возрастанию

1-я строка  -    По возрастанию

2-я строка  -    любое число

3-я строка  -    любое число

На выходе блока имеем 5-ти "жильный" вектор с сигналами 1, 2, 3, 5 и 6

Примечание:

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


   МНК - аппроксимация

Блок предназначен для аппроксимации таблично заданных функций методом наименьших квадратов (МНК) и имеет следующий список параметров (см. рис. 1) :

- функция формы fmType;

- порядок аппроксимации Order;

- число точек таблично заданной функции Npnt;

- число интерполируемых функций Nfun.

Блок имеет три векторных входа и два векторных выхода. На первый вход поступает массив значений аргументов таблично заданных функций размерностью Npnt. На второй вход поступает массив значений таблично заданных функций размерностью Npnt*Nfun (таким образом, может одновременно проводится аппроксимация нескольких функций, заданных в одних и тех же точках по независимому аргументу). На третий вход поступает массив точек аргументов размерностью Narg, в которых необходимо вычислить значение аппроксимированных функций. Значение Narg определяется размерностью входного сигнала.

На первый выход блока поступают вычисленные после проведения аппроксимации значения функций в точках, заданных в третьем входном порте. Размер этого выхода равен Narg*Nfun.

На второй выход блока поступают значения коэффициентов аппроксимирующих полиномов (в порядке возрастания степеней). Размер этого выхода равен (Order+1)*Nfun.

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


   Интерполяция

Блок предназначен для интерполяции таблично заданных функций и имеет следующий список параметров :

- метод интерполяции Met;

- порядок интерполяции Order;

- число точек таблично заданной функции Npnt;

- индекс начала интерполяции Idn;

- число интерполируемых функций Nfun.

Блок имеет три векторных входа и один векторный выход. На первый вход поступает массив значений аргументов таблично заданных функций размерностью Npnt. На второй вход поступает массив значений таблично заданных функций размерностью Npnt*Nfun (таким образом, может одновременно проводится интерполяция нескольких функций, заданных в одних и тех же точках по независимому аргументу). На третий вход поступает массив точек аргументов размерностью Narg, в которых необходимо вычислить значение интерполируемых функций. Значение Narg определяется размерностью входного сигнала.

На выход блока поступают вычисленные после проведения интерполяции значения функций в точках, заданных в третьем входном порте. Размер этого выхода равен Narg*Nfun.

Реализованы методы интерполяции полиномами Лагранжа и кубическими сплайнами. Порядок интерполяции и индекс начала интерполяции имеют значение только для интерполяции полиномами Лагранжа. Значения Order и Idn определяют области интерполяции и экстраполяции. Внутри интервала [ x(Idn) x(Idn+Order) ] функция интерполируется, вне этого интервала – экстраполируется. При интерполяции сплайнами на границах интервала задано условие равенства 0 вторых производных.

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


   Транспонирование матрицы

Блок реализует операцию транспонирования квадратной матрицы:

Блок имеет один векторизованный  входной порт для ввода матрицы А, представляемой в виде вектора коэффициентов при распаковке матрицы по строкам.

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

Размерности векторных сигналов на входном и на выходном портах – одинаковы.

Блок имеет одну диалоговую строку.

Для работы блока необходимо задать – Размер матрицы : натуральное число n, равное количеству строк (или столбцов) в матрице.

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


Решение системы линейных алгебраических уравнений (СЛАУ)
   Решение системы линейных алгебраических уравнений

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

где  А – матрица коэффициентов;  х – вектор решений;  u – вектор правых частей.

Блок имеет два векторизованных  входных порта:

1-ый входной порт – для ввода матрицы А , представляемой в виде вектора коэффициентов при распаковке матрицы по строкам.

2-ой входной порт – для ввода вектора u (вектора правых частей).

Блок имеет один векторный выходной порт, предназначенный для вывода вектора х (вектора решений).

Размерность векторного сигнала на 1-ом входном порте должна быть равна n*n, где n – количество уравнений в системе, а размерности сигналов на 2-ом входном порте и на выходном порте – одинаковы и равны n.

Блок имеет одну диалоговую строку.

Для работы блока необходимо задать – Число уравнений.

Пример.

Требуется решить следующую систему уравнений:

которая имеет очевидное решение  ==>  x = 1;  y = 2.

На рисунке ниже представлена структурная схема решения данной задачи. Типовые блоки Размножитель использованы для формирования входных векторов.

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


   Умножение матрицы на вектор

Блок реализует процедуру умножения квадратной матрицы на вектор соответствующей размерности.

Блок имеет два векторизованных  входных порта:

1-ый входной порт – для ввода матрицы А , представляемой в виде вектора коэффициентов при распаковке матрицы по строкам.

2-ой входной порт – для ввода вектора u .

Блок имеет один векторный выходной порт, предназначенный для вывода вектора y.

Размерность векторного сигнала на 1-ом входном порте должна быть равна n*n, где n – количество уравнений в системе, а размерности сигналов на 2-ом входном порте и на выходном порте – одинаковы и равны n.

Блок имеет одну диалоговую строку.

Для работы блока необходимо задать – Размер матрицы : натуральное число n, равное количеству строк (или столбцов) в матрице.

Пример.

Требуется умножить матрицу А на вектор u, если:

а результат умножения очевиден  ==> вектор-столбец, элементы которого равны 19 и 38.

На рисунке ниже представлена структурная схема решения данной задачи. Типовые блоки Размножитель использованы для формирования входных векторов.

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


   Макроблок

Блок формирует “оболочку” для создания вложенной (ых) структуры, набранной как из типовых блоков, так и из Макроблоков (Субмоделей) более глубокого уровня вложенности.

Количество входов и выходов данного блока определяется автоматически при наполнении внутренней структуры блока типовыми блоками  Порт входа и Порт выхода.

Открытие диалогового окна блока проводится в следующей последовательности:

-	переместите курсор “мыши” на Макроблок (Субмодель) и выполните однократный щелчок правой клавиши “мыши”: откроется "падающее" меню блока;

-	переместите курсор “мыши” на опцию Свойства и выполните однократный щелчок левой клавиши “мыши”: откроется диалоговое окно данного блока.

Блок имеет 2 диалоговые строки:

1-я строка -   Графическое изображение блока  предназначена для изменения типовой пиктограммы блока на любую оригинальную пиктограмму (из имеющихся в наличии или специально созданной Пользователем);

2-я строка -   Редактор глобальных параметров предназначена для вызова редактора глобальных параметров Субмодели (Макроблока), реализованного посредством Интерпретатора математических функций (имя Редактора - ТvarSys object).

Внутреннее схемное окно Макроблока “открывается” двумя способами:

-	2-х кратным щелчком левой клавиши “мыши” в поле блока;

-	при инициализированном Макроблоке нажатием клавиши Pg Dn.

Закрытие внутренней структуры Субмодели (Макроблока) производится двумя способами:

-   2-х кратным щелчком левой клавиши “мыши” в свободном месте субмодельного схемного окна;

-   нажатием клавиши Pg Up.

Примечание:

Более подробную информацию о процедурах работы с данным блоком см. в разделах Демонстрационно-ознакомительный пример или Краткая Инструкция Пользователя.


   Порт входа

Блок векторизован и организует:

- прием данных от типовых блоков и Субмоделей, внешних по отношению к данному Макроблоку;

- передачу данных для преобразования типовыми блоками (или Субмоделями) внутренней структуры данного Макроблока.

Количество блоков Порт входа автоматически определяет количество входов в данный Макроблок.

При закрытии внутреннего Схемного окна автоматически происходит "перерисовка" изображения данного Макроблока.

Порт входа может обрабатывать как скалярные, так и векторные входные сигналы.

Примечание:  Рекомендуется сразу же после переноса блока из "Линейки" типовых блоков в Схемное окно присвоить этому блоку "уникальное" имя, например, Вход № 1.


   Порт выхода

Блок векторизован и организует:

- прием данных от типовых блоков и Субмоделей внутренней структуры данного Макроблока;

- передачу данных для преобразования типовыми блоками (Субмоделями), внешними по отношению к данному Макроблоку.

Количество блоков Порт выхода автоматически определяет количество выходов из данного Макроблока.

При закрытии внутреннего Схемного окна автоматически происходит “перерисовка” изображения данного Макроблока.

Порт выхода может обрабатывать как скалярные, так и векторные сигналы.

Примечание: Рекомендуется сразу же после переноса блока из "Линейки" типовых блоков в Схемное окно присвоить этому блоку "уникальное" имя, например, Выход № 1.


   Заметка

Блок фактически является сервисным и предоставляет возможность Пользователю выполнить поясняющие текстовые сообщения в любом Схемном окне Проекта. Для ввода текстового сообщения необходимо:

-	перенести из Линейки типовых блоков в Схемное окно (Главное или субмодельное) блок Заметка, расположив его на желаемое место;

-	выделить блок Заметка однократным щелчком левой клавиши “мыши”;

-	переместить курсор "мыши" текст "Заметка" и выполнить 2-х кратный щелчок левой клавишей "мыши": откроется текстовое окно;

-	удалить текст "Заметка", ввести требуемое текстовое сообщение и закрыть текстовое окно, выполнив 2-х кратный щелчок левой клавишей “мыши” в свободном месте Схемного окна.

Тип, размер и цвет введенного текстового сообщения устанавливается (редактируется) при выделенном блоке Заметка посредством меню Стиль и опции Шрифт подписи блока.


   Комментарий

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

-	перенести из Линейки типовых блоков в Схемное окно (Главное или субмодельное) блок Комментарий, расположив его на желаемое место;

-	переместить курсор "мыши" на блок Комментарий и выполнить 2-х кратный щелчок левой клавишей "мыши": откроется специальное текстовое окно с заголовком Комментарий к схеме;

-	ввести необходимый текст, поясняющий решаемую задачу в среде ПК “МВТУ”;

-	закрыть специальное текстовое окно с заголовком Комментарий к схеме, выполнив однократный щелчок левой клавишей "мыши" по кнопке Да.

Примеры оформления поясняющих комментариев к решаемой задаче рекомендуется посмотреть в любом демо-примере ПК “МВТУ” (каталог Demo).

Подпись под блоком Комментарий на Схемном окне выполняется таким же образом, как и для блока Заметка, а именно:

-	выделить блок Комментарий однократным щелчком левой клавиши “мыши”;

-	переместить курсор "мыши" текст "комментарий" и выполнить 2-х кратный щелчок левой клавишей "мыши": откроется текстовое окно;

-	удалить текст "комментарий", ввести требуемое текстовое сообщение (например, “Информация о проекте”) и закрыть текстовое окно, выполнив 2-х кратный щелчок левой клавишей “мыши” в свободном месте Схемного окна.

Тип, размер и цвет введенного текстового сообщения под блоком Комментарий устанавливается (редактируется) при выделенном блоке Комментарий посредством меню Стиль и опции Шрифт подписи блока.


   В память

Блок векторизован и выполняет процедуру формирования в динамической памяти глобальных (именованных) переменных, посредством которых реализуется 1-ый этап “беспроводной” передачи данных (например, из Главного схемного окна в субмодель или из субмодели в Главное схемное окно или в другую субмодель).

Блок имеет только входной порт (один).

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

По умолчанию в 1-ом перенесенном в Схемное окно блоке В память в строке Имя переменной введено Y1. Если Вас устраивает данное имя переменной, то нажатие на клавишу Да приведет к формировании в динамической памяти одноименной глобальной переменной (скалярной или векторной в соответствии с размерностью входного сигнала блока).

Если в 1-ом перенесенном в Схемное окно блоке В память оставлено имя по умолчанию (Y1), то при открытии диалогового окна 2-го перенесенного в Схемное окно блока В память по умолчанию будет предложено имя Y2, а информационное окно Список переменных будет содержать 2 (два) имени: Y1 и Y2.

Пример заполнения диалогового окна:

Если Вы желаете присвоить переменной (скалярной или векторной) уникальное имя (например, dN(t)/No), необходимо удалить в диалоговой строке имя по умолчанию и ввести желаемое.

Примечания:

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

2. Если количество переменных значительно и полный список не помещается в каком-то из миниокон,  то для просмотра всего содержания предусмотрен стандартный механизм горизонтальной “прокрутки” данного окна.


    Из памяти

Блок векторизован и выполняет процедуру извлечения из динамической памяти глобальных (именованных) переменных для реализации 2-го этапа “беспроводной” передачи данных.

Блок имеет только выходной (ые) порт (ы).

Блок имеет специальное диалоговое окно с заголовком Выбор элементов из списка, содержащее 2 миниокна:

- Список - источник (для вывода имен глобальных переменных);

- Список - приемник (для вывода в него списка имен имеющихся в проекте глобальных переменных на момент открытия диалогового окна).

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

При 1-ом открытии диалогового окна блока в миниокне Список - источник содержатся имена всех глобальных переменных, сформированных к этому времени блоками В память, а миниокно Список - приемник – пустое (см. ниже левую экранную копию диалогового окна).

Если необходимо извлечь из памяти в виде выходного сигнала блока какую-то глобальную переменную, например, N(t)/No, необходимо:

- курсором "мыши" выделить эту переменную в миниокне Список - источник;

- выполнить однократный щелчок левой клавишей "мыши" по кнопке с изображением одинарной стрелки, направленной вниз: имя переменной переместится из верхнего миниокна (Список - источник) в нижнее миниокно (Список - приемник);

- закрыть диалоговое окно щелчком "мыши" по кнопке Да: произойдет перерисовка Схемного окна и данный блок  Из памяти будет иметь один (скалярный) выходной порт.

Экранные копии диалоговых окон

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

Кнопка с изображением сдвоенной стрелки вниз  предназначена для перемещения всех имен из верхнего миниокна в нижнее миниокно.

Кнопка с изображением одинарной стрелки вверх  предназначена для перемещения имени одной переменной из нижнего миниокна в верхнее миниокно.

Кнопка с изображением сдвоенной стрелки вверх  предназначена для перемещения всех имен из нижнего миниокна в верхнее миниокно.

Две правые кнопки предназначены для перемещения (ручной сортировки) имен переменных вверх/вниз в миниокне Список - приемник.

Примечания:

1. Если количество извлекаемых  из динамической памяти глобальных переменных (скалярных или векторных) две или более, то при закрытии диалогового окна произойдет перерисовка Схемного окна и данный блок Из памяти будет иметь количество выходных портов (скалярных или векторных), равное количеству извлекаемых глобальных переменных.

2. Если количество переменных значительно и полный список не помещается в каком-то из миниокон,  то для просмотра всего содержания предусмотрен стандартный механизм горизонтальной “прокрутки” данного окна.


   Стоп-расчет

Блок выполняет процедуру Стоп-расчет или временное прерывание расчета при вхождении значения входного сигнала в заданный диапазон.

Блок имеет 3 диалоговых строки.

Для работы в диалоговых строках необходимо задать:

В 1-ой диалоговой строке – текст сообщения, если Стоп-расчет.

Во 2-ой диалоговой строке – левую границу диапазона входного сигнала, при котором Стоп-расчет.

В 3-ей диалоговой строке –  правую границу диапазона входного сигнала, при котором Стоп-расчет.

При возникновении в процессе моделирования ситуации Стоп-расчет появляется специальное информационное окно с заголовком Остановить расчет?, с текстом сообщения о причине вызова процедуры Стоп-расчет и кнопками ДА и НЕТ.

Если Вы выбрали НЕТ, то расчет будет продолжен до конечного времени моделирования.

Если Вы выбрали ДА, то расчет будет прерван и появится информационное окно Возникшие ошибки с сообщением «Ошибка: останов по требованию блока».

Примеры заполнения диалогового окна.

Числовое задание параметров

1-я диалоговая строка - Превышение уставки по давлению

2-я диалоговая строка - 17

3-я диалоговая строка - 16.5

Символьное задание параметров

1-я диалоговая строка - Предупредительная уставка по периоду разгона

2-я диалоговая строка - Т_max

3-я диалоговая строка - T_min

Смешанное задание параметров

1-я диалоговая строка - Клапан САР открывается

2-я диалоговая строка - Z_1

3-я диалоговая строка - 0.01

Примечания:

1.  По умолчанию данный блок реализует процедуру Стоп-расчет с параметрами диалоговых строк, стоп-расчет, 0 и 1, соответственно.

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


   Общий блок памяти

Блок предназначен для создания в модели именованной области памяти. Диалоговое окно данного блока представлено ниже на рис. 1.

Рис. 1

Имя области памяти CommonBlockName (на рис. 1 в качестве примера задано имя "Ком_оператора") является уникальным и позволяет однозначно идентифицировать выделяемую память в пределах структурной схемы. Уникальность имени контролируется автоматически.

Файл описания данных CodeFile (на рис. 1 задано "data\ru\com.cod") является текстовым файлом, в котором содержатся коды сигналов (имена ячеек) создаваемой области памяти. Путь к файлу может быть задан относительно места хранения файла со структурной схемой модели. Требования к структуре файла приведены в (ссылка). После считывания кодов из файла CodeFile заполняется список сигналов, находящихся в блоке памяти. Считывание кодов из файла происходит после нажатия на имени файла клавиши "Ввод" или задания имени файла с помощью кнопки поиска файла.

Флаг "Сигналы команд" определяет тип области памяти. Обычно флаг устанавливается, если в области памяти хранятся команды на управление исполнительными механизмами (ИМ). Управление одним и тем же ИМ может осуществляться в различных местах структурной схемы. Например, команда на закрытие задвижки может формироваться несколькими алгоритмами защиты. Каждый из алгоритмов на каждом шаге интегрирования записывает в одну и ту же ячейку памяти значение команды (1 – команда есть, 0 – команды нет). Если флаг не установлен, то может возникнуть ситуация, когда один алгоритм записывает в ячейку памяти 1, а затем второй алгоритм – 0. В этом случае команда на закрытие не пройдет. Если флаг установлен, то ячейка памяти обнуляется только в том случае, если ранее на шаге интегрирования в нее не было записано ненулевое значение.

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

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

На рис. 2 представлено окно диалога, возникающее при создании нового или редактировании существующего фильтра области памяти.

Рис. 2

Как видно из рис. 2, для фильтра задаются:

- имя фильтра (на рис. 2 – "Выкл/Вкл насосов");

- тип фильтра (на рис. 2 – "Файл + маска");

- файл (на рис. 2 – "data\ru\pmp_y.cod");

- маска (на рис. 2 – "(*YB02):(*YB01)").

При создании нового фильтра его имя автоматически добавляется в список фильтров (см. рис. 1). При выборе фильтра из списка меняется содержимое списка кодов сигналов – в этот список включаются только те сигналы, которые удовлетворяют условиям, наложенным фильтром. Фильтр "ВСЕ" является предопределенным и пустым.

Возможно задание следующих типов фильтра: "текст-маска", "файл", "файл + текст-маска".

Задание маски (ссылка) позволяет выбирать из общего списка сигналы, коды которых удовлетворяют определенному сочетанию символов. Например, маска на рис. 2 означает, что выбираются сигналы, последние четыре символа которых равны "YB02" или "YB01".

Задание фильтра в виде файла аналогично заданию файла описания CodeFile. В такой фильтр включаются только те сигналы, которые есть и в файле фильтра, и в общем списке сигналов.

Фильтр " файл + текст-маска " является комбинацией двух описанных выше фильтров. При этом сигналы в общем списке должны удовлетворять условиях обоих фильтров (между фильтрами действует логическое "И").

При создании нового фильтра его маска автоматически добавляется в список масок (см. рис. 1). При выборе маски из списка меняется содержимое списка кодов сигналов – в этот список включаются только те сигналы, которые удовлетворяют условиям, наложенным фильтром.

Использование фильтров делает доступ к данным в области памяти более гибким. Например, если область памяти заполняется данными, поступающими в структурную схему из внешней программы через файл, и этих данных много, то наиболее удобным способом является обращение к этим данным в блоке Запись в область памяти как к единому массиву. С другой стороны, часто возникает необходимость извлекать отдельные элементы данных в различных местах структурной схемы (например, в алгоритмах дискретного управления). В этом случае более удобно извлекать отдельные сигналы из общего списка.


   Запись данных в общий блок памяти

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


   Чтение данных из общего блока памяти

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

На рис. 1 представлено диалоговое окно параметров блока. Из списка выбирается область памяти (на рис. 1 – "Состояния"). При этом автоматически заполняется список фильтров области памяти, а в список-приемник заносятся те коды, которые удовлетворяют текущему фильтру области памяти.

Рис. 1

Выбор в качестве фильтра области памяти предопределенного фильтра "ВСЕ" означает переход в режим индивидуального выбора сигналов. При этом становятся доступными кнопки перемещения сигналов из списка-источника в список-приемник, и обратно. Используя эти кнопки,  требуемые имена из списка-источника перемещаются в список-приемник.

На рис. 2 показан графический образ блока Чтение из области памяти на структурой схеме после нажатия на кнопку "Ok" для показанного на рисунке 1 содержимого списка-приемника. Из  рис. 2 видно, что подпись блока содержит имя области памяти, а изображение блока – это список имен выбранных элементов данных. Блок имеет один выход. В данном примере на выход поступают два скалярных значения состояния регулирующих клапанов в следующей последовательности: "TA11S002XB03" и "TA12S002XB03".

Рис. 2

Выбор фильтра области памяти, отличного от фильтра "ВСЕ", означает переход в режим выбора именованной группы сигналов. При этом кнопки перемещения сигналов из списка-источника в список-приемник, и обратно, становятся недоступными. Список-приемник автоматически очищается. Список-источник заполняется кодами, которые удовлетворяют выбранному фильтру.

На рис. 3 представлено диалоговое окно параметров блока с выбранным фильтром."Аналоговые", а на рис. 4 - графический образ блока Чтение из области памяти на структурой схеме после нажатия на кнопку "Ok" для выбранных параметров блока. Из рис. 4 видно, что подпись блока содержит имя области памяти, а изображение блока – это имя выбранного фильтра области памяти. Блок имеет один векторный выход, размер которого равен числу кодов, удовлетворяющих фильтру.

Рис. 3

Рис. 4

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

Использование локального фильтра позволяет оставить в списке-источнике только нужные для выбора сигналы. Поле для ввода маски фильтра доступно только в режиме индивидуального выбора сигналов. Действие фильтра вступает в силу после нажатия клавиши "Ввод"  на поле ввода маски. При этом текст маски автоматически добавляется в список масок. Этот список сохраняется в течение всего сеанса работы в среде ПК "МВТУ". Нажатие кнопки справа от поля ввода списка фильтров позволяет очистить список масок.

Флаг "Сортировать" позволяет отсортировать коды в списке-источнике по алфавиту.

При установленном флаге "Удалять" перемещаемые в список-приемник коды автоматически удаляются из списка-источника. Отключение этого флага позволяет извлечь из общей памяти один и тот же сигнал несколько раз.


Внешние сигналы модели
   Входные сигналы модели

Диалоговое окно Входные сигналы модели предназначено:

- для описания внешних сигналов (присвоение имен и задание начальных значений сигналов), импортируемых из внешних программ через файл прямого доступа;

- для описания управляющих сигналов (присвоение имен и задание начальных значений сигналов), передаваемых в структурную схему Проекта посредством виртуальной Панели управления, созданной с использованием одноименного блока из специализированной библиотеки Контроль и Управление;

- для условного «объявления» внешним любого сигнала в структурной схеме, посредством чего можно реализовать переменность любого глобального параметра Проекта (в процессе моделирования).

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

Пример заполнения диалогового окна Входные сигналы модели представлен на рисунке ниже…

Примечания.

1. Для создания сигналов оперативного управления посредством блока Панель управления из библиотеки Контроль и Управление необходимо сначала описать эти сигналы в диалоговом окне Входные сигналы модели.

2. Если в Проекте реализуется изменяемость параметров ряда блоков посредством опции Внешние сигналы, рекомендуется переопределять значения этих параметров с использованием окна Редактор Глобальных параметров Проекта…, ==> например: К11=К_вниз.


   Извлечь внешние входы

Блок векторизован и реализует ввод в структурную схему внешних сигналов, описание которых выполнено в диалоговом окне Входные сигналы модели.

Блок имеет только  один векторизованный выходной порт.

Блок имеет специальное диалоговое окно с заголовком Выбор элементов из списка, содержащее 2 миниокна:

- Список – источник, предназначенное для вывода имен Внешних сигналов, которые на момент открытия диалогового окна еще не использованы в Проекте;

- Список – приемник, предназначенное для перевода в него требуемого имени  Внешнего сигнала (или нескольких имен Внешних сигналов), неиспользованного (неиспользованных) в Проекте на момент открытия диалогового окна.

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

При 1-ом открытии диалогового окна блока в миниокне Список - источник содержатся имена всех Внешних сигналов, сформированных к этому времени посредством диалогового окна Внешние сигналы модели, а миниокно Список - приемник – пустое.

Если необходимо извлечь в виде выходного сигнала блока какой-то внешний сигнал, например, U_zad, необходимо:

- курсором "мыши" выделить этот сигнал в миниокне Список - источник;

- выполнить однократный щелчок левой клавишей "мыши" по кнопке с изображением одинарной стрелки, направленной вниз: имя внешнего сигнала переместится из верхнего миниокна (Список - источник) в нижнее миниокно (Список - приемник);

- закрыть диалоговое окно щелчком "мыши" по кнопке Да: произойдет перерисовка Схемного окна и данный блок будет иметь один (скалярный) выходной порт.

Примечания:

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

2.  Если количество внешних сигналов значительно и полный список не помещается в каком-то из миниокон,  то для просмотра всего содержания предусмотрен стандартный механизм горизонтальной “прокрутки” данного окна.


   Объявить выходы как внешние входы

Блок векторизован и реализует процедуру «объявления» внешним любого сигнала в структурной схеме. Описание имени и начального значения внешнего сигнала выполняется в диалоговом окне Входные сигналы модели.

С использованием данного блока можно реализовать переменность глобальных параметров Проекта.

Блок имеет только входной (ые) порт (ы).

Блок имеет специальное диалоговое окно с заголовком Выбор элементов из списка, содержащее 2 миниокна:

- Список – источник, предназначенное для вывода имен Внешних сигналов, которые на момент открытия диалогового окна данного блока еще не использованы в Проекте;

- Список – приемник, предназначенное для перевода в него требуемого имени  Внешнего сигнала (или нескольких имен внешних сигналов), неиспользованного (неиспользованных) в Проекте на момент открытия диалогового окна.

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

Если необходимо «объявить» как внешний вход какой-то сигнал в структурной схеме, например, U_РУ, необходимо:

- курсором "мыши" выделить этот сигнал в миниокне Список - источник;

- выполнить однократный щелчок левой клавишей "мыши" по кнопке с изображением одинарной стрелки, направленной вниз: имя внешнего сигнала переместится из верхнего миниокна (Список - источник) в нижнее миниокно (Список - приемник);

- закрыть диалоговое окно щелчком "мыши" по кнопке Да: произойдет перерисовка Схемного окна и данный блок будет иметь один (скалярный) входной порт.

Если необходимо «объявить» как внешние входы два или более сигналов в структурной схеме, необходимо повторить вышеописанную последовательность действий для других имен сигналов.

Кнопка с изображением сдвоенной стрелки вниз  предназначена для перемещения всех имен из верхнего миниокна в нижнее миниокно.

Кнопка с изображением одинарной стрелки вверх  предназначена для перемещения имени одного внешнего сигнала из нижнего миниокна в верхнее миниокно.

Кнопка с изображением сдвоенной стрелки вверх  предназначена для перемещения всех имен из нижнего миниокна в верхнее миниокно.

Две правые кнопки предназначены для перемещения (ручной сортировки) имен внешних сигналов вверх/вниз в миниокне Список - приемник.

Примечания:

1.  Если количество сигналов (скалярных или векторных), «объявляемых» как внешние сигналы, два или более, то при закрытии диалогового окна произойдет перерисовка Схемного окна и данный блок Объявить выходы как внешние входы  будет иметь количество входных портов (скалярных или векторных), равное количеству имен внешних сигналов, перенесенных в миниокно Список - приемник.

2.  Если количество внешних сигналов значительно и полный список не помещается в каком-то из миниокон,  то для просмотра всего содержания предусмотрен стандартный механизм горизонтальной “прокрутки” данного окна.


   Среднее значение

Блок векторизован и реализует вычисление среднего арифметического значения сигнала.

Вычисление среднего значения сигнала производится по формуле:

         где   n – объем выборки (количество значений)

                 xi – значения  i-го элемента выборки

Блок имеет 1 входной порт и 1 выходной порт. Входной сигнала может быть векторным.  Размерность выходного сигнала всегда равна размерности входного сигнала.

Блок имеет 3 диалоговые строки.

Для работы блока необходимо задать:

В 1-й диалоговой строке задать - Размер серии. Значение этого параметра определяет размер серии в выборке.

Во 2-й диалоговой строке выбрать - Расчет по всей выборке (Да или Нет). Если это свойство имеет значение Нет, то среднее значение вычисляется по отдельным сериям.

Если значение свойства равно Да, то среднее значение  уточняется сразу же после получения очередного нового значения сигнала на входе в блок.

В 3-й диалоговой строке задать - Период квантования. Значение этого параметра определяет длительность временного интервала между двумя последовательными считываниями значений сигнала на входе блока. Если это свойство равно 0 (нулю), то считывание производится с периодом, равным шагу интегрирования.

Пример заполнения диалогового окна:

1-я диалоговая строка  - 256

2-я диалоговая строка  - Да

3-я диалоговая строка  - 0


   Среднеквадратическое отклонение

Блок векторизован и реализует вычисление среднеквадратического отклонения значения сигнала.

Среднеквадратическое отклонение подсчитывается по следующей формуле:

        где   n – объем выборки (количество значений)

                xi – значение  i-го элемента выборки

               М – математическое ожидание случайной величины

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

Блок имеет 1 входной порт и 1 выходной порт. Входной сигнала может быть векторным.  Размерность выходного сигнала всегда равна размерности входного сигнала.

Блок имеет 4 диалоговые строки.

Для работы блока необходимо задать:

В 1-й диалоговой строке задать - Размер серии. Значение этого параметра определяет размер серии в выборке.

Во 2-й диалоговой строке выбрать - Расчет по всей выборке (Да или Нет). Если это свойство имеет значение Нет, то среднеквадратическое отклонение вычисляется по отдельным сериям.

Если значение свойства равно Да, то среднеквадратическое отклонение  уточняется сразу же после получения очередного нового значения сигнала на входе в блок.

В 3-й диалоговой строке задать - Период квантования. Значение этого параметра определяет длительность временного интервала между двумя последовательными считываниями значений сигнала на входе блока. Если это свойство равно 0 (нулю), то считывание производится с периодом, равным шагу интегрирования.

В 4-й диалоговой строке выбрать - Удаление линейного тренда (Да или Нет). Если это свойство имеет значение Да, то из массива накопленных значений входного сигнала предварительно вычитается линейный тренд.

Пример заполнения диалогового окна:

1-я диалоговая строка  - 256

2-я диалоговая строка  - Да

3-я диалоговая строка  - 0

4-я диалоговая строка  - Нет

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


   Коэффициент эксцесса

Блок векторизован и реализует вычисление коэффициента эксцесса (третьего момента) сигнала.

Коэффициент эксцесса подсчитывается по следующей формуле:

        где   n – объем выборки (количество значений)

                xi – значение  i-го элемента выборки

               М – математическое ожидание случайной величины

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

Блок имеет 1 входной порт и 1 выходной порт. Входной сигнала может быть векторным.  Размерность выходного сигнала всегда равна размерности входного сигнала.

Блок имеет 4 диалоговые строки.

Для работы блока необходимо задать:

В 1-й диалоговой строке задать - Размер серии. Значение этого параметра определяет размер серии в выборке.

Во 2-й диалоговой строке выбрать - Расчет по всей выборке (Да или Нет). Если это свойство имеет значение Нет, то коэффициент эксцесса вычисляется по отдельным сериям.

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

В 3-й диалоговой строке задать - Период квантования. Значение этого параметра определяет длительность временного интервала между двумя последовательными считываниями значений сигнала на входе блока. Если это свойство равно 0 (нулю), то считывание производится с периодом, равным шагу интегрирования.

В 4-й диалоговой строке выбрать - Удаление линейного тренда (Да или Нет). Если это свойство имеет значение Да, то из массива накопленных значений входного сигнала предварительно вычитается линейный тренд.

Пример заполнения диалогового окна:

1-я диалоговая строка  - 256

2-я диалоговая строка  - Да

3-я диалоговая строка  - 0

4-я диалоговая строка  - Нет

Примечания: Вывод коэффициента эксцесса при расчете по всей выборке осуществляется, начиная со второй точки расчета. Начальное значение равно 0.


   Фактор сплющиваемости

Блок векторизован и реализует вычисление фактора сплющиваемости (четвёртого момента) сигнала.

Фактор сплющиваемости подсчитывается по следующей формуле:

        где   n – объем выборки (количество значений)

                xi – значение  i-го элемента выборки

               М – математическое ожидание случайной величины

Фактор сплющиваемости характеризует отклонение формы кривой плотности вероятности от нормального закона распределения. Для нормального закона эта величина равна 0.

Блок имеет 1 входной порт и 1 выходной порт. Входной сигнала может быть векторным.  Размерность выходного сигнала всегда равна размерности входного сигнала.

Блок имеет 4 диалоговые строки.

Для работы блока необходимо задать:

В 1-й диалоговой строке задать - Размер серии. Значение этого параметра определяет размер серии в выборке.

Во 2-й диалоговой строке выбрать - Расчет по всей выборке (Да или Нет). Если это свойство имеет значение Нет, то фактор сплющиваемости вычисляется по отдельным сериям.

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

В 3-й диалоговой строке задать - Период квантования. Значение этого параметра определяет длительность временного интервала между двумя последовательными считываниями значений сигнала на входе блока. Если это свойство равно 0 (нулю), то считывание производится с периодом, равным шагу интегрирования.

В 4-й диалоговой строке выбрать - Удаление линейного тренда (Да или Нет). Если это свойство имеет значение Да, то из массива накопленных значений входного сигнала предварительно вычитается линейный тренд.

Пример заполнения диалогового окна:

1-я диалоговая строка  - 256

2-я диалоговая строка  - Да

3-я диалоговая строка  - 0

4-я диалоговая строка  - Нет

Примечания: Вывод фактора сплющиваемости при расчете по всей выборке осуществляется, начиная со второй точки расчета. Начальное значение равно 0.


   Коэффициент корреляции

Блок векторизован и реализует вычисление коэффициента корреляции двух сигналов.

Коэффициент корреляции подсчитывается по следующей формуле:

где   n – объем выборки (количество значений)

        xi – величина  i-го значения первого сигнала

                yi – величина  i-го значения второго сигнала

            М(x) – математическое ожидание первого сигнала

            М(y) – математическое ожидание второго сигнала

Коэффициент корреляции показывает, насколько сильна зависимость между двумя сигналами. Если сигналы являются линейно зависимыми, то коэффициент корреляции по модулю равен 1.

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

Блок имеет 3 диалоговые строки.

Для работы блока необходимо задать:

В 1-й диалоговой строке задать - Размер серии. Значение этого параметра определяет размер серии в выборке.

Во 2-й диалоговой строке выбрать - Расчет по всей выборке (Да или Нет). Если это свойство имеет значение Нет, то коэффициент корреляции вычисляется по отдельным сериям.

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

В 3-й диалоговой строке задать - Период квантования. Значение этого параметра определяет длительность временного интервала между двумя последовательными считываниями значений сигналов на входах блока. Если это свойство равно 0 (нулю), то считывание производится с периодом, равным шагу интегрирования.

Пример заполнения диалогового окна:

1-я диалоговая строка  - 256

2-я диалоговая строка  - Да

3-я диалоговая строка  - 0

Примечания: Вывод коэффициента корреляции  при расчете по всей выборке осуществляется, начиная со второй точки расчета.


   Плотность вероятности

Этот блок предназначен для построения плотности вероятности распределения сигнала (гистограммы).

Алгоритм расчёта плотности вероятности следующий:

1. Сначала вычисляется минимальное и максимальное значения случайного сигнала Xmin и Xmax.

2. Весь интервал [Xmin, Xmax] разбивается на заданное число интервалов m, причём границы каждого интервала рассчитываются по формулам:

где     L – левая граница i-го интервала; R – правая граница i-го интервала.

    Ширина интервала:

3. Затем  рассчитывается число попаданий величины в i-й интервал Ni.

4. Плотность вероятности в i-м интервале оценивается по формуле:

где     n – размер выборки.

Блок имеет 1 входной порт и 2 выходных порта.

Входной сигнал должен быть скалярным.

Сигнал на 1-ом выходном порте - вектор середин интервалов гистограммы.

Сигнал на 2-ом выходном порте - вектор значений гистограммы.

Размерность выходов одинакова и соответствует свойству Число интервалов.

Блок имеет 9 диалоговых строк.

Для работы блока необходимо задать:

В 1-й диалоговой строке задать - Размер серии. Значение этого параметра определяет размер серии в выборке.

В 2-й диалоговой строке выбрать - Расчет по всей выборке (Да или Нет). Если это свойство имеет значение Да то плотность вероятности рассчитывается по всей выборке и усредняется.

Если свойство имеет значение Нет, то плотность вероятности вычисляется по отдельным сериям.

В 3-й диалоговой строке задать - Период квантования. Значение этого параметра определяет длительность временного интервала между двумя последовательными считываниями значений сигнала на входе блока. Если это свойство равно 0 (нулю), то считывание производится с периодом, равным шагу интегрирования.

В 4-й диалоговой строке выбрать - Удаление линейного тренда (Да или Нет). Если это свойство имеет значение Да, то из массива накопленных значений входного сигнала предварительно вычитается линейный тренд.

В 5-й диалоговой строке задать - Нижняя граница. Значение этого параметра определяет положение левой границы при построении гистограммы.

В 6-й диалоговой строке задать - Верхняя граница. Значение этого параметра определяет положение правой границы при построении гистограммы.

В 7-й диалоговой строке задать - Число интервалов. Значение этого параметра определяет количество интервалов разбиения при построении графика плотности вероятности.

В 8-й диалоговой строке выбрать - Автоматически вычислять границы (Да или Нет). Если это свойство имеет значение Да, то границы интервалов гистограммы вычисляются автоматически по первой серии, а далее границы интервалов не меняются.

Если это свойство имеет значение Нет, то границы интервалов рассчитываются в соответствии со свойствами Нижняя граница и Верхняя граница.

В 9-й диалоговой строке выбрать - опцию Выводимое значение (Относительное число попаданий, Абсолютное число попаданий, Плотность вероятности абсолютная, Плотность вероятности относительная).

Наименование опций определяет тип рассчитываемой гистограммы.

Если выбрана опция Абсолютное число попаданий, то выводится число значений Ni, попавших в i-й интервал.

Если выбрана опция Относительной число попаданий, то выводится отношение числа значений Ni, попавших в i-й интервал, к размеру выборки N.

Если выбрана опция Плотность вероятности абсолютная, то выводится значение эмпирической плотности вероятности Ni/(N*h) , где h – ширина интервала гистограммы.

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

Пример заполнения диалогового окна:

1-я диалоговая строка  - 256

2-я диалоговая строка  - Да

3-я диалоговая строка  - 0

4-я диалоговая строка  - Нет

5-я диалоговая строка  - -10

6-я диалоговая строка  - 10

7-я диалоговая строка  - 21

8-я диалоговая строка  - Да

9-я диалоговая строка  - Плотность вероятности нормированная


   Спектральная плотность

Блок реализует вычисление спектральной плотности скалярного сигнала

Спектральная плотность вычисляется по следующему алгоритму:

1.    Реализация делится на отдельные серии, причём размер серии должен быть целой степенью числа 2.

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

3.    Методом быстрого преобразования Фурье (БПФ) вычисляется дискретное преобразование Фурье последовательности определяемое по формуле:

4.    Абсолютная спектральная плотность определяется по формуле:

          где   t - период дискретизации сигнала;

                    - коэффициент, зависящий от способа взвешивания входной величины.

                   Xk – значение дискретного преобразования Фурье на k-й гармонике.

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

Блок имеет 1 входной порт и 2 выходных порта.

Входной сигнал должен быть скалярным.

Сигнал на 1-ом выходном порте - вектор частот.

Сигнал на 2-ом выходном порте – вектор значений спектральной плотности.

Размерности выходов сигналов одинаковы и равны (N/2) - 1, где N – размер серии.

Блок имеет 6 диалоговых строк.

Для работы блока необходимо задать:

В 1-й диалоговой строке задать - Размер серии.  Размер серии должен быть целой степенью числа 2.

В 2-й диалоговой строке выбрать – опцию Расчёт по всей выборке (Да или Нет). Если это свойство имеет значение Нет, то спектральная плотность вычисляется по отдельным сериям.

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

В 3-й диалоговой строке задать - Период квантования. Значение этого параметра определяет длительность временного интервала между двумя последовательными считываниями значений сигнала на входе блока. Если это свойство равно 0 (нулю), то считывание производится с периодом, равным шагу интегрирования.

В 4-й диалоговой строке выбрать - Удаление линейного тренда (Да или Нет). Если это свойство имеет значение Да, то из массива накопленных значений входного сигнала предварительно вычитается линейный тренд.

В 5-й диалоговой строке выбрать – опцию Тип окна (Прямоугольное, Ханна, Вэлча, Парсена). Тип окна определяет способ вычисления весовых коэффициентов при предварительной обработке данных.

Если тип окна - Прямоугольное, то весовые коэффициенты равны единице.

В 6-й диалоговой строке выбрать – опцию Вывод (Абсолютный спектр, Нормированный спектр).

Наименование опции определяет тип спектральной плотности, рассчитываемой блоком.

Если выбрана опция Абсолютный спектр, то выводится абсолютная спектральная плотность анализируемого сигнала.

Если выбрана опция Нормированный спектр, то выводится нормированная (на дисперсию) спектральная плотность анализируемого сигнала.

Пример заполнения диалогового окна:

1-я диалоговая строка  - 256

2-я диалоговая строка  - Да

3-я диалоговая строка  - 0

4-я диалоговая строка  - Да

5-я диалоговая строка  - Ханна

6-я диалоговая строка  - Нормированный спектр


   Взаимная спектральная плотность

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

Взаимная спектральная плотность вычисляется по следующему алгоритму:

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

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

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

4.   Абсолютная взаимная спектральная плотность вычисляется по следующей формуле:

Gxy = 2t (Xi)*Yi/(N*)

               где  t  -   период дискретизации сигнала;

                      	- коэффициент, зависящий от способа взвешивания входной      величины.

5.   Нормирование взаимной спектральной плотности осуществляется  путём деления абсолютной на величину:

               где  x2  -  дисперсия величины x;

                      y2   -  дисперсия величины y.

Блок имеет 2 входных порта и 2 выходных порта.

Входные сигналы должны быть скалярными.

Сигнал на 1-ом выходном порте – вектор частот.

Сигнал на 2-ом выходном порте – вектор значений спектральной плотности.

Размерности выходных сигналов одинаковы и равны (N/2) - 1, где N – размер серии.

Блок имеет 6 диалоговых строк.

Для работы блока необходимо задать:

В 1-й диалоговой строке задать - Размер серии.  Размер серии должен быть целой степенью числа 2.

В 2-й диалоговой строке выбрать – опцию Расчёт по всей выборке (Да или Нет). Если это свойство имеет значение Нет, то взаимная спектральная плотность вычисляется по отдельным сериям.

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

В 3-й диалоговой строке задать - Период квантования. Значение этого параметра определяет длительность временного интервала между двумя последовательными считываниями значений сигналов на входах блока. Если это свойство равно 0 (нулю), то считывание производится с периодом, равным шагу интегрирования.

В 4-й диалоговой строке выбрать - Удаление линейного тренда (Да или Нет). Если это свойство имеет значение Да, то из массива накопленных значений входных сигналов предварительно вычитаются линейные тренды.

В 5-й диалоговой строке выбрать – опцию Тип окна (Прямоугольное, Ханна, Вэлча, Парсена). Тип окна определяет способ вычисления весовых коэффициентов при предварительной обработке данных.

Если тип окна - Прямоугольное, то весовые коэффициенты равны единице.

В 6-й диалоговой строке выбрать – опцию Вывод (Абсолютный спектр, Нормированный спектр, Угол сдвига фаз).

Наименование опции определяет тип спектральной характеристики, рассчитываемой блоком.

Если выбрана опция Абсолютный спектр, то выводится абсолютная спектральная плотность.

Если выбрана опция Нормированный спектр, то выводится нормированная спектральная плотность (нормировка на корень квадратный из произведения дисперсий анализируемых сигналов).

Если выбрана опция Угол сдвига фаз, то выводится значение фазового сдвига, вычисляемого по следующей формуле:

Пример заполнения диалогового окна:

1-я диалоговая строка  - 256

2-я диалоговая строка  - Да

3-я диалоговая строка  - 0

4-я диалоговая строка  - Да

5-я диалоговая строка  - Ханна

6-я диалоговая строка  - Нормированный спектр


   Функция взаимной корреляции

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

Корреляционная функция величин x и y определяется как:

            где   [image]   -   ковариационная функция.

                     Rxx ,Ryy – автоковариационные функции величин x и y.

             N - размер выборки;

                     r =1.. m, m < N – временной сдвиг;

                     t – период дискретизации.

Вычисление функции взаимной корреляции производится по следующему алгоритму:

1.  Реализации величин x и y делятся на отдельные серии размером N , причем N должно быть целой степенью числа 2. Если необходимо из сигналов удаляются линейные тренды.

2.  Каждый отрезок дополняется N нулями.

3.  Методом БПФ  вычисляются дискретные преобразования Фурье X и Y величин x и y.

4.  Вычисляется двухсторонняя взаимная спектральная плотность величин x и y

Sxy = Gxy/2

5.  Производится обратное дискретное преобразование Фурье последовательности Sxy , дающее смещённую оценку ковариационной функции Rsxy

6.  Несмещённая оценка корреляционной функции вычисляется по следующей формуле:

Блок имеет 2 входных порта и 2 выходных порта.

Входные сигналы должны быть скалярными.

Сигнал на 1-ом выходном порте - вектор временных сдвигов.

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

Размерности выходных сигналов одинаковы и равны размеру серии.

Блок имеет 4 диалоговые строки.

Для работы блока необходимо задать:

В 1-й диалоговой строке задать - Размер серии.  Размер серии должен быть целой степенью числа 2.

В 2-й диалоговой строке выбрать – опцию Расчёт по всей выборке (Да или Нет). Если это свойство имеет значение Нет, то функция взаимной корреляции вычисляется по отдельным сериям.

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

В 3-й диалоговой строке задать - Период квантования. Значение этого параметра определяет длительность временного интервала между двумя последовательными считываниями значений сигналов на входах блока. Если это свойство равно 0 (нулю), то считывание производится с периодом, равным шагу интегрирования.

В 4-й диалоговой строке выбрать - Удаление линейного тренда (Да или Нет). Если это свойство имеет значение Да, то из массива накопленных значений входных сигналов предварительно вычитаются линейные тренды.

Пример заполнения диалогового окна:

1-я диалоговая строка  - 256

2-я диалоговая строка  - Да

3-я диалоговая строка  - 0

4-я диалоговая строка  - Нет


  Общие сведения о библиотеке Статистика

Специализированная библиотека Статистика предназначена для статистического анализа данных в следующих вариантах:

- в режиме «единого времени», если получение данных (численным моделированием какого-то стохастического явления в среде ПК «МВТУ») и их анализ (тоже в среде ПК «МВТУ») происходят одновременно;

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

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

Специализированная библиотека Статистика содержит следующие типовые блоки:

1.  Блоки вычисления простейших статистических характеристик:

Среднее значение

Среднеквадратическое отклонение

Коэффициент эксцесса

Фактор сплющиваемости

Коэффициент корреляции

Плотность вероятности

2.  Блоки вычисления спектральных и корреляционных статистических характеристик с использованием алгоритмов быстрого преобразования Фурье (БПФ):

Спектральная плотность

Взаимная спектральная плотность

Функция взаимной корреляции


Импорт данных через файл прямого доступа
   Импорт внешних данных через файл прямого доступа

Блок предназначен для импорта данных из внешних программ через файл прямого доступа и имеет следующий список параметров:

- массив размерностей выходов Outs;

- массив начальных значений выходов Y0;

- файл импортируемых данных InpFile;

- флаг синхронизации Synchronize;

- тип элемента данных DataLen;

- тип целого для описания числа данных NumLen;

- шаг обмена данными Tau (сек);

- максимальный размер файла BlockSize;

- флаг останова по признаку в файле обмена FlStop;

- тип источника начального состояния выходов блока InitSource.

Элементы массива размерностей выходов Outs – целочисленные. Размер массива определяет число выходов блока, а значения элементов массива – размерность каждого из выходов. Например, если в диалоговой окне для данного параметра задана строка “4 5 7”, это означает, что в блоке автоматически появятся три выхода, первый размерностью 4, второй – 5, третий – 7 элементов. Считанные из файла обмена данные должны содержать N = 4 + 5 + 7 = 16 значений. Размерность массива начальных значений выходов Y0 обязательно равна N. Выходы блока в начальный момент времени заполняются значениями элементов массива Y0, если значение InitSource равно “Из массива”. В этом случае файл обмена открывается как новый и в него записываются BlockSize байт, равных 0. Если InitSource = “Из файла”, подразумевается, что файл InpFile существует и заполнен данными. В этом случае файл открывается как существующий, и выходы блока в начальный момент времени заполняются значениями, считанными из файла.

Параметр InpFile – текстовая строка, в которой задается имя бинарного файла и, если необходимо, путь к этому файлу. Путь не обязателен, если файл находится в том же каталоге, что и файл проекта. Возможно задание как полного, так и относительного (по отношению к каталогу, где находится файл проекта) пути. Задание относительного пути к файлу предпочтительнее при переносе проектов с одного компьютера на другой или в другой каталог.

Шаг обмена данными Tau определяет частоту обмена между ПК МВТУ и внешней программой. Эта величина относится к модельному времени, которое совпадает с физическим, если процесс моделирования происходит в режиме реального времени. Реальная величина шага обмена данными – не больше шага интегрирования. Выходные данные блока не меняются в течение Tau сек.

Файл данных является бинарным и имеет следующую структуру: первым следует число N целого типа, под которое отводится NumLen байт (возможные значения NumLen – 1, 2, 4 байта). Затем следует N действительных чисел, под каждое из которых отводится DataLen байт (возможные значения DataLen – 4, 8 байт). После считывания данных в файл записывается N = 0. Это является сигналом для внешней программы, что записанные ею данные считаны.

Значение флага Synchronize определяет синхронный или асинхронный характер процесса обмена данными между ПК МВТУ и внешней программой. В случае синхронного обмена программа МВТУ не выходит из подпрограммы считывания данных из файла до тех пор, пока значение N не будет отличным от 0. В случае асинхронного обмена процесс моделирования продолжается, даже если факта записи нет (в этом случае массив выходных данных блока не изменяется). Если N = -1 и установлен FlStop = “Да”, то процесс моделирования прекращается с предупреждением “Останов по требованию блока”.

На рисунке представлена экранная копия диалогового окна данного блока.


   Экспорт данных через файл прямого доступа

Блок предназначен для экспорта данных во внешние программы через файл прямого доступа и имеет следующий список параметров:

- массив размерностей входов Inps;

- файл экспортируемых данных ExpFile;

- тип элемента данных DataLen;

- тип целого для описания числа данных NumLen;

- шаг обмена данными Tau (сек);

- максимальный размер файла BlockSize;

- флаг установки признака останова в файле обмена FlStop.

Элементы массива размерностей входов Inps – целочисленные. Размер массива определяет число входов блока, а значения элементов массива – размерность каждого из входов. Например, если в диалоговой окне для данного параметра задана строка “4 5 7”, это означает, что в блоке автоматически появятся три входа, первый размерностью 4, второй – 5, третий – 7 элементов. Записываемые в файл обмена данные будут содержать N = 4 + 5 + 7 = 16 значений.

Параметр ExpFile – текстовая строка, в которой задается имя бинарного файла и, если необходимо, путь к этому файлу. Путь не обязателен, если файл находится в том же каталоге, что и файл проекта. Возможно задание как полного, так и относительного (по отношению к каталогу, где находится файл проекта) пути. Задание относительного пути к файлу предпочтительнее при переносе проектов с одного компьютера на другой или в другой каталог.

Шаг обмена данными Tau определяет частоту обмена между ПК МВТУ и внешней программой. Эта величина относится к модельному времени, которое совпадает с физическим, если процесс моделирования происходит в режиме реального времени. Реальная величина шага обмена данными – не больше шага интегрирования. Содержимое файла обмена не меняется в течение Tau сек.

Файл данных является бинарным и имеет следующую структуру: первым следует число N целого типа, под которое отводится NumLen байт (возможные значения NumLen – 1, 2, 4 байта). Затем следует N действительных чисел (значения входов в блок), под каждое из которых отводится DataLen байт (возможные значения DataLen – 4, 8 байт). В начальный момент времени файл открывается как новый и в него записывается BlockSize байт, равных 0. Если FlStop = “Да”, то в случае останова процесса моделирования в ПК МВТУ (время моделирования превысило заданное или пользователь нажал кнопку “Стоп”) в файл записывается N = -1 (внешняя программа может использовать эту информацию по своему усмотрению).

На рисунке представлена экранная копия диалогового окна данного блока.


   Экспорт ненулевых данных через файл прямого доступа

Блок предназначен для экспорта ненулевых данных во внешние программы через файл прямого доступа и имеет следующий список параметров:

- массив размерностей входов Inps;

- файл экспортируемых данных ExpFile;

- тип элемента данных DataLen;

- тип целого для описания числа данных NumLen;

- шаг обмена данными Tau (сек);

- максимальный размер файла BlockSize;

- флаг установки признака останова в файле обмена FlStop.

Элементы массива размерностей входов Inps – целочисленные. Размер массива определяет число входов блока, а значения элементов массива – размерность каждого из входов. Например, если в диалоговой окне для данного параметра задана строка “4 5 7”, это означает, что в блоке автоматически появятся три входа, первый размерностью 4, второй – 5, третий – 7 элементов. Записываемые в файл обмена данные будут содержать максимум N = 4 + 5 + 7 = 16 значений.

Параметр ExpFile – текстовая строка, в которой задается имя бинарного файла и, если необходимо, путь к этому файлу. Путь не обязателен, если файл находится в том же каталоге, что и файл проекта. Возможно задание как полного, так и относительного (по отношению к каталогу, где находится файл проекта) пути. Задание относительного пути к файлу предпочтительнее при переносе проектов с одного компьютера на другой или в другой каталог.

Шаг обмена данными Tau определяет частоту обмена между ПК МВТУ и внешней программой. Эта величина относится к модельному времени, которое совпадает с физическим, если процесс моделирования происходит в режиме реального времени. Реальная величина шага обмена данными – не больше шага интегрирования. Содержимое файла обмена не меняется в течение Tau сек.

Файл данных является бинарным и имеет следующую структуру: первым следует число N целого типа, под которое отводится NumLen байт (возможные значения NumLen – 1, 2, 4 байта). Значение N равно числу ненулевых элементов в массиве входных данных блока. Затем следует N пар действительных чисел, где первое число в каждой паре – индекс (начиная с 1), а второе – значение ненулевого элемента в массиве входных данных блока. Под каждое из значений в паре отводится DataLen байт (возможные значения DataLen – 4, 8 байт). В начальный момент времени файл открывается как новый и в него записывается BlockSize байт, равных 0. Если FlStop = “Да”, то в случае останова процесса моделирования в ПК МВТУ (время моделирования превысило заданное или пользователь нажал кнопку “Стоп”) в файл записывается N = -1 ( внешняя программа может использовать эту информацию по своему усмотрению).

На рисунке представлена экранная копия диалогового окна данного блока.


   Импорт значений глобальных сигналов через файл

Блок предназначен для импорта данных из внешних программ через файл прямого доступа и имеет следующий список параметров:

- импортируемые данные Data;

- файл импортируемых данных InpFile;

- флаг синхронизации Synchronize;

- тип элемента данных DataLen;

- тип целого для описания числа данных NumLen;

- шаг обмена данными Tau (сек);

- максимальный размер файла BlockSize;

- флаг останова по признаку в файле обмена FlStop;

- тип источника начального состояния выходов блока InitSource.

На рис. 1 представлена экранная копия диалогового окна данного блока.

Рис. 1

Импортируемые данные Data – это выборка из общего списка имен глобальных внешних сигналов проекта, заданных пользователем при помощи меню “Внешние сигналы”. Каждый задаваемый внешний сигнал имеет свое уникальное имя и начальные значения. В общем случае внешний сигнал – это массив действительных чисел, размер которого однозначно определяется размером массива начальных значений.

На рис. 2 представлено диалоговое окно для задания и редактирования внешних сигналов проекта, в котором в качестве примера задано три сигнала: Y1 (массив из трех переменных с начальными значениями Y1[1] = 10; Y1[2] = 27; Y1[3] = 33); Y2 (массив из ста переменных с начальными значениями Y2[i] = 1.0, i = 1,...,100); Y3 (скалярная переменная с начальным значением Y3 = 0).

На рис. 3 представлено диалоговое окно, появляющееся после нажатия на кнопку в первой строке с названием “Импортируемые данные” диалогового окна параметров блока на рис. 1 (квадратная кнопка с крестиком внутри). Это окно содержит два списка имен внешних сигналов – список-источник и список-приемник. Состав списка-источника соответствует списку созданных внешних сигналов. Выбирая из списка-источника имена и перенося их в список-приемник, пользователь формирует список импортируемых данных. Перенесенные в список-приемник имена исчезают из списка-источника, что не позволяет импортировать один и тот же сигнал дважды.

В качестве примера на рис. 3 выбраны сигналы Y3 и Y2. Порядок появления в списке-приемнике имен внешних сигналов существенен. Именно в этом порядке считываемые данные будут записываться в глобальных внешних именованные сигналы. Таким образом, в приведенном примере из файла будет считываться массив из N = 100 + 1 = 101 значений, первое из которых запишется в скалярный внешний сигнал Y3,  а остальные сто – в массив Y2.

Рис. 2

Рис. 3

Блок не имеет входов и выходов. Значения считанных из файла данных пересылаются не на выходы блока, а записываются в глобальные внешние именованные сигналы. Значения этих сигналов могут быть извлечены из памяти в любом месте структурной схемы и неограниченное количество раз с помощью блока Чтение значений глобальных сигналов. В начальный момент времени внешние именованные сигналы заполняются своими начальными значениями, если значение InitSource равно “Из массива”. В этом случае файл открывается как новый и в него записываются BlockSize байт, равных 0. Если InitSource = “Из файла”, подразумевается, что файл InpFile существует и заполнен данными. В этом случае файл открывается как существующий. Внешние именованные сигналы в начальный и последующие моменты времени заполняются значениями, считанными из файла.

Параметр InpFile – текстовая строка, в которой задается имя бинарного файла и, если необходимо, путь к этому файлу. Путь не обязателен, если файл находится в том же каталоге, что и файл проекта. Возможно задание как полного, так и относительного (по отношению к каталогу, где находится файл проекта) пути. Задание относительного пути к файлу предпочтительнее при переносе проектов с одного компьютера на другой или в другой каталог.

Шаг обмена данными Tau определяет частоту обмена между ПК МВТУ и внешней программой. Эта величина относится к модельному времени, которое совпадает с физическим, если процесс моделирования происходит в режиме реального времени. Реальная величина шага обмена данными – не больше шага интегрирования. Выходные данные блока не меняются в течение Tau сек.

Файл данных является бинарным и имеет следующую структуру: первым следует число N целого типа, под которое отводится NumLen байт (возможные значения NumLen – 1, 2, 4 байта). Затем следует N действительных чисел, под каждое из которых отводится DataLen байт (возможные значения DataLen – 4, 8 байт). После считывания данных в файл записывается N = 0. Это является сигналом для внешней программы, что записанные ею данные считаны.

Значение флага Synchronize определяет синхронный или асинхронный характер процесса обмена данными между ПК МВТУ и внешней программой. В случае синхронного обмена программа МВТУ не выходит из подпрограммы считывания данных из файла до тех пор, пока значение N не будет отличным от 0. В случае асинхронного обмена процесс моделирования продолжается, даже если факта записи нет (в этом случае массив выходных данных блока не изменяется). Если N = -1 и установлен FlStop = “Да”, то процесс моделирования прекращается с предупреждением “Останов по требованию блока”.


   Внешняя DLL-библиотека

Блок предназначен для обмена данными между ПК МВТУ и внешним dll-приложением и имеет следующий список параметров:

- массив размерностей входов Inps;

- массив размерностей выходов Outs;

- имя исполняемого dll-файла DllName;

- имя главной функции в библиотеке MainFun;

- дополнительные параметры модели Params;

- тип сортировки блока в схеме SortType;

- тип компилятора библиотеки Compiler.

На рис. 1 представлена экранная копия диалогового окна данного блока.

Рис. 1

Элементы массива размерностей входов Inps и выходов Outs – целочисленные. Размеры массивов определяют число входов и выходов блока, соответственно, а значения элементов массивов – размерность каждого из входов/выходов. Например, если в диалоговой окне для  параметра Inps задана строка “2 3 5” (см. рис. 1), это означает, что в блоке автоматически появятся три входа, первый размерностью 2, второй – 3, третий – 5 элементов. Передаваемый в главную функцию библиотеки MainFun  (через список формальных параметров) массив входов U содержит N = 2 + 3 + 5 = 10 значений. Если в диалоговом окне для  параметра Outs задана строка “2 7” (см. рис. 1), это означает, что в блоке автоматически появятся два выхода, первый размерностью 2, второй – 7 элементов. Передаваемый из главной функции библиотеки MainFun  (через список формальных параметров) массив выходов Y содержит N = 2 + 7 = 9 значений, которые поступают на выходы блока.

Параметр DllName – текстовая строка, в которой задается имя исполняемого файла библиотеки (с расширением “dll”) и, если необходимо, путь к этому файлу. Путь не обязателен, если файл находится в том же каталоге, что и файл проекта. Возможно задание как полного, так и относительного (по отношению к каталогу, где находится файл проекта) пути. Задание относительного пути к файлу предпочтительнее при переносе проектов с одного компьютера на другой или в другой каталог. Перед началом процесса моделирования блок автоматически загружает в память библиотеку с этим именем, а после завершения процесса моделирования выгружает ее из памяти.

Параметр MainFun – текстовая строка, в которой задается имя главной функции библиотеки, через параметры которой происходит обмен данными между ПК МВТУ и внешней библиотекой. Перед началом процесса моделирования блок автоматически подключает функцию в библиотеке с заданным именем к своей внутренней переменной процедурного типа и в процессе моделирования вызывает эту функцию по мере необходимости. Функция объявлена в ПК МВТУ следующим образом (синтаксис языка PASCAL).

Задание дополнительных параметров модели позволяет передавать из ПК "МВТУ" во внешнюю библиотеку константы (например, геометрические характеристики, начальные условия и т.д.). Эти данные задаются в окне редактора интерпретатора математических функций в виде именованных констант и выражений. Во внешнюю библиотеку значения этих параметров поступают в виде массива. При этом порядок следования параметров в массиве соответствует порядку их появления в окне редактора математических функций.

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

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

dx/dt=u;

y=x,

где x – массив переменных состояния; u – массив правых частей (входы в блок); y – массив выходов блока.

Пример главной функции для компилятора DELPHI

type

{-------------------------------------------------------------------------

 Основные типы скалярных данных

--------------------------------------------------------------------------}

  RealType     = Double;

  TInteger     = Integer;

{$IFDEF WIN32}

  TSmallInt    = SmallInt;

  TString      = ShortString;

{$ELSE}

  TSmallInt    = Integer;

  TString      = String;

{$ENDIF}

  TLongInt     = LongInt;

  TByte        = Byte;

  TBool        = Boolean;

const

{-------------------------------------------------------------------------

 Флаги типов вызова главной функции блока

--------------------------------------------------------------------------}

      f_GetCount      = 1;

      f_UpdateOuts    = 2;

      f_GoodStep      = 3;

      f_InitState     = 4;

      f_GetDeri       = 5;

      f_GetDeriCount  = 6;

      f_Stop          = 7;

      f_GetStateCount = 8;

      f_GetInit       = 9;

      f_GetState      = 10;

      f_InitMem       = 11;

      f_InitObjects   = 13;

      f_EditErr       = 22;

      f_InitTime      = 29;

      f_RestoreOuts   = 30;

type

function RUN_DIF(var t,h:RealType;

                 U,Y,Params,X,DX:PExtArr;var Pt : Pointer;

                 var Xc:Integer;Uc,Yc,Parc,Action:Integer):Integer;export;

{-------------------------------------------------------------------------------------------------------}

               IMPLEMENTATION

{-------------------------------------------------------------------------------------------------------}

function RUN_DIF;

var i : Integer;

begin

   Result:=0;

   case Action of

   f_EditErr:// начальное состояние выходов блока

     begin

      if (Xc <> Uc) or (Xc <> Yc) then Result:=1;

     end;

   f_InitState:// начальное состояние выходов блока

     begin

      for i:=0 to Xc-1 do begin

       X^[i]:=Params^[i+1];

       Y^[i]:=X^[i];

      end

     end;

   f_UpdateOuts,f_GoodStep://расчет выходов блока на

     begin                //промежуточном и хорошем шаге интегрирования

      for i:=0 to Xc-1 do Y^[i]:=X^[i];

     end;

   f_GetDeri:  //расчет производных

     begin

      for i:=0 to Xc-1 do DX^[i]:=U^[i];

     end;

   f_GetDeriCount: //вернуть число дифференциальных переменных

     begin

      if (ParC > 0) then Xc:=round(Params^[0]) else Xc:=0;

     end;

   end;

end;

end.

Пример главной функции для компилятора INTEL FORTRAN

SUBROUTINE RUN_DIF(t,h,U,Y,Params,X,DX,NX,NU,NY,NP,NAct)

      parameter(if_GetCount      = 1)

      parameter(if_UpdateOuts    = 2)

      parameter(if_GoodStep      = 3)

      parameter(if_InitState     = 4)

      parameter(if_GetDeri       = 5)

      parameter(if_GetDeriCount  = 6)

      parameter(if_Stop          = 7)

      parameter(if_GetStateCount = 8)

      parameter(if_GetInit       = 9)

      parameter(if_GetState      = 10)

      parameter(if_InitMem       = 11)

      parameter(if_InitObjects   = 13)

      parameter(if_Create        = 20)

      parameter(if_Free          = 21)

      parameter(if_EditErr       = 22)

      parameter(if_InitTime      = 29)

      INTEGER*4 NAct,NU,NY,NP,NX

      REAL*8 t,h,Params(1),U(1),Y(1),X(1),DX(1)

if(NAct .EQ. if_InitState) then ! начальное состояние выходов блока

       do i=1,NX

        X(i)=Params(i+1)

        Y(i)=X(i)

       end do

      else if(NAct .EQ. if_UpdateOuts) then !расчет выходов блока на промежуточном шаге интегрирования

       do i=1,NX

        Y(i)=X(i)

       end do

       else if(NAct .EQ. if_GoodStep) then !расчет выходов блока на промежуточном шаге интегрирования

       do i=1,NX

        Y(i)=X(i)

       end do

      else if(NAct .EQ. if_GetDeri) then !расчет выходов блока на промежуточном шаге интегрирования

       do i=1,NX

        DX(i)=U(i)

       end do

      else if(NAct .EQ. if_GetDeriCount) then !расчет выходов блока на промежуточном шаге интегрирования

       NX=Params(1)

      end if

      END

Пример главной функции для компилятора MC++

const      f_GetCount      = 1;

const      f_UpdateOuts    = 2;

const      f_GoodStep      = 3;

const      f_InitState     = 4;

const      f_GetDeri       = 5;

const      f_GetDeriCount  = 6;

const      f_Stop          = 7;

const      f_GetStateCount = 8;

const      f_GetInit       = 9;

const      f_GetState      = 10;

const      f_InitMem       = 11;

const      f_InitObjects   = 13;

const      f_Create        = 20;

const      f_Free          = 21;

const      f_EditErr       = 22;

const      f_InitTime      = 29;

#define EXAMPLE_API extern "C" int _stdcall

EXAMPLE_API RUN_DIF(double *t,double *h,

                double *U,double *Y,double *Params,

                double *X,double *DX,char *Ptr,

                int *Xc,int Uc,int Yc,int Params_c,int Action

                )

 {int i,ret;

   ret=0;

   switch(Action){

    case f_EditErr:// начальное состояние выходов блока

     if (*Xc != Uc || *Xc != Yc){ret=1;}

    case f_InitState:// начальное состояние выходов блока

     for (i=0;i<*Xc;i++)

     {

      X[i]=Params[i+1];

      Y[i]=X[i];

     }

    case f_UpdateOuts   ://расчет выходов блока на

             //промежуточном и хорошем шаге интегрирования

     for (i=0;i<*Xc;i++)

     {

      Y[i]=X[i];

     }

    case f_GoodStep://расчет выходов блока на

             //промежуточном и хорошем шаге интегрирования

     for (i=0;i<*Xc;i++)

     {

      Y[i]=X[i];

     }

    case f_GetDeri:  //расчет производных

     for (i=0;i<*Xc;i++)

     {

      DX[i]=U[i];

     }

    case f_GetDeriCount: //вернуть число дифференциальных переменных

     if (Params_c > 0){*Xc=Params[0];}else{*Xc=0;}

   }

   return ret;

 }

В таблице приведен перечень флагов вызова главной функции библиотеки из ядра ПК "МВТУ".

Флаг	Значение	Действия внутри Run-функции по данному флагу
f_InitObjects	13	Инициализация переменных блока
f_GetDeriCount	6	Функция возвращает число дифференциальных переменных в блоке
f_GetStateCount	8	Функция возвращает число функциональных переменных состояния в блоке
f_GetInit	9	Функция возвращает тип сортировки блока в структурной схеме. Если задан Result = 0, то блок в схеме сортируется таким образом, чтобы на момент вызова его RUN-функции с флагами f_InitState, f_UpdateOuts, f_GoodStep все входы в блок были определены. Если задан Result = 1, то блок является приоритетным, вызов его RUN-функции происходит перед вызовом блоков с Result = 0
f_GetCount	1	Структуры CU и CY заполняются числом данных, передаваемых через каждый вход/выход блока. С этим флагом RUN-функция каждого блока в цикле. Выход из цикла происходит в том случае, если для всех линий связи структурной схемы соблюдается условие: число передаваемых через связь данных (выход блока) равно числу принимаемых данных (входы блоков, связанные с этим выходом). При несоблюдении этого условия выдается ошибка о несоответствии числа входов- выходов блока
f_EditErr	22	Функция возвращает 0, если нет ошибки в параметрах блока, и код ошибки в противном случае. Возможные значения кодов ошибки приведены в файле gltype.pas
f_InitMem	11	Распределить необходимую память в блоках
f_InitTime	29	Выставить временные характеристики блока
f_InitState	4	Вычисляется начальное состояние выходов блока AY, а также дифференциальных переменных AX
f_RestoreOuts	30	Восстанавливаются значения выходов блока при рестарте или эмуляции процесса моделирования
f_UpdateOuts	2	Вычисляются значения выходов блока на пробных шагах интегрирования
f_GoodStep	3	Вычисляются значения выходов блока на "хорошем" шаге интегрирования
f_GetDeri	5	Заполняется массив производных ADX
f_GetState	10	Заполняется массив функциональных переменных состояния AX
f_Stop	7	Действия, которые необходимо выполнить после завершения процесса моделирования


   Экспорт данных (сервер TCP/IP)

Блок предназначен для экспорта данных во внешние программы по протоколу TCP/IP. Блок включает в себя сервер TCP/IP, к которому подключаются клиенты для чтения данных.

Блок имеет следующий список параметров:

- уникальный номер порта Port, который однозначно определяет данный сервер;

- максимальное число экспортируемых данных Nmax;

- тип элемента данных Len;

- тип передачи данных DataTransfType;

- шаг обмена данными tau (сек);

- тип сеанса обмена Synchronize;

- флаг прослушивания клиентов Listen.

На рисунке  представлена экранная копия диалогового окна данного блока.

Значение параметра Port является уникальным для данного сервера и используется всеми клиентами, соединяющимися с данным сервером. Тип передачи данных DataTransfType определяет структуру и размер пакета передаваемых данных.

Если задан DataTransfType  = “Все данные”, то в каждом цикле обмена экспортируются все данные, при этом размер пакета данных SIZE является фиксированным и равен NmaxLen [byte]. В этом случае блок имеет один векторный вход, через который выходные данные других блоков структурной схемы передаются в блок в виде массива действительных чисел и экспортируются во внешние программы. Размер массива входных данных равен Nmax. Данные экспортируются как поток байт размером SIZE, при этом каждый элемент массива является действительным числом, для представления которого используются Len байт (возможные значения Len – 4, 8  байт).

Если задан DataTransfType  = “Логически подтвержденные”, то размер пакета данных SIZE является плавающим и ограничен величиной (2Nmax+1)Len [byte]. В этом случае блок имеет два векторных входа одинаковой размерности, равной Nmax. Через первый вход передаются значения параметров VALUES[Nmax], а через второй – логические флаги подтверждения FLAGS[Nmax]. Значение параметра VALUES[i] экспортируется только в том случае, если FLAGS[i]=1. Структура пакета данных имеет следующий вид: первым следует число N (действительного типа) передаваемых в данном цикле обмена данных (равно числу значений FLAGS, равных 1), затем следует N пар действительных чисел, причем первое число в паре – индекс параметра в массиве (начиная с 1), второе число – значение параметра.

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

Значение флага Synchronize определяет синхронный или асинхронный характер процесса обмена данными между клиентом и сервером. В случае синхронного обмена ПК "МВТУ" не выходит из подпрограммы записи данных в соединение до тех пор, пока все клиенты, читающие данные по этому каналу, не выставят флаг разрешения на запись (не запишут в соединение байт, равный 1). В случае асинхронного обмена процесс моделирования продолжается, даже если флага разрешения нет (в этом случае данные в канал пишутся на каждом шаге обмена, а значение флага разрешения на запись игнорируется).

Флаг Listen определяет возможность подключения клиентов к данному серверу.


   Импорт данных (сервер TCP/IP)

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

Блок имеет следующий список параметров:

- уникальный номер порта Port, который однозначно определяет данный сервер;

- массив начальных значений выходных данных блока Y0;

- тип элемента данных Len;

- тип передачи данных DataTransfType;

- шаг обмена данными tau (сек);

- тип сеанса обмена Synchronize;

- флаг прослушивания клиентов Listen.

На рисунке  представлена экранная копия диалогового окна данного блока.

Значение параметра Port является уникальным для данного сервера и используется всеми клиентами, соединяющимися с данным сервером.

Блок имеет один векторный выход, на который передаются считанные данные. Размер массива выходных данных равен размеру Nmax массива Y0. В начальный момент времени выход блока инициализируется значениями, заданными в массиве Y0. Тип передачи данных DataTransfType определяет структуру и размер пакета передаваемых данных.

Если задан DataTransfType  = “Все данные”, то в каждом цикле обмена импортируются все данные, при этом размер пакета данных SIZE является фиксированным и равен NmaxLen [byte]. Данные импортируются как поток байт размером SIZE, при этом каждый элемент массива является действительным числом, для представления которого используются Len байт (возможные значения Len – 4, 8 байт).

Если задан DataTransfType  = “Команды”, то размер пакета данных SIZE является плавающим и ограничен величиной (2Nmax+1)Len [byte]. Структура считываемого пакета данных имеет следующий вид: первым следует число N (действительного типа) передаваемых в данном цикле обмена данных, затем следует N пар действительных чисел, причем первое число в паре – индекс параметра в массиве (начиная с 1), второе число – значение параметра. Массив выходов блока на каждом шаге обмена tau формируется следующим образом: сначала все элементы массива заполняются нулями, затем из считанного буфера заполняются N элементов массива в соответствии с их индексами в буфере, а N присваивается значение 0. Таким образом, если через tau секунд модельного времени в буфер не были считаны новые значения, все элементы выходного массива блока будут равны 0.

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

Значение флага Synchronize определяет синхронный или асинхронный характер процесса обмена данными между клиентами и сервером. В случае синхронного обмена ПК "МВТУ" не выходит из подпрограммы обновления массива выходных данных блока до тех пор, пока какой-либо из клиентов не запишет данные по этому каналу. В случае асинхронного обмена процесс моделирования продолжается, даже если факта записи нет (в этом случае массив выходных данных блока не изменяется).

Флаг Listen определяет возможность подключения клиентов к данному серверу.


   Экспорт данных (клиент TCP/IP)

Блок предназначен для экспорта данных во внешние программы. Блок включает в себя  клиента TCP/IP, который подсоединяется к серверу чтения данных.

Блок имеет следующий список параметров:

- адрес компьютера CompName;

- уникальный номер порта Port, который однозначно определяет сервер;

- максимальное число экспортируемых данных Nmax;

- тип элемента данных Len;

- тип передачи данных DataTransfType;

- шаг обмена данными tau (сек);

- тип сеанса обмена Synchronize;

- флаг связи с сервером Connect.

На рисунке  представлена экранная копия диалогового окна данного блока.

Значения параметров CompName и Port однозначно определяют сервер, к которому подсоединяется данный клиент. Тип передачи данных DataTransfType определяет структуру и размер пакета передаваемых данных.

Если задан DataTransfType  = “Все данные”, то в каждом цикле обмена экспортируются все данные, при этом размер пакета данных SIZE является фиксированным и равен NmaxLen [byte]. В этом случае блок имеет один векторный вход, через который выходные данные других блоков структурной схемы передаются в блок в виде массива действительных чисел и экспортируются во внешние программы. Размер массива входных данных равен Nmax. Данные экспортируются как поток байт размером SIZE, при этом каждый элемент массива является действительным числом, для представления которого используются Len байт (возможные значения Len – 4, 8 байт).

Если задан DataTransfType  = “Логически подтвержденные”, то размер пакета данных SIZE является плавающим и ограничен величиной (2Nmax+1)Len [byte]. В этом случае блок имеет два векторных входа одинаковой размерности, равной Nmax. Через первый вход передаются значения параметров VALUES[Nmax], а через второй – логические флаги подтверждения FLAGS[Nmax]. Значение параметра VALUES[i] экспортируется только в том случае, если FLAGS[i]=1. Структура пакета данных имеет следующий вид: первым следует число N (действительного типа) передаваемых в данном цикле обмена данных (равно числу значений FLAGS, равных 1), затем следует N пар действительных чисел, причем первое число в паре – индекс параметра в массиве (начиная с 1), второе число – значение параметра.

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

Значение флага Synchronize определяет синхронный или асинхронный характер процесса обмена данными между клиентом и сервером. В случае синхронного обмена ПК "МВТУ" не выходит из подпрограммы записи данных в соединение до тех пор, пока сервер, читающий данные по этому каналу, не выставит флаг разрешения на запись (не запишет в соединение байт, равный 1). В случае асинхронного обмена процесс моделирования продолжается, даже если флага разрешения нет (в этом случае данные в канал пишутся на каждом шаге обмена, а значение флага разрешения на запись игнорируется).

Изменение значения флага Connect приводит к подсоединению или отсоединению данного клиента к серверу.


   Импорт данных (клиент TCP/IP)

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

Блок имеет следующий список параметров:

- адрес компьютера CompName;

- уникальный номер порта Port, который однозначно определяет данный сервер;

- массив начальных значений выходных данных блока Y0;

- тип элемента данных Len;

- тип передачи данных DataTransfType;

- шаг обмена данными tau (сек);

- тип сеанса обмена Synchronize;

- флаг связи с сервером Connect.

На рисунке  представлена экранная копия диалогового окна данного блока.

Значения параметров CompName и Port однозначно определяют сервер, к которому подсоединяется данный клиент. Тип передачи данных DataTransfType определяет структуру и размер пакета передаваемых данных.

Блок имеет один векторный выход, на который передаются считанные данные. Размер массива выходных данных равен размеру Nmax массива Y0. В начальный момент времени выход блока инициализируется значениями, заданными в массиве Y0. Тип передачи данных DataTransfType определяет структуру и размер пакета передаваемых данных.

Если задан DataTransfType  = “Все данные”, то в каждом цикле обмена импортируются все данные, при этом размер пакета данных SIZE является фиксированным и равен NmaxLen [byte]. Данные импортируются как поток байт размером SIZE, при этом каждый элемент массива является действительным числом, для представления которого используются Len байт (возможные значения Len – 4, 8 байт).

Если задан DataTransfType  = “Команды”, то размер пакета данных SIZE является плавающим и ограничен величиной (2Nmax+1)Len [byte]. Структура считываемого пакета данных имеет следующий вид: первым следует число N (действительного типа) передаваемых в данном цикле обмена данных, затем следует N пар действительных чисел, причем первое число в паре – индекс параметра в массиве (начиная с 1), второе число – значение параметра. Массив выходов блока на каждом шаге обмена tau формируется следующим образом: сначала все элементы массива заполняются нулями, затем из считанного буфера заполняются N элементов массива в соответствии с их индексами в буфере, а N присваивается значение 0. Таким образом, если через tau секунд модельного времени в буфер не были считаны новые значения, все элементы выходного массива блока будут равны 0.

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

Значение флага Synchronize определяет синхронный или асинхронный характер процесса обмена данными между клиентами и сервером. В случае синхронного обмена ПК "МВТУ" не выходит из подпрограммы обновления массива выходных данных блока до тех пор, пока сервер не запишет данные по этому каналу. В случае асинхронного обмена процесс моделирования продолжается, даже если факта записи нет (в этом случае массив выходных данных блока не изменяется).

Изменение значения флага Connect приводит к подсоединению или отсоединению данного клиента к серверу.


   Экспорт пакета данных произвольного состава (сервер TCP/IP)

Блок предназначен для экспорта данных во внешние программы по протоколу TCP/IP. Блок включает в себя сервер TCP/IP, к которому подключаются клиенты для чтения данных.

Блок имеет следующий список параметров:

- уникальный номер порта Port, который однозначно определяет данный сервер;

- число входов Nin;

- шаг обмена данными tau (сек);

- тип сеанса обмена Synchronize;

- флаг прослушивания клиентов Listen;

- формат пакета данных PackageFormat.

На рисунке  представлена экранная копия диалогового окна данного блока.

Значение параметра Port является уникальным для данного сервера и используется всеми клиентами, соединяющимися с данным сервером.

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

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

Значение флага Synchronize определяет синхронный или асинхронный характер процесса обмена данными между клиентом и сервером. В случае синхронного обмена ПК "МВТУ" не выходит из подпрограммы записи данных в соединение до тех пор, пока все клиенты, читающие данные по этому каналу, не выставят флаг разрешения на запись (не запишут в соединение байт, равный 1). В случае асинхронного обмена процесс моделирования продолжается, даже если флага разрешения нет (в этом случае данные в канал пишутся на каждом шаге обмена, а значение флага разрешения на запись игнорируется).

Флаг Listen определяет возможность подключения клиентов к данному серверу.

Параметр PackageFormat является объектом, в котором хранится структура и размер пакета передаваемых данных. Формирование этой структуры происходит в отдельном диалоговом окне, вызываемом при нажатии кнопки в строке "Формат пакета данных" в диалоговом окне параметров блока. На рисунке ниже представлена копия экрана с этим диалоговым окном.

Структура данных определяется для каждого входного порта отдельно (путем выбора номера порта). Предполагается, что пакет состоит из блоков данных одинаковой структуры. Структура блока данных задается в таблице. На рисунке в качестве примера задано, что через первый входной порт поступает 100*6=600 данных. Эти данные преобразуются в пакет следующей структуры: 100 повторяющихся блоков данных, каждый из которых представляет собой следующую последовательность: действительное число (4 байта); 5 нулевых байт; действительное число (8 байт); логическое значение (1 байт); значение типа байт (1 байт); целое число (2 байта); целое число (4 байта). Таким образом, пакет, соответствующий первому входному порту, имеет размер 100*(4+5+8+1+1+2+4) = 2500 байт. Пакет, соответствующий второму входному порту, добавляется в конец пакета для первого входного порта и т.д. Общий пакет посылается по протоколу TCP/IP. Так как все данные в ПК "МВТУ" имеют только один тип (Real-8), то в блоке происходит преобразование типов данных в соответствии с заданным типом элемента данных в блоке данных (возможные типы – Real-4, Real-8, Boolean, Byte, Integer-2, Integer-4).


Импорт данных по протоколу UDP
   Импорт внешних данных по протоколу UDP

Блок векторизован и предназначен для импорта данных из внешних программ или от внешних устройств посредством одного из простейших протоколов TCP/IP, а именно: протокола UDP.

Блок имеет только один выходной порт.

Диалоговое окно блока имеет 2 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке    – Номер порта, который «прослушивает» блок при работе;

Во 2-ой диалоговой строке  – Массив начальных значений выходов (на стартовом шаге моделирования)

На рисунке представлена экранная копия диалогового окна данного блока, принимающего вектор внешних сигналов (4 сигнала) от порта с номером 1001, причем начальные значения внешних сигналов равны 1, 3, 0 и 5, соответственно.

Примечания:

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

2.  Если Вы задали неверно параметры в диалоговом окне блока и, запустив задачу на расчет, получили сообщение об ошибке (например, ошиблись в номере порта), то необходимо:

- исправить ошибку;

- сохранить проект с исправлениями на жесткий диск;

- закончить сеанс работы в ПК «МВТУ»;

- снова запустить ПК «МВТУ», открыть сохраненный проект и только затем снова запустить проект на расчет...


   Экспорт данных по протоколу UDP

Блок векторизован и предназначен для экспорта данных во внешние программы или во внешние устройства посредством одного из простейших протоколов TCP/IP, а именно: протокола UDP.

Блок имеет только входной (ые) порт (ы).

Количество входных портов равно количеству экспортируемых скалярных сигналов.

Это означает, что на каждый входной порт блока подается скалярный сигнал.

Диалоговое окно блока имеет 4 диалоговые строки.

Для работы блока необходимо задать:

В 1-ой диалоговой строке    – Адрес (IP – адрес компьютера, на котором установлена «серверная» версия ПК «МВТУ» в режиме Расчет на удаленном сервере);

Во 2-ой диалоговой строке    – Номер порта, по которому экспортируются данные;

В 3-ей диалоговой строке     – Массив начальных значений (размерность  массива начальных значений соответствует количеству входных портов блока);

В 4-ой диалоговой строке    – Шаг обмена данными (в секундах).

На рисунке представлена экранная копия диалогового окна данного блока, экспортирующего с компьютера, имеющего IP – адрес 192.168.0.168, с шагом 0.02 с  вектор сигналов (сформированный из трех (3) скалярных сигналов) по порту с номером 1001, причем начальные значения экспортируемых  сигналов равны 0, 0 и 1, соответственно.

Примечания:

1.  Количество входных портов блока устанавливается автоматически при закрытии диалогового окна (щелчок «мышью» по кнопке Да) и определяется заданной Пользователем размерностью Массива начальных значений.

2.  Значения элементов Массива начальных значений  могут быть и не равны начальным значениям сигналов (при t = 0) на входных портах блока. При любом  t > 0  экспортируемые сигналы обязательно равны сигналам на входных портах блока.

2.  Период, с которым должны экспортироваться пакеты данных, рекомендуется устанавливать не меньше максимального шага интегрирования (расчета).

3.  Если Вы задали неверно параметры в диалоговом окне блока и, запустив задачу на расчет, получили сообщение об ошибке (например, ошиблись в размерности экспортируемых данных), то рекомендуется:

- исправить ошибку;

- сохранить проект с исправлениями на жесткий диск;

- закончить сеанс работы в ПК «МВТУ»;

- снова запустить ПК «МВТУ», открыть сохраненный проект и только затем снова запустить проект на расчет...


Общие сведения о графической системе

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

 Графическая система реализуется с использованием пяти типов блоков:

1.  Блоки для анимации на основном схемном окне:

«Анимация из портов»,

«Анимация из памяти»,

2.  Блоки для анимации в отдельном окне:

«Панель управления с обменом через память»

«Панель управления с обменом через порты».

«Панель управления с обменом через общие блоки памяти»

Основным элементом графической системы является графический редактор, предназначенный для создания и изменения  изображений. Графический редактор поддерживает некоторые стандартные объекты ОС Windows и технологию OLE (Objects Linked and Embedded), что позволяет вставлять внешние объекты (например, диаграммы, видеофрагменты) на основное схемное окно и в панели управления.

Окно графического редактора


  Анимация из портов

Блок позволяет выводить изображение на основном схемном окне. Данный блок находится в библиотеке Анимация «Линейки» типовых блоков. Для создания и изменения изображения необходимо произвести двойной щелчок по блоку.

Свойства:

Количество входов, количество выходов -  установка нужного количества входов и выходов.

Ссылка на панель управления – имя панели управления, связанной с данным блоком. Панель управления будет вызываться в режиме работы при двойном щелчке по блоку.

Для подключения к объектам анимации каких-либо данных необходимо:

1. Произвести щелчок правой кнопкой мыши по блоку и выбрать в меню «Свойства».

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

3. Произвести двойной щелчок по блоку и в открывшемся окне графического редактора создать или загрузить изображение (графический контейнер). Данные из портов будут пересылаться в список сигналов (см. меню «Сервис» графического редактора) графического контейнера. Элементам этого списка, имеющим режим «Порт входа» будут присваиваться значения входов блока по порядку (т.е. первому элементу (сигналу) будет присвоено значение первого порта входа, следующему элементу с тем же режимом второго и т.д.). Значения сигналов, имеющих режим «Порт выхода» будут пересылаться портам выхода блока так же как и для входов.

Окно проекта с блоком «Анимация из портов»

В списке свойств этого блока имеется пункт «Ссылка на панель управления». Если в проекте имеются блоки типа Панель управления, то в этом пункте можно указать имя панели, которая будет вызываться при двойном щелчке по блоку в режиме моделирования. При этом в панель управления будет пересылаться список данных «Глобальные свойства» графического контейнера данного блока. Это позволяет управлять несколькими блоками при помощи одной панели управления.


  Анимация из памяти

Блок анимация из памяти аналогичен блоку Анимация из портов, но отличается способом подключения данных. Данные принимаются из списка переменных в памяти (см. блоки В память и Из памяти) и отдаются в список внешних сигналов проекта.

Свойства:

Управляемые данные, Отображаемые данные – списки сигналов, которые исходят и поступают в анимационную систему.

Ссылка на панель управления – имя панели управления, связанной с данным блоком. Панель управления будет вызываться в режиме работы при двойном щелчке по блоку.

Для подключения данных у этого блока необходимо:

1. Произвести двойной щелчок по блоку и в открывшемся окне графического редактора создать или загрузить изображение (графический контейнер).

2.   Произвести щелчок правой кнопкой мыши по блоку и выбрать в меню «Свойства».

3.  В окне редактирования свойств выбрать «Отображаемые данные». В появившемся окне выбрать нужную переменную и занести её в список отображаемых данных, вспомогательный список показывает соответствие переменных проекта и внутренних сигналов графического контейнера.

Редактор связывания данных

Список источник содержит список переменных «В память» для отображаемых данных и список внешних сигналов проекта для управляемых. Поле «Номер элемента вектора» позволяет указать какой именно элемент векторного сигнала будет пересылаться во внутренние переменные анимационного блока.

4.    Создать внешние сигналы проекта, куда должны пересылаться данные.

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

Пересылка данных производится в том же порядке, что и для блока «Анимация из портов».


  Панель управления с обменом через память

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


  Панель управления с обменом через порты

Блок Панель управления с обменом через порты позволяет выводить изображение в отдельном окне. Способ обмена данными аналогичен блоку Анимация из портов. В остальном блок аналогичен блоку Панель управления с обменом через память

Свойства:

Количество входов, количество выходов -  установка нужного количества входов и выходов.

Способ обмена данными – если это свойство имеет значение «Один порт – один сигнал», то каждому порту блока будет соответствовать только один сигнал панели управления, если свойство имеет значение «Один порт – все сигналы», то значения сигналов при чтении данных будут присваиваться последовательно, т.е. элементу 1 векторного входа будет соответствовать первый по порядку в списке сигналов элемент, 2 – второй и т.д., аналогично для выходов, при этом сигналы должны быть скалярными (для векторов будет присвоен только первый элемент).


  Панель управления с обменом через общие блоки памяти

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

Свойства:

Отображаемые данные – список переменных, передаваемых из общих блоков памяти ПК «МВТУ» в список сигналов панели отображения.

Управляемые данные – список переменных, передаваемых из панели отображения в общий блок памяти.


Добавление и редактирование свойств примитивов

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

Панель примитивов

Каждый примитив имеет свойства, которым можно присваивать значения. Для редактирования свойств примитива необходимо выделить нужный примитив, а затем выбрать в меню графического редактора пункт «Редактирование - Свойства объекта», при этом появляется окно редактирования свойств примитива.

Окно редактора свойств примитивов

Имя свойства используется при текстовом описании анимации и в редакторе связей. Для изменения значения свойства нужно щёлкнуть левой кнопкой мыши по нужной строке в столбце «Значение» редактора свойств.


Пересылка данных и операции над примитивами

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

Контейнер – объект объединяющий несколько примитивов сразу. Он не имеет собственных методов рисования, но имеет метод, позволяющий стирать изображение в заданной прямоугольной области, причём эта область имеет угол поворота и два масштаба – по ширине и по высоте. Данный объект содержит список примитивов, которые должны выводится на экран, а также он распределяет команды  между примитивами и вызывает метод  их перерисовки. Также контейнер производит присвоение свойствам примитива каких-либо данных. Данные в контейнере содержатся в списке сигналов, глобальных  и локальных свойств. Эти списки содержат элементы типа «Сигнал».

Сигнал –  объект, содержащий элемент данных определённого типа. Данный объект содержит информацию о типе, имени и названии, хранящегося в нём элементе данных, а также методы, позволяющие читать и сохранять элемент данных в поток (файл, буфер). Сигналы, а также глобальные свойства и локальные переменные в отличие от свойств примитива имеют изменяемый тип данных и их можно редактировать в специальном редакторе. Для редактирования списка портов (глобальных или локальных свойств) необходимо выбрать в меню пункт «Сервис – Сигналы» («Сервис – глобальные свойства» или «Сервис – локальные переменные»). Для добавления нового сигнала нужно нажать на кнопку «Добавить сигнал».

Окно редактора сигналов графического контейнера

При перерисовке контейнера с объектами происходит сначала присвоение свойств примитивов, а затем их перерисовка.

В Анимационной Системе предусмотрены несколько  способов передачи данных :

1. Посредством написанного для каждого контейнера скрипта.

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

2. Путем заполнения массива связей контейнера.

3. Путем связывания сигнала (глобального или локального свойства) с каким-либо свойством одного из примитивов.

Для редактирования скрипта необходимо выбрать в меню пункт «Сервис – Скрипт», при этом появляется окно редактирования скрипта. Скрипт, используемый в Анимационной системе основан на Языке программирования ПК «МВТУ» и имеет с ним одинаковый синтаксис. Единственное отличие заключается в наличии дополнительных фнукций для работы с графическими объектами.

Массив связей содержит информацию список объектов типа «Связь». Каждая связь включает информацию об имени источника и имени приёмника. При перерисовке в контейнере будет производится присвоение свойств согласно данной таблице, т.е. данные из списка источников будут перемещены в список приемников. Данный механизм является более быстрым по сравнению со скриптом (особенно, если контейнер имеет большое количество портов). Для редактирования списка связей необходимо выбрать в меню пункт «Сервис – Связи», при этом появляется окно редактора связей. Для создания связи надо выделить нужный объект на схеме, при этом в закладке «Объект» редактора связей появятся его свойства и список сигналов. Затем перетащить нужное свойство мышкой в таблицу связей объекта. Аналогично в таблицу перетаскиваются сигналы, глобальные свойства и локальные переменные окна (группы). В массиве связей можно выбрать номер (поле) комплексного элемента данных, аналогично операндам скрипта (например Line.Points[0]:X – это координата X первой опорной точки объекта с именем Line), для этого – щёлкните два раза по нужному элементу таблицы.

Окно редактора связей

После создания примитивов и данных и установления связей между ними анимацию можно проверить работу анимации при помощи окна отладки. Окно отладки вызывается в пункте меню «Сервис – Отладка». В нём есть список доступных сигналов и движок, позволяющий вручную изменять значение выбранного сигнала. Для отладки анимации надо нажать кнопку «Отладка».

Окно отладки анимации


Группы

Содержимое графического редактора можно записать в файл, для чего нужно выбрать пункт меню « Файл – Сохранить как » и указать в появившемся диалоговом окне имя файла. Для загрузки изображения из файла необходимо выбрать пункт меню « Файл – Открыть ». Сохранённые графические файлы можно также загрузить и вставить в редактор как единый объект – группу. Для этого нужно выбрать пункт меню «Файл – вставить из файла» или нажать кнопку на панели примитивов «Вставить из файла». При загрузке файла как группы ранее сохранённый список глобальных свойств будет добавлен в свойства группы и станет доступен через редактор свойств, а список сигналов – будет доступен в скрипте и в списке связей. Файлы с содержимым графического редактора имеют расширение « *.gcn ». Уже вставленные группы можно также сохранить в специальный тип файла – файл группы ( *.gr ), для чего надо выбрать в меню пункт «Файл – Сохранить группу». Вставленную группу можно отредактировать сделав по ней двойной щелчок. Содержимое групп можно менять, не изменяя их имён и положения. Для этого необходимо выделить заменяемые группы, выбрать в меню пункт «Файл – заменить группы» и указать нужный файл.

Графический редактор позволяет также сохранить в файл отдельные элементы изображения. Для этого надо выделить нужные объекты и выбрать пункт меню «Файл – сохранить выделенное», в появившемся диалоге укажите имя файла. Для вставки объектов, сохранённых в файл выберите «Файл – вставить из файла» и в диалоге выбора файлов выберите тип файлов «Элементы». Объекты будут вставлены из файла, аналогично вставке из буфера.


Ссылки

К любому примитиву можно подсоединить панель управления. Для этого надо открыть окно редактирования свойств примитива и щёлкнуть по свойству «Имя управляющей формы» и выбрать в появившемся окне  нужную панель управления. Выбранная панель управления будет появляться при двойном щелчке по данной группе в режиме отображения. При этом в панель управления экспортируется список свойств примитива и список сигналов примитива. При отображении панели управления по ссылке свойства примитива доступны через список глобальных свойств панели.

Например у группы в списке сигналов есть элемент Signal, а в списке глобальных свойств есть элемент Property. Для доступа к этим данным у присоединённой по ссылке панели управления в списке глобальных свойств должны быть заданы элементы Signal и Property. Свойства, заданные в списке глобальных свойств панели управления должны быть в списке сигналов и списке глобальных свойств группы, к которой присоединена эта панель.


Шаблоны

Анимационная система позволяем автоматизировать процесс создания сигналов и связей. Для этого предусмотрен механизм шаблонов. Шаблон – это текст, согласно которому создаются сигналы (глобальные свойства, локальные переменные), связи и строки скрипта. Шаблон может быть задан для любого примитива. Для создания шаблона надо в редакторе свойств примитива заполнить поле «Шаблон автозаполнения».

Чтобы выполнить действия шаблона, надо выделить объект и выбрать в меню «Сервис – Генерация сигналов и связей»

Шаблон состоит из команд с параметрами. Общий формат записи :

<Команда>    <Параметр 1>,  <Параметр 2> …

Разделитель между параметрами – запятая.

Команды шаблона:

Команда	Пример написания	Результат
SCRIPT <Строка>	SCRIPT   $Name$.Width=0	Если свойство Name объекта присвоено «Line1», то будет создана строка скрипта: Line1.Width=0
CONNECT <Источник>, <Приёмник>	CONNECT Signal1, $Name$.Width	Если имя объекта – Line1, то будет создана связь, где источник будет сигнал с именем Signal1, а приёмник – свойство Width объекта Line1. По этой команде новые сигналы не создаются, создаётся только связь.
SIGNAL <Имя>, <Режим – вход или выход>, <Тип данных>, <Название>	SIGNAL $Name$Out, out, boolean, Состояние	Если имя объекта – Line1, то будет создан сигнал с именем «Line1Out», режим – «выход», тип данных – двоичные, название сигнала – «Состояние».  Если уже есть сигнал с таким именем, то команда игнорируется. Если параметр «режим» не указан (пробел), то по умолчанию сигнал будет входом, для того чтобы сигнал был выходом надо указать Out. Если не указан тип данных, то по умолчанию – вещественное число. Идентификаторы типов данных:   INTEGER       –  целое   BOOLEAN      –  вещественное    ARRAY           –  массив вещественных чисел   COLOR           –  цвет Если не указано название, то оно совпадает с именем. В простейшем случае достаточно написать:           SIGNAL <Имя сигнала>
PROPERTY <Параметры как у команды SIGNAL>	PROPERTY $Name$Input	Действие команды аналогично команде SIGNAL, но создаётся на сигнал, а глобальное свойство.
VAR <Параметры как у команды SIGNAL>	VAR $Name$LocalVar	Действие команды аналогично команде SIGNAL, но создаётся локальная переменная.

Параметры команд шаблона могут задаваться в виде форматированных строк (кроме типа данных и режима данных в команде SIGNAL):

$PropName$Текст

 Часть строки $PropName$ - будет заменена на значение свойства с именем «PropName», представленном в строковом виде.


Специальные сочетания клавиш графического редактора

Сочетание клавиш	Описание
Control + Левая кнопка мыши	Плавное масштабирование изображения в поле редактора (Zoom).
Control+ Правая кнопка мыши	Плавное перемещение изображения в поле редактора (Aerial View).
Shift + Левая кнопка мыши	При щелчке по полю редактирования, если удерживать клавишу Shift, будет появляться окно выбора объектов, в котором можно указать нужный объект, если его заслоняет другой объект.


Команды меню графического редактора

Группа команд «Файл».

Название	Описание
Создать	Очистка содержимого окна редактирования
Открыть	Загрузка содержимого окна редактирования из файла
Сохранить как	Сохранение содержимого редактора в файл графики с расширением  *.gcn.
Вставить из файла	Вставка группового объекта из файла графики (*.gcn или *.gr) или вставка нескольких отдельных элементов из файла элементов (*.elt). Тип вставляемого файла выбирается в диалоге выбора файла.
Сохранить группу	Сохранение выделенной группы в отдельный файл группы (*.gr).
Заменить группы	Замена содержимого выделенных групп на новое из графического файла.
Сохранить выделенное	Сохраняет один или несколько выделенных объектов в файл элементов (*.elt).
Запись в видеофайл	Запись изображения окна редактора в файл видео (*.avi) в стандартном формате.
Группа команд «Редактирование».

Название	Описание
Вырезать	Копировать выделенные объекты в буфер и удалить его с поля редактирования.
Копировать	Копировать образы выделенных объектов в буфер.
Вставить	Вставка ранее копированных объектов из буфера в поле редактирования
Удалить	Удаление выделенных объектов.
Выделить все	Выделение всех объектов, находящихся в поле редактирования.
Снять выделение	Снять выделение со всех объектов, находящихся в поле редактирования.
Выделить по типу	Выделение примитивов заданного типа.
Выделить по имени	Выделение примитивов по выбранному имени.
Сгруппировать	Создание из выделенных примитивов группы. Для группировки примитивов надо их выделить и выбрать данный пункт меню.
Разгруппировать	Разрушение выделенной группы. Для выполнения действия надо выделить группу и выбрать данный пункт меню.
Переместить	Перемещение выделенных объектов. Для перемещения надо сначала выделить нужные объекты, а затем выбрать данный пункт меню. Потом указать начальную и конечную точки вектора смещения.
Повернуть	Поворот выделенных объектов. Для поворота надо выделить нужные объекты, выбрать данный пункт меню, указать мышью центр поворота и вторую точку вектора поворота.
Масштабировать	Пропорциональное изменение размеров выделенных объектов. Для масштабирования надо выделить нужные объекты, выбрать данный пункт меню, указать мышью центр масштабирования и вторую точку.
Растянуть-сжать	Непропорциональное изменение размеров выделенных объектов. Последовательность действий аналогична предыдущей команде.
Свойства объекта	Изменение свойств выделенного объекта или общих свойств (по типу и названию) нескольких выделенных объектов.
Выдвинуть вперёд	Перемещение выделенного объекты в конец списка объектов, т.е. он будет рисоваться поверх всех остальных.
Поместить назад	Перемещение выделенного объекта в начало списка объектов, т.е. он будет рисоваться сзади всех остальных.
Группа команд «Лупа».

Название	Описание
Увеличить в 2 раза	Увеличение масштаба изображения в 2 раза.
Уменьшить в 2 раза	Уменьшение масштаба изображения в 2 раза
Увеличить фрагмент	Увеличение выделенного фрагмента изображения во всё окно. Для увеличения – сначала выбрать пункт меню, я затем выделить фрагмент изображения.
Исходное положение	Устанавливает вид схемы в соответствии с её начальным загруженным состоянием. Для нового окна – масштаб 1:1, центр координат – посередине. При редактировании группы для сохранения относительного положения входящих в неё примитивов выберите этот пункт меню.
Стандартный масштаб	Установка масштаба изображения 1:1
Группа команд «Сервис».

Название	Описание
Сигналы	Вызов редактора внешних сигналов графического контейнера.
Глобальные переменные	Вызов редактора глобальных переменных графического контейнера.
Локальные переменные	Вызов редактора локальных переменных графического контейнера.
Генерация сигналов и связей	Автоматическая генерация сигналов, связей и скрипта по шаблонам для выделенных объектов.
Порядок перерисовки	Изменение порядка перерисовки объектов.
Свойства формы	Установка общих свойств формы редактирования: цвет фона, имя формы, заголовок формы.
Связи	Вызов редактора связей и дерева проекта данного окна.
Скрипт	Вызов текстового редактора для редактирования скрипта – текстового алгоритма перерисовки.
Отладка	Вызов окна отладки графики текущего редактора.
Группа команд «Вид».

Название	Описание
Показать скроллеры	Установка видимости вертикального и горизонтального боковых скрооллеров окна.
Показать строку состояния	Установка видимости строки состояния.
Панель примитивов	Показывает палитру графических примитивов.
Панель инструментов	Показывает панель инструментов в окне графического редактора.
Сетка	Установка видимости координатной сетки.
Привязка	Установка режима привязки координат мыши к координатной сетке.
Всплывающие подсказки	Если установить этот флажок, то при наведении мыши на объект в поле редактирования будет показана подсказка на него.
Поворот прямоугольников	Выберите эту опцию для того чтобы задействовать дополнительные точки на рамке прямоугольных объектов (в центре и по серединам сторон). Опция действует для всех анимационных окон и не сохраняется.
Одиночное выделение	Если установлен этот флаг то щелчком мыши можно выделить только один объект. Для выделения нескольких объектов нажмите Shift и левой кнопкой мыши щёлкайте по нужным объектам. Опция действует для всех анимационных окон и не сохраняется.
Начальный цвет линий	Выбор цвета вычерчивания линий по умолчанию.
Начальный цвет заливки	Выбор цвета заливки объектов по умолчанию.
Группа команд «Окно».

Название	Описание
Скрыть все окна	Закрывает все анимационные окна в пределах приложения.
Показать все окна	Открывает все анимационные окна в пределах приложения.
В меню «Окно» показываются имена и состояния всех анимационных окон. Если выбрать имя окна в меню, то оно будет открыто.

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


Скрипт и его использование

Скрипт – это алгоритм, записанный в текстовом виде при помощи специального набора команд, согласно которому при перерисовке объектов в режиме «работа» будет производиться перерисовка графических объектов. Скрипт основан на встроенном Языке программирования ПК «МВТУ» и имеет с ним одинаковый синтаксис. Отличие заключается в наличии дополнительных функций для работы с графическими объектами и возможности доступа к параметрам графических объектов.

Формат доступа к свойствам графических объектов:

 	<Имя объекта>.<Имя свойства>[<Номер элемента в массиве>]:

пример:

Line.Width – ширина линии.

Line.Color – цвет линии.

Специальные графические функции

Ключевое слово	Семантика	Назначение и пример
move	move(Vector,Obj1,...)	Перемещение объектов на вектор Vector = (X,Y)
rotate	rotate(Center,Angle,Obj1,...)	Поворот объектов на угол Angle относительно точки Center.
global	GC=global(LocalCoord)	Вычисление глобальных GC координат из группы по внутренним координатам LocalCoord.
scale	scale(Center,ScaleFactor,Obj1,...)	Масштабирование объектов относительно точки Center с коэффициентом ScaleFactor.
stretch	stretch(Center,ScaleVector,Obj1,...)	Растяжение-сжатие объектов относительно точки Center с вектор-коэффициентом ScaleVector.
restore	restore(Obj1,...)	Сброс координат объектов.
storeposition	storeposition(Obj1,...)	Запоминание координат объектов.
slideline	slideline(P1,P2,StartP,Line1)	Привязка линейного объекта Line1 к линии (P1,P2) по указанной свободной точке StartP.
constr2P	constr2P(P1,P2,Obj1,Obj2...)	Привязка прямоугольного объекта Obj1.. к двум точкам (P1,P2).
setprop	setprop(Obj,"имя свойтсва",значение)	Присваивание значения свойству объекта по имени
setvisible	setvisible(Obj,значение)	Присваивание свойства видимости объекта по ссылке
isrun	isrun	Возвращает True, если мнемосхема в режиме отображения.
mouseincontsiner	mouseincontsiner	Возвращает True, если курсор находиться в пределах данного контейнера (группы или блока).

Специальные переменные доступные в редакторе схем «МВТУ – 4»

Имя	Назначение и пример
GROUPCOLOR	Цвет фона группы
GLOBALCOLOR	Цвет фона главного окна
PAINTSTEP	Флаг, выставляемый при перерисовке изображения окна.


Пример создания анимации – простейший стрелочный прибор

Дополним освоение процедуры работы в Анимационной Системе примером создания стрелочного прибора с цветовыми индикаторами.

Сформулируем условия данного примера. Виртуальный стрелочный прибор типа вольтметр, расположенный на схемном  окне Проекта, «измеряет» входной сигнал, изменяющийся по гармоническому закону

.

Стрелочный прибор имеет 2 цветовых индикатора типа лампочка, причем:

если x(t) < 1, то должна «загораться» желтая лампочка;

если x(t) > 9, то должна «загораться» красная лампочка.

Для создания виртуального прибора необходимо произвести следующие действия:

1)  Запустить программный комплекс «МВТУ».

2) Создать новый проект, выполнив щелчок «мышью» по командной кнопке Новый в Главном Окне ПК «МВТУ» (Главной панели инструментов) или нажать клавишу F3.

3)  Перенести в схемное окно: из библиотеки Источники блоки Константа и Синусоида; из библиотеки Операции – блок Сумматор; из библиотеки  Анимация - блок Анимация из портов (первый слева в закладке Анимация).

Внимание.

Блоки Анимация из портов и Анимация из памяти при переносе их в схемное окно проекта из «Линейки» типовых блоков первоначально не имеют визуального образа в виде пиктограммы. Если в настройках ПК «МВТУ» установлен флаг Рисовать обрамление (опция Настройки в командном меню Опция), то визуальный образ блока – прямоугольник с входным портом слева. Если в настройках не установлен флаг Рисовать обрамление, то визуальный образ блока – только входной порт плюс маркеры выделения по углам «невидимого» обрамления.

4)  Соедините блоки линиями связи и введите (или измените) параметры в диалоговых окнах блоков Константа, Синусоида и Сумматор. Если в настройках ПК «МВТУ» установлен флаг Рисовать обрамление, то структурная схема Проекта на данном этапе примет вид, подобный структурной схеме на рисунке 1.

Рисунок 1

5) Переместите курсор «мыши» на блок  Анимация из портов и выполните 2-х кратный щелчок левой клавишей «мыши»: откроются окна с заголовками Примитивы (Панель графических примитивов) и Графический редактор, причем последнее окно имеет сетку и  «чистое» (т.е. незаполненное).

6) Переместите курсор «мыши» в окно Примитивы, далее на кнопку Стрелочный прибор и выполните однократный щелчок «мышью». Затем переместите изображение полукруглой шкалы в окно Графический редактор, указав позицию установки переносимого изображения новым щелчком «мыши».

7)  Переместите курсор «мыши» в окне Графический редактор на примитив Стрелочный прибор и выполните однократный щелчок левой клавишей «мыши»: примитив Стрелочный прибор выделен и доступен для редактирования. Откройте меню Редактирование и в падающем меню выберите опцию Свойства: откроется окно Свойства: Voltmeter1 (окно Свойства примитива Стрелочный прибор), внешний вид которого должен быть близок к рисунку 2.

Примечание.

Окно Свойства примитива Стрелочный прибор можно было открыть и другим способом. Переместите курсор «мыши» в окне Графический редактор на примитив Стрелочный прибор и выполните однократный щелчок правой клавишей «мыши»: откроется падающее меню Редактирование примитива Стрелочный прибор, в котором выберите опцию Свойства объекта…

Измените следующие параметры: Верхний предел – 10; Шаг – 1. Остальные параметры в окне Свойства примитива Стрелочный прибор можно оставить без изменения…

Рисунок 2

8) Опять переместите курсор «мыши» в окно Примитивы, далее на кнопку Круг и выполните однократный щелчок «мышью». Затем переместите курсор «мыши»  в окно Графический редактор, указав позицию установки центра переносимого изображения новым щелчком «мыши». Далее нажмите левую клавишу «мыши» и, удерживая клавишу, слегка сдвиньте «мышь»: появится круг зеленого цвета, причем размер круга пропорционален перемещению «мыши».

9)   Переместите курсор «мыши» в окне Графический редактор на примитив Круг и выполните однократный щелчок левой клавишей «мыши»: примитив Круг выделен и доступен для редактирования. Откройте меню Редактирование и в падающем меню выберите опцию Свойства: откроется окно Свойства примитива Круг (рисунок 3).

Рисунок 3 – Окно Свойства объекта Круг

Измените цвет заливки примитива на желтый (окно выбора цвета заливки открывается щелчком «мыши» по ячейке «Цвет» - «Значение»).

Примечание.

Окно Свойства примитива Круг также можно было открыть и другим способом (см. Примечание в п. 7)…

10)  Повторите действия пункта 8 и перенесите в окно Графический редактор второй круг. Повторите действия пункта 9 и измените цвет заливки 2-го круга на красный цвет.

Используя «мышь» измените размеры окна Графический редактор: немного растяните окно по горизонтали и сожмите окно по вертикали.

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

Рисунок 4 - Окно Графического редактора с примитивами

11)  Откройте в окне Графический редактор меню Сервис, далее в падающем меню выберите опцию Сигналы: появится окно с заголовком Сигналы.  Переместите курсор «мыши» на кнопку Добавить порт (красная стрелка  в левом нижнем угле окна Сигналы) и выполните однократный щелчок левой клавишей «мыши»: в окне появится строка таблицы. Измените имя сигнала на новое - Input.

Результат вышеописанных действий иллюстрируется рисунком 5.

Рисунок 5 – Заполненное окно Сигналы

Выполните в окне Сигналы щелчок по кнопке Ok: окно Сигналы будет закрыто.

12)  Задание значений входного сигнала, соответствующих включению цветовой индикации.

Откройте в окне Графический редактор меню Сервис, далее в падающем меню выберите опцию Локальные переменные: появится окно с заголовком Локальные переменные. Переместите курсор «мыши» на кнопку Добавить порт (красная стрелка  в левом нижнем угле окна Локальные переменные) и выполните два щелчка левой клавишей «мыши»: в окне появится две строки таблицы.

В 1-ой строке: в колонке Имя введите новое имя – V1; в колонке Режим – выберите ненаправленный; в колонке Значение – введите 1.

Во 2-ой строке: в колонке Имя введите новое имя – V2; в колонке Название – скорректируйте – Переменная2; в колонке Режим – выберите ненаправленный; в колонке Значение – введите 9.

Результат вышеописанных действий иллюстрируется рисунком 6.

Рисунок 6

Примечание.

Задание «границ» включения цветовой индикации можно было выполнить и посредством меню Сервис и опции Глобальные свойства…

13) Откройте в окне Графический редактор меню Сервис, далее в падающем меню выберите опцию Скрипт: появится окно с заголовком Текстовый редактор.

В этом окне  введите с клавиатуры следующий текст:

Voltmeter1.Value = Input;

FillCircle1.Visible = Input < V1;

FillCircle2.Visible = Input > V2;

14) Откройте в окне Графический редактор меню Сервис, далее в падающем меню выберите опцию Отладка: появится окно с заголовком Отладка анимации, в поле Сигналы щелчком левой клавиши «мыши» выберите сигнал - Input. Установите в поле Минимум значение, равное 0 (нуль), а в поле Максимум введите число 10.

Окно Отладка анимации примет вид, подобный рисунку 7.

Рисунок 7 – Окно Отладка анимации

Если появится окно сообщений - значит где-то при создании объекта была допущена ошибка. Если же все верно, то кнопка Отладка гаснет, а активизируется кнопка Редактирование.

Если теперь в окне Отладка анимации посредством «мыши» подвигать движок, то на изображении в окне Графический редактор должна перемещаться стрелка, а также при x(t) < 1 и x(t) > 9 должны включаться желтая и красная «лампочка», соответственно.

15) Закройте окно Графический редактор, выполнив щелчок «мышью» по «крестику» в правом верхнем угле этого окна.

После некоторого редактирования внешнего вида схемного окна Проекта (изменение текста и/или расположение подписей под блоками) изображение в схемном окне создаваемого Проекта примет вид, близкий рисунку 8.

Рисунок 8

15)  Переместите курсор «мыши» в Главном Окне на командную кнопку Параметры счета и выполните щелчок левой клавишей «мыши»: откроется окно Параметры расчета.

Измените в закладке Основные следующие параметры: Время интегрирования – 100 с; Максимальный шаг интегрирования – 0.1 с; Шаг вывода результатов – 0.1 с. Остальные параметры можно оставить по умолчанию.

В закладке Скорость установите флаг в поле Режим масштабирования времени, а в поле Множитель ускорения введите число 5. Это означает, что процесс моделирования будет выполнен в 5 раз быстрее реального времени.

Закройте окно Параметры расчета (щелчок левой клавишей «мыши» по кнопке Да).

16) Откройте меню Стиль в командном меню Главного Окна и далее выберите опцию Настройки. Отключите флаг Рисовать обрамление: исчезнет внешняя окантовка блоков, в том числе и окантовка виртуального стрелочного прибора.

Выполните щелчок «мышью» приблизительно в центре виртуального стрелочного прибора: блок станет выделенным. Используя меню Стиль в командном меню Главного Окна и опцию Фон блока установите светло-зеленый цвет фона виртуального стрелочного прибора. Изменив подпись под виртуальным прибором, придайте схемному окну Проекта внешний вид, близкий рисунку 9.

Рисунок 9

17) Переместите курсор «мыши» в Главном Окне на командную кнопку Продолжить и выполните однократный щелчок «мышью»: начнется процесс моделирования…

За время моделирования стрелка виртуального прибора совершит более 3-х «пробегов» по шкале прибора, причем, если x(t) < 1, то будет «гореть» желтая лампочка, а если     x(t) > 9, то будет «гореть» красная лампочка. По завершении процесса расчета внешний вид схемного окна Проекта будет иметь вид, близкий рисунку 10.

Рисунок 10

18) Рекомендуем сохранить созданный Вами Проект под «оригинальным» именем…

Для дальнейшего освоения процедурами работы в Анимационной Системе начинающему Пользователю рекомендуется самостоятельно ознакомиться с  несколькими демонстрационными примерами, расположенными в подкаталоге DEMO\Анимация. В этих примерах показан ряд методов и «технологических» приемов, часто используемых при создании анимационных и других мультимедийных эффектов применительно к задачам разработки виртуальных пультов управления и виртуальных лабораторных работ.


Пример создания анимации – модель кривошипно-шатунного механизма

В контекстную справочную систему ПК «МВТУ» включено описание основных процедур работы в Анимационной Системе, дополненное подробным описанием («step by step») двух демонстрационно-ознакомительных примеров:

 1) Создание кривошипно-шатунного механизма;

 2) Создание стрелочного индикатора.

Рассмотрим подробно процедуры работы в Анимационной Системе при создании визуального образа кривошипно-шатунного механизма, которому приданы мультимедийные свойства, а именно: анимация перемещений элементов механизма.

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

1.	Создать новый проект и перенести из «Линейки» типовых блоков в Схемное окно проекта блок Панель анимации с обменом через порты (библиотека Анимация).

2.	Перенести в Схемное окно блок типовой блок Модельное время (библиотека Источники) и соединить выход этого блока со входом ранее перенесенного блока.  Результат этих действий представлен на рисунке 1.

Рисунок 1 - Экранная копия Главного Схемного окна проекта

3.	Выполнить двойной щелчок «мышью» по блоку Панель анимации с обменом через порты: появится Панель графических примитивов (окно Примитивы на рисунке 2) и окно Графический редактор, вид которого представлен на рисунке 3.

Рисунок 2 - Экранная копия окна Примитивы

Рисунок 3 - Экранная копия окна Графического редактора

4.	В командном меню Сервис выбрать опцию Сигналы: появится окно Редактора сигналов анимации (окно Сигналы на рисунке 4). В окне Сигналы надо нажать кнопку Добавить сигнал (стрелка типа  в левом нижнем угле окна Сигналы). Затем в таблице сигналов задать новое имя появившегося сигнала – для этого надо сделать двойной щелчок «мышью» по таблице в поле Имя и ввести Fi. Этот сигнал будет задавать угол поворота кривошипа относительно его положения в режиме редактирования. Затем надо нажать кнопку Ok.

Рисунок 4 - Экранная копия окна Редактора сигналов анимации

5.	В окне Примитивы выполнить щелчок «мышью» по кнопке Линия, и затем в окне Графического редактора щелчками «мыши» указать 1-ю точку, а затем 2-ю точку линии, которая будет изображать кривошип механизма (рисунок 5). Длину и положение линии можно изменять, перетаскивая «мышью» ее концы.

Рисунок 5

6.	Выполнить 2-х кратный щелчок «мышью» по линии, «нарисованной» в окне Графического редактора: появится окно Редактирования свойств объекта (окно Свойства на рисунке 6).  В Редакторе свойств объекта необходимо изменить Имя объекта на Crank, для чего необходимо произвести двойной щелчок по полю Значение в строке Имя объекта. Можно также изменить еще какие-нибудь свойства вида линии. Закрытие окна Свойства выполняется щелчком «мыши» по кнопке Ok.

Результат вышеописанных действий представлен на рисунке 6.

Рисунок 6 - Экранная копия окна Редактора свойств объекта

7.	В панели примитивов выполнить щелчок «мышью» по кнопке Линия и провести осевую линию кривошипно-шатунного механизма, как показано на рисунке.

Рисунок 7 - Экранная копия окна графического редактора

8.	Выполнить двойной щелчок по осевой линии (см. п. 7) и установить для нее новое имя Axis и свойство Стиль линии - Штрихпунктирная. Затем нажать кнопку Ok.

Рисунок 8

9.	В панели примитивов нажать кнопку Линия и провести линию от конца линии с именем Crank (кривошип) до пересечения с линией с именем Axis (осевой линии) как показано на рисунке 9. Эта линия будет изображать шатун механизма.

Рисунок 9

10.	 Выполнить двойной щелчок «мышью» по проведённой в п. 9 линии и в появившемся окне Редактора свойств установить имя объекта Line. Затем нажать кнопку Ok.

Результат действия показан на рисунке 10.

Рисунок 10

11.	В панели примитивов нажать кнопку Залитый прямоугольник и указать в окне графического редактора центральную точку прямоугольника так, чтобы она находилась на конце линии, проведенной в п.9. (шатун). Затем установить нужный размер прямоугольника, растягивая или сжимая его посредством «мыши» за точку (красный квадратик) на верхней или на правой боковой стороне. Результат операции показан на рисунке 11.

Рисунок 11

12.	 Выполнить щелчок правой клавишей «мыши» по нарисованному в п.11 прямоугольнику и выбрать свойство Поместить назад.

13.	 Выполнить «мышью» двойной щелчок по прямоугольнику, нарисованному в п.11 и ввести новое имя объекта Rect. Результат операции показан на рисунке 12.

Рисунок 12

14.	 В окне графического редактора выбрать пункт меню Сервис-Скрипт. Появится окно текстового редактора скрипта. В текстовом редакторе надо ввести следующий текст

//  Поворот объекта Crank относительно его первой точки

//  на угол равный значению сигнала Fi

rotate(Crank.Points[1], Fi, Crank);

//Привязка линии Line к концу линии Crank и оси Axis

slideline(Axis.Points[1], Axis.Points[2], Crank.Points[2], Line);

//Привязка прямоугольника Rect к концу линии Line

Rect.Points[1]=Line.Points[2];

Первая строка скрипта производит поворот кривошипа на угол Fi (в радианах). В скрипте все углы измеряются в радианах (положительным считается поворот против часовой стрелки). Вторая строка производит перемещение (привязку) шатуна, соответствующее положению оси и шатуна. Третья строка производит привязку положения прямоугольника к концу шатуна механизма.

15) Если Ваш рисунок не вмещается в окно редактора, или расположен не по центру, то можно изменить его масштаб. Для уменьшения масштаба или выберите в меню Лупа опцию Уменьшить в 2 раза или нажмите клавишу CTRL + левая кнопка «мыши» и «мышью» плавно измените масштаб. Увеличенный и сцентрированный по окну механизм показан на рисунке 13.

Рисунок 13

16)	 Выберите в меню Сервис опцию Отладка: появится окно отладки анимации. Нажмите в окне отладки кнопку Отладка и выберите в списке сигналов сигнал Fi. Затем установите в поле Максимум значение 10. Попробуйте подвигать движком в окне отладки, при этом рисунок в окне редактора должен прийти в движение. Если при нажатии кнопки Отладка будет выдано сообщение об ошибке, то проверьте значения имен 14.

Рисунок 14 - Экранная копия окна отладки анимации

17)	 В Главной панели инструментов ПК «МВТУ» нажмите командную кнопку Параметры расчета и установите следующие значения:

В закладке Основные -  время интегрирования – 100 секунд.

В закладке Скорость - выберите режим масштабирования времени.

18)	 В Главной панели инструментов ПК «МВТУ» выполните щелчок «мышью» по командной  кнопке Продолжить расчет:  механизм должен начать двигаться.

19)	 Дождитесь остановки расчета. В окне графического редактора выполните щелчок «мышью» по линии с именем Crank (кривошип) и по линии с именем Line (шатун). Затем в меню Редактирование выберите опцию Свойства объекта. Появится окно редактора свойств, в котором будут отображаться общие свойства выделенных объектов. Измените свойство Толщина линии до значения 7, а свойство Цвет линий - сделайте красным. Нажмите кнопку Ok. Экранная копия заполненного окна редактора свойств приведена на рисунке 16, а экранная копия окна Графического редактора приведена на рисунке 16.

Рисунок 16

20)	 В меню графического редактора Редактирование выберите опцию Выделить все: должны выделится все находящиеся на экране объекты. Затем в меню Редактирование выберите опцию Повернуть. В окне графического редактора укажите «мышью» центральную точку поворота объектов. Затем укажите вторую точку так, чтобы объекты приняли иное расположение. Все выделенные объекты должны развернуться относительно первой точки. Результат операции поворота анимационного изображения представлен на рисунке 17.

Рисунок 17

Рисунок 18

21)	 В Главной панели инструментов ПК «МВТУ» выполните щелчок «мышью» по командной кнопке Продолжить расчет: механизм должен начать двигаться.

22)	 Сохраните проект на жесткий диск. Для этого в Главной панели инструментов ПК «МВТУ» необходимо выполнить щелчок «мышью» по кнопке Сохранить.

На этом краткое описание процедур создание анимационного объекта (кривошипно-шатунного механизма) завершено.


Графическое окно

Графическое окно реализует отображение текущих результатов моделирования в виде:

- временных зависимостей для одной или одновременно для нескольких переменных;

- фазовых траекторий для одной пары или одновременно для нескольких пар фазовых переменных;

- графика y(t, x), реализующего после каждого шага интегрирования (расчета) построение кривой y(t) = f(x), где х – вектор, содержащий независящие от времени постоянные элементы.

Открытие Графического окна выполняется 2-х кратным щелчком левой клавишей «мыши» в Схемном окне по изображению блока отображения графической информации (Временной график, Фазовая плоскость или График y(t, x)).

Переместив курсор в центральную часть поля графика и выполнив однократный щелчок правой клавишей «мыши», можно открыть командное меню Графического окна (см. рисунок ниже).

Ряд опций командного меню Графического окна общеприняты и не требуют особых пояснений (Автомасштаб, Курсор, Всегда впереди).

Опция Список предназначена для замены графического изображения на таблицу данных. Возврат к графическому изображению осуществляется щелчком правой клавиши «мыши» в поле таблицы и последующим выбором в меню опции Список.

Опция Копировать реализует операцию копирования изображения графика в буфер для последующей вставки в соответствующие отчетные документы, например, в текстовые документы WINWORD…

Если выполнить щелчок левой клавишей «мыши» по строке Свойства в командном меню Графического окна (см. рисунок выше), то откроется окно Настройка, предназначенное для настройки параметров Графического окна (цвет и тип линии, параметры осей координат, параметры заголовка графика и подписей по осям координат и т.п.).


Настройка параметров Графического окна

Для открытия диалогового окна Настройка, предназначенного для настройки параметров Графического окна (цвет и тип линии, параметры осей координат, параметры заголовка графика и подписей по осям координат и т.п.) необходимо выполнить щелчок левой клавишей «мыши» по строке Свойства в командном меню Графического окна (см. рисунок в подразделе «Графическое окно»).

В верхней части диалогового окна Настройка расположены интерфейсные элементы группы Заголовок, содержащей:

- поле для «ручного» ввода нового заголовка Графического окна (по умолчанию заголовок Графического окна  - График);

- три командные кнопки, предназначенные для «привязки» текста заголовка (по левому краю, по центру, по правому краю);

- командную кнопку (пиктограмма с буквами) – для задания параметров шрифта заголовка графика.

В нижней части диалогового окна Настройка расположены интерфейсные элементы двух групп Метка, предназначенных для оформления подписей к осям координат. Каждая из групп содержит:

- поле для «ручного» ввода новой подписи по оси координат (по умолчанию подпись к оси абсцисс – Время, а к оси ординат – Переменная);

- три командные кнопки, предназначенные для «привязки» текста подписи (по левому краю, по центру, по правому краю);

- командную кнопку (пиктограмма с буквами) – для задания параметров шрифта подписи.

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

- поле для «ручного» ввода поясняющего имени («легенды») кривой на графике (по умолчанию имена кривых на графике – График 1, График 2, График 3 и т.д.);

- кнопку выбора типа линии (сплошная, пунктирная, штриховая и т.п.), расположенную под полем для «ручного» ввода поясняющей подписи (по умолчанию все линии на графике имеют одинаковый тип – сплошная одинарная);

- многоцветную кнопку (расположенную правее кнопки выбора типа линии), предназначенную: для выбора цвета кривых на графике, реализуемого щелчком левой клавиши «мыши» (FG) по одному из 16-ти предлагаемых цветов; для выбора цвета поля графика, реализуемого щелчком правой клавиши «мыши» (BG) по одному из 16-ти предлагаемых цветов.

Над интерфейсными элементами обеих групп Метка расположены:

- кнопки выбора типа линии (пунктирная, штриховая и т.п.) для сетки по осям координат;

- многоцветные кнопки, предназначенные: для выбора цвета линий сетки на графике, реализуемого щелчком левой клавиши «мыши» (FG) по одному из 16-ти предлагаемых цветов; для выбора цвета окантовки графика, реализуемого щелчком правой клавиши «мыши» (BG) по одному из 16-ти предлагаемых цветов.

В средней части диалогового окна Настройка расположены интерфейсные элементы, предназначенные для настройки параметров осей координат (группы Ось X и Ось Y) в режиме как «ручного» ввода (например, поля максимума и минимума по каждой из осей координат), так и в режиме выбора из предлагаемых (например, Разный для линий, Общий для всех или Логарифмический для выбора масштабов по осям координат для отображаемых графиков).

Примечания: по умолчанию реализуется следующее цветовое оформление:

- цвета линий графиков: 1-я линия – черный, 2-я линия – синий; 3-я линия – красный и т.д.;

- цвет поля графика – белый;

- цвет окантовки графика – белый;

- цвет линий сетки по осям координат – серый.


   Временной график

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

В Схемном окне изображение блока подобно изображению любого типового блока - прямоугольник с характерной пиктограммой.

При 2-х кратном щелчке левой клавишей «мыши» по изображению блока в Схемном окне открывается Графическое окно.

Блок Временной график имеет 4 диалоговые строки.

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

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке  – число входов : натуральное число N, соответствующее желаемому количеству входных портов.

Во 2-ой диалоговой строке  – Вывод на каждом шаге (Да или Нет);

В  3-ей  диалоговой строке  – Прореживание точек (Да или Нет);

В  4-ой диалоговой строке  – Начальное число точек :  натуральное число К, соответствующее максимальному размеру временного стека данных по каждой отображаемой переменной.

Например, если в 1-ой диалоговой строке введено число 3, то это означает, что блок Временной график будет иметь 3 векторизованных входных порта.

На каждый из портов могут быть поданы как скалярные, так и векторные сигналы, например, три векторных сигнала, размерностью 4, 2 и 2.

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

Если на каждый входной порт поданы векторные сигналы (например, три векторных сигнала, размерностью 4, 2 и 2), то количество графиков временных зависимостей, отображаемых в Графическом окне, равно сумме размерностей входных сигналов - 8.

Если во 2-ой диалоговой строке выбрано Да, то при выполнении моделирования в Графическом окне будут отображаться все изменения линии графика после каждого шага интегрирования.

Если во 2-ой диалоговой строке выбрано Нет, то при выполнении моделирования в Графическом окне будут отображаться изменения линии графика через временной интервал, равный приблизительно Шагу вывода результатов (см. диалоговое окно Параметры интегрирования).

В 3-ей строке диалогового окна  (Прореживание точек) по умолчанию задана опция Да.

Если необходимо иметь информацию о всех расчетных данных, выводимых на график, то необходимо в 3-ей диалоговой строке изменить Да на Нет.

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

Параметр Начальное число точек  (по умолчанию 200) соответствует максимальному размеру временного стека данных по каждой отображаемой переменной.

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

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

Настройка параметров Графического окна (цвет и тип линии, параметры осей координат, параметры заголовка графика и подписей по осям координат и т.п.) производится в специальном диалоговом окне Настройка.

Примечания:

1.  По умолчанию данный блок реализует отображение временных зависимостей для одного векторного сигнала.

2.  В версиях ПК «МВТУ», выпущенных до сентября 2002 года 4-я диалоговая строка – Начальное число точек – отсутствовала. Значение данного параметра по умолчанию – 200.


   Фазовая плоскость

Блок векторизован и реализует отображение текущих результатов моделирования на фазовой плоскости для одной пары  или одновременно для нескольких пар фазовых переменных.

В Схемном окне изображение блока подобно изображению любого типового блока - прямоугольник с характерной пиктограммой.

При 2-х кратном щелчке левой клавишей «мыши» по изображению блока в Схемном окне открывается Графическое окно.

Блок имеет 2 векторизованных входных портов:

- первый входной порт предназначен для ввода данных по фазовым координатам, которые соответствуют оси абсцисс;

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

Размерности входных сигналов должны быть обязательно одинаковыми.

Блок Фазовая плоскость имеет 3 диалоговые строки.

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

Для работы блока в диалоговых строках необходимо задать:

В  1-ой   диалоговой строке  – Вывод на каждом шаге (Да или Нет);

Во 2-ой  диалоговой строке  – Прореживание точек (Да или Нет);

В  3-ей диалоговой строке  – Начальное число точек :  натуральное число К, соответствующее максимальному размеру временного стека данных по каждой отображаемой переменной.

Если в 1-ой диалоговой строке выбрано Да, то при выполнении моделирования в Графическом окне будут отображаться все изменения линии графика после каждого шага интегрирования.

Если во 1-ой диалоговой строке выбрано Нет, то при выполнении моделирования в Графическом окне будут отображаться изменения линии графика через временной интервал, равный приблизительно Шагу вывода результатов (см. диалоговое окно Параметры интегрирования).

Во 2-ой строке диалогового окна  (Прореживание точек) по умолчанию задана опция Да.

Если необходимо иметь информацию о всех расчетных данных, выводимых на график, то необходимо во 2-ой диалоговой строке изменить Да на Нет.

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

Параметр Начальное число точек  (по умолчанию 200) соответствует максимальному размеру временного стека данных по каждой отображаемой переменной.

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

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

Настройка параметров Графического окна (цвет и тип линии, параметры осей координат, параметры заголовка графика и подписей по осям координат и т.п.) производится в специальном диалоговом окне Настройка.

Примечания:

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

2.  В версиях ПК «МВТУ», выпущенных до сентября 2002 года, 4-я диалоговая строка – Начальное число точек – отсутствовала. Значение данного параметра по умолчанию – 200.


График X-Y
   График y(t, x)

Блок векторизован и предназначен для отображения текущих результатов моделирования в виде графика у(t, x), реализующего после каждого шага интегрирования (расчета) построение кривой y(t) = f(x), где х – вектор, содержащий независящие от времени постоянные элементы.

Данный блок может быть использован для отображения результатов расчета в линейно распределенных динамических задачах, где, например, вектор х – вектор относительных пространственных координат в моделируемом объекте, а вектор-функция y(t) описывает нестационарное распределение какой-то физической переменной в моделируемом объекте.

В Схемном окне изображение блока подобно изображению любого типового блока - прямоугольник с характерной пиктограммой.

При 2-х кратном щелчке левой клавишей «мыши» по изображению блока в Схемном окне открывается  Графическое окно.

Блок имеет 2 (или более) векторизованных входных портов:

- первый входной порт предназначен для ввода данных, которые соответствуют координатам по оси абсцисс;

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

Размерности входных сигналов должны быть обязательно одинаковыми.

Блок График y(t, x) имеет 3 диалоговые строки.

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

Для работы блока в диалоговых строках необходимо задать:

В  1-ой   диалоговой строке  – Число графиков (натуральное число N).

Если в диалоговой строке Число графиков, например, введено число 3, то блок будет иметь 4 входных порта: первый порт - для ввода данных, которые соответствуют координатам по оси абсцисс; второй, третий и четвертый порты - для ввода данных, которые соответствуют текущим значениям для трех вектор-функций y(t).

Во 2-ой  диалоговой строке  – Число точек вывода (натуральное число К).

Параметр К задает количество «временных срезов», которые будут отображены в Графическом окне.

Если в диалоговой строке Число точек вывода, например, введено число 10, то это означает, что в процессе моделирования изображение в Графическом окне обновится 10 раз.

В  3-ей диалоговой строке  – Оставлять след (Да или Нет).

Если выбрана опция Нет, то изображение в Графическом окне будет обновляться с периодом, равным отношению Времени интегрирования (см. диалоговое окно Параметры интегрирования) к Числу точек вывода (К).

Если выбрана опция Да, то изображение в Графическом окне будет обновляться только при перемасштабировании Графического окна (в том числе и при автоматическом).

Примечание: по умолчанию данный блок реализует построение одного (1) графика, который в процессе моделирования будет обновляться 100 раз, так опция Оставлять след – Нет.


   Запись данных в файл

Блок векторизован и реализует запись текущих результатов расчета в файл данных  в формате ASCII на жесткий диск.

Блок может иметь один или более векторизованных входных портов.

Блок имеет 4 диалоговые строки.

Для работы блока в диалоговых строках необходимо  задать:

В 1-ой диалоговой строке   - DT  (шаг записи в секундах);

Во 2-ой диалоговой строке – Имя файла данных;

В 3-ой диалоговой строке   - Число входов (входных портов);

В 4-ей диалоговой строке   - Формат данных (выбрать формат записи данных)

Пример заполнения диалогового окна:

1-я строка: -  1  (интервал записи - 1 с)

2-я строка: -  dan_01.dat  (рекомендуется создавать файл данных в том же каталоге, где расположен файл Проекта)

3-я строка: -  2 (2 входных порта)

4-я строка: -  0.123456e00 (6 значащих цифр при записи данных)

Примечания:

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

2. Если блок имеет несколько входов (входных портов), то определение общего количества сохраняемых динамических переменных производится автоматически.


   Чтение данных из файла

Блок векторизован и реализует чтение из файла  данных результатов расчета, сохраненных ранее в формате ASCII на жесткий диск.

Блок имеет один векторизованный выходной порт.

Блок имеет 3 диалоговые строки.

Для работы блока в диалоговых строках необходимо  задать:

В 1-ой диалоговой строке   - Число зависимых переменных в файле данных;

Во 2-ой диалоговой строке – Имя файла данных

В 3-ой диалоговой строке   - Коэффициент умножения для независимой переменной

Пример заполнения диалогового окна:

1-я строка: -  4  (4 динамических переменных)

2-я строка: -  dan_01.dat

3-я строка: -  1

Примечания:

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

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

3.  Если в 3-ей диалоговой строке введено значение 1, то элементы выходного векторного сигнала блока (полученные с использованием линейной интерполяции) соответствуют текущему модельному времени.

Если в 3-ей диалоговой строке введено значение 2, то при считывании из файла данных значения в столбце временных отметок (первый ) умножаются на 2, что соответствует замедлению вывода данных.


   Чтение данных из таблицы

Блок векторизован и реализует преобразование входного сигнала посредством таблицы, сохраненной в файле данных (в формате ASCII), где в 1-ом столбце таблицы сохранен числовой вектор аргумента, а в последующих столбцах – числовые вектора функций преобразования.

Блок имеет один скалярный входной порт.

Блок имеет один векторизованный выходной порт.

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

Блок имеет 3 диалоговые строки.

Для работы блока в диалоговых строках необходимо  задать:

В 1-ой диалоговой строке   - Число зависимых переменных в файле данных;

Во 2-ой диалоговой строке – Имя файла данных

В 3-ой диалоговой строке   - Коэффициент умножения для независимой переменной

Пример заполнения диалогового окна:

1-я строка: -  3  (3 функции преобразования)

2-я строка: -  dan_01.dat

3-я строка: -  1

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


   Таблица данных из файла

Блок векторизован и реализует на каждом шаге расчета считывание всех элементов таблицы данных, сохраненной на жестком диске в файле данных (в формате ASCII).

Блок не имеет входов.

Количество выходных портов равно числу столбцов в таблице.

Блок имеет 2 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   – Число столбцов в таблице

Во 2-ой диалоговой строке – Имя файла данных

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


   Считывание строк из таблицы

Блок векторизован и реализует с заданным временным интервалом построчное считывание  таблицы данных, сохраненной в виде файла данных в формате ASCII.

Блок имеет один векторизованный выходной порт.

Блок имеет 3 диалоговые строки.

Для работы блока в диалоговых строках необходимо задать:

В 1-ой диалоговой строке   – Число столбцов в таблице

Во 2-ой диалоговой строке – Имя файла данных

В 3-ей диалоговой строке   -  Цикл считывания строк (в секундах)

Примечания:

1.  Блок может использоваться для постобработки данных, например, для выполнения статистического анализа экспериментальных данных, полученных в эксперименте с использованием АЦП с постоянным периодом квантования.

2.  Если цикл считывания строк задан равным 0 (нулю), то считывание строк таблицы данных производится с интервалом, равным текущему шагу интегрирования.


   Регистрация событий

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

Блок относится к блокам отображения данных, имеет два векторных входа, не имее выходов, и включен в библиотеку Данные.

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

Рис. 1

Каждое событие регистрируется в виде строки таблицы, столбцы которой несут следующую смысловую нагрузку:

-  в столбце Время отображается модельное время наступления события;

-  в столбце Индекс отображается индекс сигнала во входном массиве блока, для которого зафиксирован факт наступления события;

-  в столбце Значение отображается значение сигнала в первом входном массиве блока, для которого зафиксирован факт наступления события;

-  в столбце Имя сигнала отображается имя сигнала, для которого зафиксирован факт наступления события;

-  в столбце Комментарий отображается комментарий к сигналу, для которого зафиксирован факт наступления события.

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

Файл описания сигналов – это текстовый файл, в котором содержатся коды сигналов, поступающих на 1-ый вход блока, и комментарии к ним (ссылка). Если имя файла описания сигналов не задано или не найдено, столбцы Имя сигнала и Комментарий в таблице будут пустыми.

Информация о событиях параллельно с записью в таблицу может записываться в файл, для чего необходимо задать имя этого файла (см. рис. 1).

Если старые записи в файле регистрации требуется сохранить, необходимо установить флаг Добавлять записи в файл (см. рис. 1).

Параметр Число записей для просмотра определяет максимальное число строк в таблице. Если в процессе расчета максимальное число строк превышено, таблица очищается. Очистить список событий в таблице можно путем нажатия одноименной кнопки (см. рис. 1).

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

На рис. 2 ниже представлен пример использования блока Регистрация событий в структурной схеме.

Рис. 2

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

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

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

Это означает факт наступления события (в данном примере – срабатывание алгоритма или прекращение его воздействия на исполнительные органы).

В таблице (см. рис. 1) появится запись о наступлении события…

Примечания:

1.  В версиях ПК «МВТУ», выпущенных до сентября 2002 года, данный блок не поддерживается.

2.  В настоящее время данный блок апробирован для формирования протокола событий при проектном обосновании математической модели АСУ ТП реального времени для энергоблоков АЭС с реакторами ВВЭР нового поколения.


   Просмотр значений в блоках общей памяти

Блок предназначен для просмотра и редактирования значений сигналов из общей памяти.

Экранная копия заполненного диалогового окна блока имеет вид:

Основные действия в диалоговом окне данного блока:

1)  Используя элементы управления из Области памяти (из списка) выбирается именованная область памяти. После выбора именованной области памяти автоматически заполняется список-источник сигналов (расположен под элементами управления Области памяти).

2)  Элементы управления Фильтр позволяют выбрать из именованной области памяти группу сигналов «по маске».

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

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

4)  При моделировании в столбце таблицы Значение отображаются текущие значения выбранных сигналов. Шаг вывода значений сигналов в таблицу задается в общих свойствах блока данных (по умолчанию данные обновляются на каждом шаге интегрирования).

5)  Для любого сигнала из области памяти может быть введен режим ручного задания его значения. ==>  В столбце таблицы Вручную для требуемого сигнала необходимо выбрать опцию Да (см. экранную копию диалогового окна выше). Выбор опции Да вводит запрет на автоматическое изменение (обновление) значения сигнала в блоках Запись в область памяти после каждого шага интегрирования (расчета).

6)  Изменить значение сигнала вручную можно, введя это значение в соответствующей ячейке столбца таблицы Задание и нажав после этого на клавиатуре клавишу Enter (Ввод).

7)  С помощью кнопки Р можно ввести режим ручного задания для всех сигналов в таблице, а с помощью кнопки  А – отменить этот режим для всех сигналов в таблице.

8)  Флаг в поле Только таблица «отрезает» верхнюю часть диалогового окна.

Примечания:

1.  В версиях ПК «МВТУ», выпущенных до сентября 2002 года, данный блок не поддерживается.

2.  В настоящее время данный блок апробирован для формирования протокола событий при проектном обосновании математической модели АСУ ТП реального времени для энергоблоков АЭС с реакторами ВВЭР нового поколения.


   Параметры «горячей» линии

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

Блок не имеет визуального образа в схемном окне и инициализируется после 2-х кратного щелчка левой клавишей «мыши» по линии связи в схемном окне.

Экранная копия информационного окна Параметры «горячей» линии, полученная при моделировании переходного процесса, представлена ниже:

В информационном окне Параметры «горячей» линии каждый сигнал, передаваемый по векторной линии связи, имеет номер. Запись 3:0.3445 (см. копию диалогового окна выше) означает, что 3-ий сигнал в векторной линии связи равен 0.3445.

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


  Структура библиотеки Данные

Блоки библиотеки Данные предназначены для реализации ряда операций с данными моделирования (расчета) и могут быть разделены (условно) на 3 группы блоков:

1)  Блоки графического отображения текущих результатов расчета:

Временной график

Фазовая плоскость

График y(t, x)

Вышеуказанные блоки используют унифицированное Графическое окно, настройка параметров которого (цвет и тип линии, параметры осей координат, параметры заголовка графика и подписей по осям координат и т.п.) выполняется в диалоговом окне Настройка.

2)  Блоки файловых операций с данными:

Запись данных в файл

Чтение данных из файла

Чтение данных из таблицы

Таблица данных из файла

Считывание строк из таблицы

Регистрация событий

3)  Блоки оперативного контроля данных расчета:

Просмотр значений в блоках общей памяти

Параметры "горячей" линии


Общие сведения о блоке «Язык программирования»

Блок «Язык программирования»  предназначен для создания блоков, выполняющих сложные операции, включая операции над матрицами, векторами, комплексными числами. Диалоговое окно этого блока - окно текстового редактора алгоритмов, в котором Пользователь записывает математическую модель в виде, близком к естественной записи. Интерпретатор языка программирования предварительно компилирует программу во внутренний псевдокод, что ускоряет выполнение задачи.

Блок «Язык программирования» обладает совместимостью с «Новым блоком».

Все конструкции языка делятся на константы, переменные, операции, математические выражения и декларации. В описании языка символами < > помечены обязательные идентификаторы. Символами { } помечены дополнительные идентификаторы.


Константы языка программирования
Константы

Числовые константы задаются в языке программирования стандартным образом, аналогично другим языкам высокого уровня. Формат задания чисел:

{<знак>}<целая часть>.<десятичная часть>{e<экспонента>}{i}.

Десятичный разделитель - точка. Символы i  j  I  J непосредственно после числа обозначают, что число является мнимым, например мнимая единица обозначается 1i.

Пример:

 	10        1.5         1.7e10       -10.5e-7    -1.1e-5i

Строковые константы – помечаются кавычками “”:  “строковое значение”

 Специальные встроенные константы:

 	e  = 2.7182818284590452353602874713527 	 - основание натурального логарифма

pi = 3.14159… 	 - число р


Переменные языка программирования
Переменные

Переменная – это именованная ячейка памяти, в которую можно записать или прочитать значение. Переменные могут быть созданы при помощи ключевых слов: var, const, init, output, input или автоматически – в соответствии с выражением, которое присваивается переменной, а также получены из Глобальных Параметров субмодели. Переменные могут иметь один из перечисленных стандартных типов:

Идентификатор типа 	Описание типа данных

INTEGER 	Целое значащее 32-битное число

COLOR 	Цвет – эквивалентен типу INTEGER

DOUBLE 	Действительное 64-битное число

BOOLEAN 	Двоичное 1-битное значение, может иметь значение или 1

COMPLEX	Комплексное 128-битное число. Имеет формат вывода a+{-}bi, где a – действительная часть, b – комплексная часть.

POINT	Геометрическая точка – эквивалентна комплексному числу, но имеет формат вывода (a,b), где a – действительная часть, b – мнимая часть.

STRING 	Строка

INTARRAY 	Массив целых чисел

ARRAY 	Массив действительных чисел

MATRIX 	Матрица действительных чисел

CARRAY 	Массив комплексных чисел

CMATRIX	Матрица комплексных чисел

В блоке доступны следующие системные переменные:

Переменная 	Тип данных 	Назначение

Time 	Вещественное (double) 	Модельное время

stepsize 	Вещественное (double) 	Шаг интегрирования

goodstep 	Двоичное (Boolean) 	Флаг «хорошего» шага

getderi	Двоичное (Boolean)	Флаг вычисления значений производных

Переменные могут задаваться при помощи следующих ключевых слов:

var

Формат:

var <имя переменной 1>{:<тип переменной 1>}{=<инициирующее выражение 1>}{,<имя переменной 2>{:<тип переменной 2>}{=<инициирующее выражение 2>}};

Описание:

Декларация новых переменных. Разделитель деклараций – запятая. Тип переменных по умолчанию – действительное число. Если перед именем переменной указано слово init (или dynamic), то такая переменная будет считаться динамической (см. описание ключевого слова init). Для декларации действительных  массивов и матриц можно пользоваться такой конструкцией:

    X[10]   – массив размерностью 10.

    M[2,3] – матрица из 2 строк и 3 столбцов.

Пример:

   var d:double = 0.5,I:integer,k = [1 5], init x = 10, dynamic v = 0;

const

Формат:

const <аналогично var>

Описание:

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

Пример:

const c =1, arr: array = [1, 6, 8];

input

Формат:

input <аналогично var>;

Описание:

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

Пример:

input a,b,c;

output

Формат:

output <аналогично var>;

Описание:

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

Пример:

output d,e,f;

init

Формат:

init <аналогично var>

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

   X’ = f(X);

Пример:

init x1=0,x2=0,x3=[0,1];


Ссылки и динамическое выделение памяти

Язык программирования допускает использование доступа к переменным при помощи ссылок.

Ссылка – это вещественное 64-битное число, первые 4 байта которого представляют собой адрес области данных, а вторые 4 байта – идентификатор типа данных ссылки, который используется для контроля доступа.

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

Формат оператора:   @<переменная или функция>

Для того чтобы получить доступ к переменной по ссылке используется функция типизированного доступа    ~…  .

Формат функции:    ~<идентификатор типа данных>(<ссылка на переменную>)

Пример:

//Статическое определение переменной

var k:integer = 10;

//Получение ссылки статической переменной

ptr = @k;

//Запись в переменную по ссылке

~integer(ptr) = 1000;

//Чтение переменной по ссылке

y=~integer(ptr)

Память под переменные может быть выделена и освобождена динамически.

Для динамического выделения памяти используется функция    new~…

Формат функции:    new~<идентификатор типа данных>

Для освобождения памяти используется функция    dispose.

Формат функции:    dispose(<ссылка на переменную>)

Пример динамического выделения памяти:

//Выделение памяти под переменную типа «матрица»

ptr = new~matrix;

//Запись данных в переменную

~matrix(ptr)=[[1,2],[3,4]];

//Доступ к переменной по ссылке

y = ~matrix(ptr)[1,2];

//Освобождение памяти под перменную

dispose(ptr);

Примечание:    неправильное использование ссылок может привести к серьёзным сбоям в программе. Не используйте их без необходимости.


Сложные типы данных - записи
Сложные типы данных:

Кроме стандартных типов переменных могут быть переменные сложного типа – записи.

Запись декларируется при указании типа данных переменной в соответствии со следующим форматом:

(<имя поля 1>{:<тип поля 1>}{=<начальное значение поля 1>}{…})

Пример:

var  newrec : (x = 0.0 , y = 0.0);

Примечание: поля внутри декларации сложного типа определяются аналогично ключевому слову var.

Доступ к полю сложной переменной производится при помощи оператора « -> » в соответствии со следующим форматом:

<имя записи> -> <имя поля записи>

Пример:

A = newrec->x;


Операторы языка программирования
Операторы:

-

Формат:

-<выражение> или <выражение 1>-<выражение 2>

Описание: отрицание выражения или вычитание из одного выражения второго, матрицы и вектора вычитаются поэлементно. Размерности векторов и матриц должны совпадать.

Пример: 1.2 + 4

+

Формат:

<выражение 1>+<выражение 2>

Описание: сложение двух выражений. Для строк сложение соответствует конкатенации. Матрицы и вектора складываются поэлементно.

Пример:  12.3 - 10

*

Формат:

<множитель 1>*<множитель 2>

Описание: перемножение двух выражений. Вектора перемножаются поэлементно. Матрицы перемножаются по правилам для матриц.

Пример: 13*4

/

Формат:  <делимое>/<делитель>

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

Пример:      3/10         [1,1]/[10,20]

\

Формат: <матрица A>\<матрица B>

Описание: Обратное деление матриц. Соответствует операции A-1*B

Пример: [[1,2],[3,4]]\ [[4,6],[9,4]]

^

Формат: <базовое значение>^<степень>

Описание: Возведение первого выражение в степень второго. Вектора обрабатываются поэлементно. Матрицы возводятся в целую степень по правилам умножения матриц. Для возведения матрицы в степень поэлементно используйте оператор .^

Пример: 2^3

.*

Формат: <матрица 1>.*<матрица 2>

Описание: Поэлементное перемножение действительных или комплексных матриц.

Пример: [[1,2],[3,4]].*[[4,6],[9,4]]

./

Формат: <матрица 1>./<матрица 2>

Описание: Поэлементное деление действительных или комплексных матриц.

Пример: [[1,2],[3,4]]./[[4,6],[9,4]]

.^

Формат: <матрица 1>.^<матрица 2>

Описание: Поэлементное возведение в степень двух матриц или матрицы в действительную степень.

Пример: [[1,2],[3,4]].^[[4,6],[9,4]]

!

Формат: <целое число>!

Описание: Вычисление факториала целого числа

Пример: 10!

..

Формат: a..b

Описание: Вычисление интервала целых чисел от a до b.

Пример:

 1..4  обозначает [1,2,3,4]

#

Формат: A#B

Описание: Размножение числа B в вектор размерностью A.

Пример: 3#0.1 обозначает [0.1, 0.1, 0.1]

=

Формат: <выражение 1>  =  <выражение 2>

Описание: 1. Оператор присваивания. 2. Оператор сравнения выражений, если равны – возвращает логическую единицу.

<>

Формат: <выражение 1>  <>  <выражение 2>

Описание: Возвращает логическую 1, если выражения не равны.

>

Формат: <выражение 1>  >  <выражение 2>

Описание: Возвращает логическую 1, если первое выражение больше второго. Для строк сравнивается длина.

<

Формат: <выражение 1>  <  <выражение 2>

Описание: Возвращает логическую 1, если первое выражение меньше второго. Для строк сравнивается длина.

>=

Формат: <выражение 1>  >=  <выражение 2>

Описание: Возвращает логическую 1, если первое выражение больше или равно второму. Для строк сравнивается длина.

<=

Формат: <выражение 1>  <=  <выражение 2>

Описание: Возвращает логическую 1, если первое выражение меньше или равно второму. Для строк сравнивается длина.

not

Формат: not <логическое или целочисленное выражение>

Описание: оператор целочисленного или логического отрицания.

Пример: not (A > 10)

or

Формат: <выражение 1> or <выражение 2>

Описание: Побитовая операция ИЛИ.

and

Формат: <выражение 1> and <выражение 2>

Описание: Побитовая операция И.

xor

Формат: <выражение 1> xor <выражение 2>

Описание: Побитовая операция ИСКЛЮЧАЮЩЕЕ ИЛИ.

div

Формат: <делимое> div <делитель>

Описание: Целочисленное деление.

mod

Формат: <делимое> mod <делитель>

Описание: Остаток от целочисленного деления.

shl

Формат: <число> shl  <количество сдвигов>

Описание: Циклический побитовый сдвиг влево.

shr

Формат: <число> shr  <количество сдвигов>

Описание: Циклический побитовый сдвиг вправо.

Скобки

При записи выражений операторы имеют разный приоритет, т.е. например выражение 10 + 3*4 будет означать, что сначала будет выполнено умножение 3*4, а потом к 10 будет прибавлен результат умножения, т.к. оператор умножения имеет больший приоритет, чем оператор сложения или вычитания. Если операторы имеют равный приоритет, то они будут выполняться последовательно. Если приоритет оператора выше, то он будет выполнен перед тем, как будет выполнен оператор с более низким приоритетом. Приоритеты можно задавать математическими скобками:  ( ). Выражение заключённое в скобках будет выполнено раньше, чем оператор действующий на эти скобки.

Пример использования математических скобок:        10*(1 + 4)

( )

Формат: (<действительная часть>,<мнимая часть>)

Описание: Упаковка действительных чисел (векторов, матриц) в комплексное (комплексный вектор, матрицу). Допустимо написание частей комплексного числа через пробел или точку с запятой.

Пример: (10,  5)

[ ]

Формат:

1.	[<элемент 1>{,<элемент 2>}]

2.	<массив или матрица>[<номер элемента или строки>{,<номер столбца>}]

Описание:

1. Упаковка элементов в массив. Если элементы – действительные или целые числа, то результат – вектор действительных чисел. Если элементы – векторы действительных чисел, результат – матрица действительных чисел. Если элементы – комплексные числа, то результат – вектор комплексных чисел. Если элементы – векторы комплексных чисел, результат – матрица комплексных чисел. Разделителем элементов может быть запятая, точка с запятой или пробел.

Примечание: если элемент вектора отрицательное число  (-0.23), то данный элемент в векторе должен отделяться от предыдущего запятой.

Пример:

  X = [0,  -0.23 2 3]  - правильно.

  X = [0 -0.23 2 3] – неправильно.

Вектора и матрицы можно присваивать, при этом элементы должны быть переменными.

Примечание: скобки массивов [] могут использоваться для декларации действительных массивов и матриц аналогично «Новому блоку» - см. описание ключевого слова var.

Пример:

а). Вектор

  [1, 4.5, 7] или [1 4.5 7]

б). Матрица

  [[1,2],[6,7]] или [[1 2];[6 7]]

в). Присваивание элементов массива

  [a,b] = [1, 2]

2. Возвращает значение элемента с указанным номером. Нумерация начинается с 1. Тип возвращаемого значения соответствует типу элементов массива. Если для матрицы указывается один индекс, то возвращается вектор-строка матрицы, если 2 – возвращается число. Этот оператор может быть присвоен. Разделителем элементов может быть запятая, точка с запятой или пробел.

Пример:

   а). Доступ             A=C[1,1]

                                 k=arr[i]

   б). Присваивание  C[1,1] = 10

                                 k[3] = 4


Секции

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

initialization

  <операция 1>;

  <операция 2>;

end;

Описание: Задание секции инициализации. Операция внутри секции будут выполнены только один раз при запуске вычислений. В пределах блока можно задавать несколько секций инициализации. Операции вне этих секций выполняются на каждом шаге.

finalization

  <операция 1>;

  <операция 2>;

end;

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


Пользовательские функции

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

Пользовательские функции задаются при помощи ключевых слов:

function

…

end;

или

procedure

…

end;

Формат задания пользовательской функции следующий:

function <Имя функции>(<имя входной переменной 1>{:<тип входной переменной 1>}{=<инициирующее выражение 1>}{,out <имя выходной переменной>{:<тип выходной переменной>}{=<инициирующее выражение>}})  {:<тип выходного значения>}

  <операции выполняемые при

           вызове функции>;

end;

Значение функции может быть не присвоено. Выходные переменные декларируются словом out – в такую переменную функция записывает значение.  Если тип значения функции не указан, то он определяется автоматически по типу выражения где присваивается выходное значение функции. Вместо function можно использовать procedure. Если типы параметров функции не указаны, то при создании кода функции типы принимаются как у операндов при соответствующем вызове.

Например, для функции декларированной следующим образом:

Function PolyF(A,B)

PolyF = A*A + B*B;

End;

Если при вызове операнды A и B будут действительными числами, то результат тоже будет действительным числом. Если A и B будут векторами – то результат будет вектором.

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

function <имя функции>=<имя ранее определённой функции>

Пример:

function SumQ(A,out R:integer):complex

//Присвавание значений функции

SumQ = sqr(A);

//Присваивание выходной

//       переменной

R = round(real(SumQ));

end;

//Переопределение SumQ как FSum

function Fsum=SumQ;

Язык программирования позволяет создавать также библиотеки функций в виде текстовых файлов. Это может быть сделано при помощи ключевого слова include. Оно позволяет загрузить фрагмент программы из текстового файла. Формат ключевого слова:

include “filename.txt”;


Стандартные конструкции языка программирования
Стандартные конструкции и операции языка программирования

Операторные скобки.

begin

  <операция 1>;

  <операция 2>;

end

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

Пример:

  begin

    I = 10;

    J = 5;

  end;

Условные переходы

if

<условие или логическое выражение>

then

<операция при выполнении условия>

else <операция при невыполнении условия>;

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

Пример: If k > 0 then k = 0 else begin k = -1;i = 0 end;

Безусловные переходы

Безусловный переход осуществляется при помощи оператора goto. Формат оператора:

goto <имя метки>;

Безусловный переход к операции, помеченной меткой. Безусловные переходы могут быть осуществлены  только в пределах одного программного блока (функции или секции алгоритма). Метки задаются перед операциями следующим образом:

  <имя метки> :

      <операция назначения>;

Пример:

  Label1:

       i = i + 1;

  if I < 10 then goto Label1;

Для выхода из текущего программного блока можно использовать оператор exit.

Пример:

if i < 10 then exit;

Циклы.

Язык программирования поддерживает три типа циклов:

1) Цикл с предусловием

while <условие цикла> do <операция выполняемая в цикле>;

Описание: Выполнение операции пока выполняется условие цикла.

Пример: while I < 10 do I = I + 1;

2) Цикл с постусловием

repeat

  <операция 1>;

  <операция 2>;

until <условие выхода>;

Описание: Выполнение операций заключённых между repeat и until, до тех пор пока не будет выполнено условие выхода из цикла.

Пример:

  repeat

     I = I + 1;

  until I = 10;

3) Конечный цикл

for (<операция присваивания переменной цикла>,<конечное значение>{,<шаг переменной цикла>}) <операция цикла>;

Описание: Операция выполняется, пока значение переменной цикла не достигнет конечного значения. На каждом шаге значение переменной изменяется на величину равную указанному шагу. Если шаг не указан, то он равен 1 или -1 в зависимости от того больше конечное значение начального или меньше.

Пример:for (i=0.1,1,0.2) k = k + i*2;

Параллельное выполнение нескольких заданий в разных потоках

process

<задача 1>;

<задача 2>;

end;

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

Пример:

   function Proc(A,out Y)

     Y = A^3 + 10*A – 1;

   end;

   Var r1,r2;

   process

     Proc(10,r1);

     Proc(26,r2);

   end;

Компиляция времени выполнения

Язык программирования позволяет компилировать текстовые выражения непосредственно при выполнении программы. Это может быть осуществлено при помощи ключевого слова eval. Формат:

eval(<строковая переменная>)

Операции присваивания

Присваивание осуществляется при помощи оператора = в соответствии со следующим форматом:

<имя переменной или функция доступа переменной> = <выражение>

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

Пример:

   A = 10;

   Var M:matrix;

   M=[[0,1],[1,0]];

   M[1,1] = sin(10);

Выполнение процедур (подпрограмм)

Выполнение процедуры задаётся следующим образом:

<имя функции или процедуры>{(<параметр 1>{,<параметр 2>})}

Функция может не иметь параметров. Некоторые функции допускают обратное присваивание, например:    real(C)=10  - присваивание действительной части комплексного числа.

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

Пример:

rotate(Obj,0,0,pi/4);

sin(A);


Условная компиляция
Условная компиляция программ

Язык программирования позволяет компилировать программу частично в соответствии с заданными условиями.

Условие компиляции задаётся при помощи ключевого слова define следующим образом:

define <Имя условия>

Убрать условие компиляции можно при помощи ключевого слова undefine:

undefine <Имя условия>

Условная компиляция задаётся при помощи ключевого слова ifdef (прямое условие) или ifndef (обратное условие).  Формат:

ifdef <Имя условия компиляции>

…

elseif

…

endif

Если условие задано ранее оператором define, то будет скомпилирован текст  непосредственно после ifdef, если условие не задано, то будет скомпилирован текст после elseif. Для ключевого слова ifndef  условие обратное, т.е. если условие задано, то компилируется текст после elseif, а если не задано – то после ifndef.

Пример:

define f_1;

ifdef f_1

  Y = sin(X);

elseif

  Y = cos(X);

endif


Функции языка программирования
Стандартные функции языка программирования

Символом  *  помечены функции, аргументами которых могут быть вектора соответствующих типов данных. Символом   **  помечены функции, аргументами которых могут являться вектора и матрицы соответствующих типов данных. Функция выполняется для каждого элемента матрицы или вектора.

sin **

Формат: sin(<аргумент>)

Описание: Синус действительного или комплексного числа

cos**

Формат: cos(<аргумент>)

Описание: Косинус действительного или комплексного числа

tg**

Формат: tg(<аргумент>)

Описание: Тангенс действительного или комплексного числа

сtg**

Формат: ctg(<аргумент>)

Описание: Котангенс действительного или комплексного числа

arctg**

Формат: arctg(<аргумент>)

Описание: Арктангенс действительного или комплексного числа

arcsin**

Формат: arcsin(<аргумент>)

Описание: Арксинус действительного или комплексного числа

arccos**

Формат: arccos(<аргумент>)

Описание: Арккосинус действительного или комплексного числа

exp**

Формат: exp(<аргумент>)

Описание: Экспонента действительного или комплексного числа

ln**

Формат: ln(<аргумент>)

Описание: Натуральный логарифм действительного или комплексного числа

lg**

Формат: lg(<аргумент>)

Описание: Десятичный логарифм действительного или комплексного числа

real**

Формат: real(<аргумент>)

Описание: Действительная часть комплексного числа. Может быть присвоена.

imag**

Формат: imag(<аргумент>)

Описание: Мнимая часть комплексного числа. Может быть присвоена.

xcoord**

Формат: xccord(<аргумент>)

Описание: Координата X точки. Может быть присвоена.

ycoord**

Формат: ycoord(<аргумент>)

Описание: Координата Y точки. Может быть присвоена.

sh**

Формат: sh(<аргумент>)

Описание: Гиперболический синус действительного или комплексного числа

сh**

Формат: ch(<аргумент>)

Описание: Гиперболический косинус действительного или комплексного числа

th**

Формат: th(<аргумент>)

Описание: Гиперболический тангенс действительного или комплексного числа

arcsh**

Формат: arcsh(<аргумент>)

Описание: Гиперболический арксинус действительного или комплексного числа

arcch**

Формат: arcch(<аргумент>)

Описание: Гиперболический арккосинус действительного или комплексного числа

arcth**

Формат: arcth(<аргумент>)

Описание: Гиперболический арктангенс действительного или комплексного числа

complex**

Формат: complex(<действительная часть>,<мнимая часть>)

Описание: Упаковка действительных чисел в комплексное.

sqrt**

Формат: sqrt(<аргумент>)

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

sqr**

Формат: sqr(<аргумент>)

Описание: Полный квадратный корень действительного числа. Возвращаемое значение – комплексное.

abs**

Формат: abs(<аргумент>)

Описание: Модуль действительного или комплексного числа или вектора.

root**

Формат: root(<степень>,<выражение>)

Описание: Корень произвольной степени действительного или комплексного числа. Для действительных чисел при чётных степенях аргумент должен быть положителен. Степень должна быть скалярной.

besseli0**

Формат: besseli0(<аргумент>)

Описание: Модифицированная функция Бесселя I нулевого порядка

besseli1**

Формат: besseli1(<аргумент>)

Описание: Модифицированная функция Бесселя I первого порядка

besseli**

Формат: besseli(<порядок>,<аргумент>)

Описание: Модифицированная функция Бесселя I  порядка больше чем 2. Порядок всегда должен быть скалярным.

besselj0**

Формат: besselj0(<аргумент>)

Описание: Модифицированная функция Бесселя J нулевого порядка

besselj1**

Формат: besselj0(<аргумент>)

Описание: Модифицированная функция Бесселя J первого порядка

besselj**

Формат: besselj(<порядок>,<аргумент>)

Описание: Модифицированная функция Бесселя J  порядка больше чем 2. Порядок всегда должен быть скалярным.

besselk0**

Формат: besselk0(<аргумент>)

Описание: Модифицированная функция Бесселя K нулевого порядка

besselk1**

Формат: besselk0(<аргумент>)

Описание: Модифицированная функция Бесселя K первого порядка

besselk**

Формат: besselk (<порядок>,<аргумент>)

Описание: Модифицированная функция Бесселя K  порядка больше чем 2. Порядок всегда должен быть скалярным.

bessely0**

Формат: bessely0(<аргумент>)

Описание: Модифицированная функция Бесселя Y нулевого порядка

bessely1**

Формат: bessely0(<аргумент>)

Описание: Модифицированная функция Бесселя Y первого порядка

bessely**

Формат: bessely(<порядок>,<аргумент>)

Описание: Модифицированная функция Бесселя Y  порядка больше чем 2. Порядок всегда должен быть скалярным.

gamma**

Формат: gamma(<аргумент>)

Описание: Полная Гамма-функция

gammln**

Формат: gammln(<аргумент>)

Описание: Логарифм полной Гамма-функции

gammp**

Формат: gammp(a,x)

Описание: Частичная Гамма-функция P(a,x). Если аргументы – матрицы или ветора, то их размерности должны совпадать.

gammq**

Формат: gammq(a,x)

Описание: Частичная Гамма-функция Q(a,x). Если аргументы – матрицы, то их размерности должны совпадать.

erf**

Формат: erf(<аргумент>)

Описание: Функция ошибок Гаусса

erfc**

Формат: erfc(<аргумент>)

Описание: Сопряжённая функция ошибок Гаусса

arg**

Формат: arg(<комплексное число>)

Описание: Аргумент комплексного числа.

min

Формат: min(<аргумент>{,<аргумент2>})

Описание: Вычисление минимального из двух значений или минимального значение из заданного вектора.

max

Формат: max(<аргумент>{,<аргкмент2>})

Описание: Вычисление максимального из двух значений или максимального значение из заданного вектора.

transp

Формат: transp(<матрица или вектор>)

Описание: Транспонирование матрицы или вектора

poly

Формат: poly(<действительная матрица>)

Описание: Вычисление характеристического полинома вещественной матрицы. Формат вектора полинома:   [a,b,c..]= a+b*x+c*x2

polyval**

Формат: polyval(<вектор полинома>,<аргумент>)

Описание: Вычисление значения полинома действительного или комплексного аргумента. Аргумент может быть вектором.

polyroots

Формат: polyroots(<действительный вектор полинома>)

Описание: Вычисление корней полинома.

eig

Формат: eig(<действительная матрица>)

Описание: Вычисление собственных чисел вещественной матрицы. Соответствует выражению: polyroots(poly(A))

polyder

Формат: polyder(<вектор полинома>)

Описание: Вычисление производной полинома

polyadd

Формат: polyadd(A,B)

Описание: Сложение полиномов, заданных векторами A и B.

polysub

Формат: polysub(A,B)

Описание: Вычитание полиномов A и B.

conv

Формат: conv(A,B)

Описание: Перемножение полиномов A и B.

deconv

Формат: C=deconv(A,B,D)

Описание: Возвращает результат деления полинома A на полином B. Выходной параметр D – числитель остатка от деления   A/B = C + D/B

Пример:

  var d:array;

  C = deconv([1,2,3],[2,4],d);

vector

Формат: vector(N)

Описание: Возвращает нулевой вектор, размерностью N.

matrix

Формат: matrix(N,M)

Описание: Возвращает нулевую матрицу, состоящую из N строк и M столбцов.

vector1

Формат: vector1(N)

Описание: Возвращает вектор единиц, размерностью N.

matrix1

Формат: matrix1(N,M)

Описание: Возвращает матрицу единиц, состоящую из N строк и M столбцов.

vectorize

Формат: vectorize(x,func(x),x_vector)

Описание: Вычисление вектора значений скалярной функции func(X) по вектору значений аргумента X_vector.

Пример:

x=0;

X_vector=[1,2,3,5];

Y_vector=vectorize(x,x^2 + 1,X_vector);

eye

Формат: eye(N)

Описание: Возвращает единичную матрицу размерностью N x N.

limit**

Формат: limit(X, MinX, MaxX)

Описание: Возвращает значение ограниченное в интервале [MinX,MaxX].

proportion

Формат: proportion(X, MinimumX, MaximumX, MinimumY, MaximumY)

Описание: Линейная интерполяция переменной X в интервале значений аргумента X [MinimumX, MaximumX], и значений функции Y [MinimumY, MaximumY].

color

Формат: color(X,minX,maxX,minColor,maxColor)

Описание: Линейная интерполяция цвета, где аргумент заключён в интервале [minX, maxX], а цвет варьируется в интервале [minColor, maxColor].

middle

Формат: middle(P1,P2)

Описание: Вычисление координаты середины отрезка, заданного координатами концов (P1, P2).

distance

Формат: distance(P1,P2)

Описание: Вычисление расстояния между точками P1 и P2.

getangle

Формат: getangle(P1,P2)

Описание: Вычисление угла между полярной осью ((0,0),(+?,0)) и вектором (P1,P2), где P1 – координата начала вектора, P2 – координата конца вектора.

center

Формат: center(P1,P2,P3)

Описание: Вычисление центра окружности, заданной тремя точками P1, P2, P3.

excenter

Формат: excenter(P1,P2,Point)

Описание: Вычисление расстояния от точки Point, до прямой (P1, P2).

slide

Формат: slide(P1,P2,StartP,EndP,L)

Описание: Вычисление координаты точки, принадлежащей прямой (P1, P2), имеющую начальную координату EndP и находящейся на расстоянии L от точки StartP.

linspace

Формат: linspace(Min, Max, Count)

Описание: Вычисление вектора арифметической прогрессии от значения Min до значения Max, размерностью Count.

logspace

Формат: logspace(lg(Min), lg(Max), Count)

Описание: Вычисление вектора десятичного логарифма арифметической прогрессии от значения Min до значения Max, размерностью Count.

inv

Формат: inv(A)

Описание: Вычисление обратной матрицы  квадратной матрицы A. Для обращения матриц можно использовать операцию деления матриц.

det

Формат: det(A)

Описание: Вычисление детерминанта матрицы A.

lsolve

Формат: lsolve(A,b)

Описание: Возвращает вектор решений СЛАУ A*x = b, где A – матрица системы, b – вектор правых частей, x – вектор решений.

Пример

  	X = lsolve([[1 2],[2, -3]],[3, -1]);

Ответ: x = [1 1]

rows

Формат: rows(X)

Описание: Возвращает количество строк матрицы. Для векторов всегда 1.

cols

Формат: cols(X)

Описание: Возвращает количество столбцов матрицы или количество элементов массива (вектора).

rand

Формат: rand

Описание: Генератор равномерного шума в диапазоне значений [0, 1].

randg

Формат: randg(M,S)

Описание: Генератор Гуссовского шума с математическим ожиданием M и дисперсией S.

randp

Формат: randp(M)

Описание: Генератор случайных целых чисел с распределением Пуассона с математическим ожиданием M.

randgamma

Формат: randgamma(P)

Описание: Генератор шума с Гамма-распределением порядка P.

fft

Формат: fft(X)

Описание: Вычисляет прямое дискретное преобразование Фурье вектора X методом быстрого преобразования Фурье. Размер вектора должен быть степенью 2.

ifft

Формат: ifft(X)

Описание: Вычисляет обратное дискретное преобразование Фурье вектора X методом быстрого преобразования Фурье. Размер вектора должен быть степенью 2.

sum

Формат: sum(X)

Описание: Суммирование элементов действительного или комплексного вектора X.

mean

Формат: mean(X)

Описание: Вычисление среднего значения элементов действительного вектора X.

rms

Формат: rms(X)

Описание: Вычисление среднеквадратичного отклонения элементов действительного вектора X.

sort

Формат: sort(X)

Описание: Сортировка вектора по возрастанию значений. Для комплекных векторов сортировка ведётся по модулям чисел.

invsort

Формат: invsort(X)

Описание: Сортировка вектора по убыванию значений. Для комплекных векторов сортировка ведётся по модулям чисел.

moment3

Формат: moment3(X)

Описание: Возвращает значение 3-го момента вектора X (коэффициент эксцесса).

moment4

Формат: moment(X)

Описание: Возвращает значение 4-го момента вектора X (фактор сплющиваемости). Для распределения Гаусса равен 3.

diag

Формат: diag(X)

Описание: Возвращает диагональную матрицу, у которой диагональные элементы равны элемента вектора X.

extract

Формат: 	extract(<вектор>,<вектор номеров элементов>)  или

extract(<матрица>,<вектор номеров строк>,<вектор номеров столбцов>)

Описание: Извлечение из вектора элементов с номерами, записанными в векторе номеров. Или извлечение из матрицы субматрицы, по векторам номеров строк и столбцов.

Пример:

  V1 = extract([0.5,1,4],[1,2]);

  Ответ: V1 = [0.5,1]

norm1

Формат: norm1(<матрица>)

Описание: Вычисление нормы 1-й степени действительной матрицы.

normi

Формат: normi(<матрица>)

Описание: Вычисление бесконечной нормы   действительной матрицы.

rcond

Формат: rcond(<матрица>)

Описание: Вычисление значения обратного чилу обусловленности матрицы:            rcond=1/(norm1(A)*norm1(inv(A)))

linterp

Формат: linterp(X,Y)

Описание: Вычисление матрицы коэффициентов для линейной интерполяции по исходным массивам аргументов X и функции Y.

cspline

Формат: cspline(X,Y)

Описание: Вычисление матрицы коэффициентов для кубической сплайн-интерполяции

interpol

Формат: interpol(x,M)

Описание: Сплайн-интерполяция аргумента x по вычисленной ранее при помощи функций матрице коэффициентов M. Вычисление производится согласно формуле:

где i – индекс интервала

Пример – линейная интерполяция:

 	M = linterp([1, 2, 3],[0.3, 0.4, 0.2]);

Y  = interpol(1.3,M);

Пример – кубическая интерполяция:

M = cspline([1, 2, 3],[0.3, 0.4, 0.2]);

Y  = interpol(2.1,M);

mnkpoly

Формат: mnkpoly(X,Y,Sigm,N)  или  mnkpoly(X,Y,N)

Описание: Вычисляет коэффициенты полинома N-й степени, аппроксимирующего таблично заданную функцию Y(X), с заданным среднеквадратичным отклонением для каждой точки Sigm. Вычисление производится при помощи сингулярного матричного преобразования (SVD). Если значения среднеквадратического отклонения не известны, их можно задавать равными единице.

Пример:

initialization

  X = [0,   1 ,   6,   9];

  Y = [-1,  5,   0,   4];

  S = [0.1, 0.5 0.7  0.4];

  P = mnkpoly(X,Y,S,2);

end;

y = polyval(P,x);

savetab

Формат: savetab(M,”имя файла”)

Описание: Сохранение матрицы в текстовый файл. Матрица будет сохранена в транспонированном виде, т.е. строкам матрицы будут соответствовать столбцы в текстовом файле.

loadtab

Формат: loadtab(“имя файла”)

Описание: Загрузка матрицы из текстового файла. Матрица загружается в транспонированном виде, т.е. столбцам текста соответствуют строки матрицы.


Примеры применения блока «Язык программирования»
Примеры применения блока «Язык программирования»:

1. «Сухое трение»

?Этот пример заимствован из демонстрационных примеров системы MATLAB (Stick-Slip Friction Demonstration, файл sf_stickslip.mdl) и демонстрирует движение тела, прикрепленного к пружине, под действием внешней силы и с учетом сухого трения (см рисунок).

Параметры модели:

   	M = 0.001  -   масса тела, кг;

   	K = 1         -   упругость пружины, Н/м;

   	Fstatic=1    -   сила трения покоя, Н (сила, которую нужно приложить,

                         чтобы сдвинуть тело с места);

   	Fsliding=1  -   сила трения движения, Н.

Рекомендуется выполнить моделирование также с измененными параметрами (например, задайте M=0.01, Fsliding=0.1).

Внешняя сила Fin изменяется по пилообразному закону с амлитудой 5 Н и периодом 10 с. Тело находится в состоянии покоя (V' = 0, V = 0) до тех пор, пока суммарная сила Fsum (внешняя сила + сила воздействия пружины)  не превысит Fstatic. В состоянии движения уравнения имеют вид:

V' = (Fsum - Fsliding*sign(V))/M,   X' = V.

Блок "Язык программирования" позволил сделать модель простой и понятной(сравните с аналогичной моделью, реализованной в Simulink). Заметим, что в ПК "МВТУ" этот пример считается примерно в 100 раз быстрее, чем в Simulink.

Рис. 1. Экранная копия редактора алгоритмов.

Рис. 2. Экранная копия схемного окна.


   Полость

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

Блок имеет 1 входной порт и 1 выходной порт.

На входной порт блока подается сигнал, равный объемному расходу сжатия Qсж, м^3/c

На выходном порте блока формируется сигнал, равный давлению в полости Р, Па.

Блок имеет 5 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Максимальное давление в полости Pmax, Па;

Во 2-й диалоговой строке задать – Минимальное давление в полости Pmin, Па;

В 3-й диалоговой строке задать – Модуль объемной упругости жидкости Еж, Па;

В 4-й диалоговой строке задать – Объем полости V, м^3;

В 5-й диалоговой строке задать – Начальный объем сжатия Vсж, м^3

Примеры заполнения диалогового окна:

Рабочая жидкость, имеющая модуль объемной упругости 0.9 ГПа, поступает в напорный трубопровод гидропривода, имеющий объем 2.5 дм^3. Давление в гидролинии при наличии устройств гидроавтоматики может изменяться в пределах от 1.5 до 21 МПа.

Числовое задание параметров:

1-я диалоговая строка  - 2.1е7

2-я диалоговая строка  - 1.5е6

3-я диалоговая строка  - 9е8

4-я диалоговая строка  - 2.5е-3

5-я диалоговая строка  - 0

Символьное задание параметров:

1-я диалоговая строка  - P_max

2-я диалоговая строка  - P_min

3-я диалоговая строка  - E_ж

4-я диалоговая строка  - V

5-я диалоговая строка  - V_o

Примечания:

1.	Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров Проекта…).

2.	Если начальный объем сжатия Vсж задан равным 0 (нулю), то начальное условие для давления равно Pmin .

3.	Если объем полости постоянен (во времени), то объемный расход сжатия Qсж  равен объемному расходу рабочей жидкости Q(t).

4.	Если объем полости переменен (во времени), то объемный расход сжатия Qсж = Q(t) – dV/dt. В этом случае объем полости V задается как глобальный параметр (в окне Редактора глобальных параметров Проекта…).

5.	Если модуль объемной упругости рабочей жидкости Еж  зависит от давления нелинейно, например, при наличии в жидкости нерастворенного газа (воздуха), то Еж должен быть задан с использованием механизма глобальных параметров

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


   Насос

Блок реализует математическую модель динамики насоса c регулируемым рабочим объемом в составе гидропривода (ГП) с короткими трубопроводами. Формирует силовое воздействие на приводной двигатель по моменту.

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

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

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

Блок имеет 3 входных порта и 2 выходных порта.

Входные порты:

На 1-ый входной порт (сверху) подается сигнал, соответствующий скорости вала насоса Omn;

На 2-ой входной порт (снизу) подается векторный сигнал, соответствующий давлениям Р1 и Р2 в гидролиниях насоса (давление нагнетания и давление в сливной полости, соответственно);

На 3-ий входной порт (слева) подается сигнал, соответствующий углу поворота g регулирующего органа насоса.

Выходные порты:

На 1-ом выходном порте (справа) формируется векторный сигнал, соответствующий объемным расходам рабочей жидкости Qn1 и Qn2, подаваемым в трубопроводы (размерность выходного вектора равна 2);

На 2-ом выходном порте (снизу) формируется сигнал, соответствующий моменту Mn на валу насоса;

Блок имеет 5 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Максимальный угол поворота  gmax, рад;

Во 2-й диалоговой строке задать – Характерный объем насоса  wgn, м^3/рад;

В 3-й диалоговой строке задать – Коэффициент утечек в дренаж  Ly, м^3*с/Па;

В 4-й диалоговой строке задать – Коэффициент перетечек между полостями  Lp, м^3*с/Па

В 5-й диалоговой строке выбрать – Тип насоса (аксиально-поршневой, аксиально-плунжерный, радиально-поршневой).

Примеры заполнения диалогового окна:

Аксиально-плунжерный регулируемый насос имеет характерный рабочий объем  3.74e-5 м3/рад в составе гидропривода (ГП) подключен к гидродвигателю (ГД) с помощью двух коротких трубопроводов. Угол поворота наклонного диска изменяется гидроусилителем (ГУ) в пределах   0.279 рад. Вал насоса соединен с ротором асинхронного электродвигателя неограниченной мощности, значение угловой скорости вала которого можно полагать постоянной и равной 262 рад/с. Объемные потери ГД приведены к насосу, при этом суммарные для насоса и ГД коэффициенты утечек и перетечек равны 1.2е-11 м^3*с/Па и 1е-11 м^3*с/Па, соответственно.  Давление нагнетания равно 21 МПа, а давление в сливной полости равно 1.5 МПа.

Числовое задание параметров:

1-я диалоговая строка  - 0.279

2-я диалоговая строка  - 3.74е-5

3-я диалоговая строка  - 1.2е-11

4-я диалоговая строка  - 1е-11

5-я диалоговая строка  - аксиально-плунжерный

Символьное задание параметров:

1-я диалоговая строка  - g_max

2-я диалоговая строка  - w_gn

3-я диалоговая строка  - Ly

4-я диалоговая строка  - Lp

5-я диалоговая строка  - аксиально-плунжерный

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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

3. Если применена модель приводного двигателя неограниченной мощности, то необходимо считать, что Omn = Const.


   Насос с компрессионными потерями

Блок реализует математическую модель насоса c регулируемым рабочим объемом в составе гидропривода  с короткими трубопроводами. Формирует силовое воздействие на приводной двигатель по моменту.

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

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

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

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

Блок имеет 3 входных порта и 2 выходных порта.

Входные порты:

На 1-ый входной порт (сверху) подается сигнал, соответствующий скорости вала насоса Omn;

На 2-ой входной порт (снизу) подается векторный сигнал, соответствующий давлениям Р1 и Р2 в гидролиниях насоса (давление нагнетания и давление в сливной полости, соответственно);

На 3-ий входной порт (слева) подается сигнал, соответствующий углу поворота g регулирующего органа насоса.

Выходные порты:

На 1-ом выходном порте (справа) формируется векторный сигнал, соответствующий объемным расходам рабочей жидкости Qn1 и Qn2, подаваемым в трубопроводы (размерность выходного вектора равна 2);

На 2-ом выходном порте (снизу) формируется сигнал, соответствующий моменту Mn на валу насоса;

Блок имеет 7 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Максимальный угол поворота  gmax, рад;

Во 2-й диалоговой строке задать – Характерный объем насоса  wgn, м^3/рад;

В 3-й диалоговой строке задать – Коэффициент утечек в дренаж  Ly, м^3*с/Па;

В 4-й диалоговой строке задать – Коэффициент перетечек между полостями  Lp, м^3*с/Па

В 5-й диалоговой строке выбрать – Тип насоса (аксиально-поршневой, аксиально-плунжерный, радиально-поршневой).

В 6-й диалоговой строке задать – Модуль объемной упругости рабочей жидкости Еж, Па;

В 7-й диалоговой строке задать – Коэффициент мертвого объема kv.

Примеры заполнения диалогового окна:

Аксиально-плунжерный регулируемый насос имеет характерный рабочий объем  3.74e-5 м3/рад в составе гидропривода (ГП) подключен к гидродвигателю (ГД) с помощью двух коротких трубопроводов. Угол поворота наклонного диска изменяется гидроусилителем (ГУ) в пределах   0.279 рад. Вал насоса соединен с ротором асинхронного электродвигателя неограниченной мощности, значение угловой скорости вала которого можно полагать постоянной и равной 262 рад/с. Объемные потери ГД приведены к насосу, при этом суммарные для насоса и ГД коэффициенты утечек и перетечек равны 1.2е-11 м^3*с/Па и 1е-11 м^3*с/Па, соответственно. Коэффициент мертвого объема равен 1.5. Модуль объемной упругости с учетом газосодержания равен 0.9 ГПа. Давление нагнетания равно 21 МПа, а давление в сливной полости равно 1.5 МПа.

Числовое задание параметров:

1-я диалоговая строка  - 0.279

2-я диалоговая строка  - 3.74е-5

3-я диалоговая строка  - 1.2е-11

4-я диалоговая строка  - 1е-11

5-я диалоговая строка  - аксиально-плунжерный

6-я диалоговая строка  - 9е8

7-я диалоговая строка  - 1.5

Символьное задание параметров:

1-я диалоговая строка  - g_max

2-я диалоговая строка  - w_gn

3-я диалоговая строка  - Ly

4-я диалоговая строка  - Lp

5-я диалоговая строка  - аксиально-плунжерный

6-я диалоговая строка  - E_ж

7-я диалоговая строка  - k_v

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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

3. Если применена модель приводного двигателя неограниченной мощности, то необходимо считать, что Omn = Const.


   Насос с выходом по перепаду давлений

Блок реализует математическую модель насоса c регулируемым рабочим объемом в составе гидропривода с короткими трубопроводами. Основной регулируемой величиной в данной модели принята разность давлений в гидролиниях управления гидродвигателем, которая пропорциональна гидромеханическому моменту гидромотора или силе на штоке гидроцилиндра. Формирует силовое воздействие на вал насоса (на приводной двигатель) по моменту.

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

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

При применении модели приводного двигателя неограниченной мощности полагать OMn=const.

Блок имеет 3 входных порта и 2 выходных порта.

Входные порты:

На 1-ый входной порт (слева) подается сигнал, соответствующий скорости вала насоса Omn;

На 2-ой входной порт (слева) подается векторный сигнал, соответствующий расходам рабочей жидкости Qd1 и Qd2 , подаваемых в трубопроводы от ГД;

На 3-ий входной порт (слева) подается сигнал, соответствующий углу поворота g регулирующего органа насоса.

Выходные порты:

На 1-ом выходном порте (справа) формируется векторный сигнал, соответствующий давлениям  рабочей жидкости P1 и P2 в полостях насоса;

На 2-ом выходном порте (справа) формируется сигнал, соответствующий моменту Mn на валу насоса;

На 3-ем выходном порте (справа) формируется сигнал, соответствующий перепаду давлений dtp между полостями насоса.

Блок имеет 12 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать – Максимальный угол поворота регулирующего органа насоса  gmax, рад;

Во 2-й диалоговой строке задать – Характерный объем насоса  wn, м^3/рад;

В 3-й диалоговой строке задать – Коэффициент утечек в дренаж  Ly, м^3*с/Па;

В 4-й диалоговой строке задать – Коэффициент перетечек между полостями  Lp, м^3*с/Па

В 5-й диалоговой строке выбрать – Тип насоса (аксиально-поршневой, аксиально-плунжерный, радиально-поршневой).

В 6-й диалоговой строке задать – Модуль объемной упругости рабочей жидкости Еж, Па;

В 7-й диалоговой строке задать – Объем полости 1 гидропривода Vp1, м^3;

В 8-й диалоговой строке задать – Объем полости 2 гидропривода Vp2, м^3;

В 9-й диалоговой строке задать – Максимальное давление в полостях гидропривода  Pmax, Па;

В 10-й диалоговой строке задать – Минимальное давление в полостях гидропривода  Pmin, Па;

В 11-й диалоговой строке задать – Начальное значение объема сжатия Vp01 в полости 1 гидропривода, м^3;

В 12-й диалоговой строке задать – Начальное значение объема сжатия Vp02 в полости 2 гидропривода, м^3.

Примеры заполнения диалогового окна:

Аксиально-плунжерный регулируемый насос имеет характерный рабочий объем  3.74e-5 м^3/рад в составе гидропривода (ГП) подключен к гидродвигателю (ГД) с помощью двух коротких трубопроводов. Угол поворота наклонного диска изменяется гидроусилителем (ГУ) в пределах   0.279 рад. Вал насоса соединен с ротором асинхронного электродвигателя неограниченной мощности, значение угловой скорости вала которого можно полагать постоянной и равной 262 рад/с. Объемные потери ГД приведены к насосу, при этом суммарные для насоса и ГД коэффициенты утечек и перетечек равны 1.2е-11 м^3*с/Па и 1е-11 м^3*с/Па, соответственно. Модуль объемной упругости с учетом газосодержания равен 0.9 ГПа. Объемы полостей гидропривода равны по 3 л.  Максимальное давление в полостях ГП равно 21 МПа, а минимальное давление в полостях равно 1.0 МПа. Начальные значения объемов сжатия в полостях гидропривода - нулевые.

Числовое задание параметров:

1-я диалоговая строка  - 0.279

2-я диалоговая строка  - 3.74е-5

3-я диалоговая строка  - 1.2е-11

4-я диалоговая строка  - 1е-11

5-я диалоговая строка  - аксиально-плунжерный

6-я диалоговая строка  - 9е8

7-я диалоговая строка  - 3е-3

8-я диалоговая строка  - 3е-3

9-я диалоговая строка  - 2.1е7

10-я диалоговая строка  - 1е6

11-я диалоговая строка  - 0

12-я диалоговая строка  - 0

Символьное задание параметров:

1-я диалоговая строка  - g_max

2-я диалоговая строка  - w_n

3-я диалоговая строка  - Ly

4-я диалоговая строка  - Lp

5-я диалоговая строка  - аксиально-плунжерный

6-я диалоговая строка  - E_ж

7-я диалоговая строка  - Vp1

8-я диалоговая строка  - Vp2

9-я диалоговая строка  - Pmax

10-я диалоговая строка  - Pmin

11-я диалоговая строка  - Vpo1

12-я диалоговая строка  - Vp02

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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

3. Если применена модель приводного двигателя неограниченной мощности, то необходимо считать, что Omn = Const.

4. Если применена модель при работе насоса от вала отбора мощности тепловых двигателей, скорость которых изменяется в широких пределах, то Omn = Var.


   Приводной двигатель

Блок реализует математическую модель обобщенного приводного электрического двигателя ограниченной мощности с питанием от сети неограниченной мощности.

Блок имеет 2 входных порта и 2 выходных порта.

Входные порты:

На 1-ый входной порт (слева) подается сигнал, соответствующий угловой скорости вала на холостом ходу Om0;

На 2-ой входной порт (сверху) подается сигнал, соответствующий внешнему возмущающему моменту Mb.

Выходные порты:

На 1-ом выходном порте (справа) формируется сигнал, соответствующий угловой скорости вала Om;

На 2-ом выходном порте (справа) формируется сигнал, соответствующий развиваемому электромагнитному моменту Mnd.

Блок имеет 8 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Kоэффициент статической эластичности ПД  tau, рад/с*Нм;

Во 2-й диалоговой строке задать – Коэффициент динамической эластичности ПД teta, рад/с^2*Нм;

В 3-й диалоговой строке задать –  Момент инерции вала и присоединенных деталей механической передачи J, кг*м^2;

В 4-й диалоговой строке задать –  Коэффициент момента нагрузки f, зависящей от скорости вала, с учетом присоединенных деталей механической передачи, Нм*с/рад

В 5-й диалоговой строке задать – Момент трения Mt на валу ПД, Нм;

В 6-й диалоговой строке задать – Максимальное значение момента ПД Mdmax, Нм;

В 7-й диалоговой строке задать – Начальное значение момента  Md0, Нм;

В 8-й диалоговой строке задать – Начальное значение скорости  Omd0, рад/с.

Примеры заполнения диалогового окна:

Электрический асинхронный приводной двигатель насоса имеет скорость холостого хода 262 рад/с, момент инерции  1.0 кг*м^2, коэффициент скоростного сопротивления 0.61 Нм*с/рад и не имеет позиционной нагрузки. Электромагнитный момент двигателя ограничен и не превышает значение 80 Нм. Коэффициент статической эластичности ПД  0.0655 рад/с*Нм, коэффициент динамической эластичности ПД 0.00819 рад/с^2*Нм, момент трения на валу ПД не превышает 2.5 Нм.

Числовое задание параметров:

1-я диалоговая строка  - 6.55е-2

2-я диалоговая строка  - 8.19е-3

3-я диалоговая строка  - 1

4-я диалоговая строка  - 0.61

5-я диалоговая строка  - 2.5

6-я диалоговая строка  - 80

7-я диалоговая строка  - 0

8-я диалоговая строка  - 0

Символьное задание параметров:

1-я диалоговая строка  - tau

2-я диалоговая строка  - teta

3-я диалоговая строка  - J

4-я диалоговая строка  - f

5-я диалоговая строка  - M_t

6-я диалоговая строка  - Md_max

7-я диалоговая строка  - Md_0

8-я диалоговая строка  - Od_0

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


   Гидроусилитель

Блок реализует математическую модель гидроусилителя (ГУ) как звена второго порядка с  симметричными ограничениями по выходной координате и ее производной (скорости). Применяется как простая модель внешних характеристик сервомеханизмов с исполнительными устройствами и другого принципа действия.

Блок имеет 1 входной порт и 2 выходных порта.

На входной порт подается сигнал, соответствующий управляющему воздействию y;

Выходные порты:

На 1-ом выходном порте (справа) формируется сигнал, соответствующий скорости V;

На 2-ом выходном порте формируется сигнал, соответствующий выходной координате X.

Блок имеет 8 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Максимальное значение управляющего воздействия  ymax;

Во 2-й диалоговой строке задать – Максимальное значение скорости Vmax (насыщение), рад/с;

В 3-й диалоговой строке задать –  Mаксимальное абсолютное значение выходной координаты Xmax  (жесткие упоры, расположенные симметрично относительно нейтрального положения), рад;

В 4-й диалоговой строке задать –  Передаточный коэффициент момента нагрузки k;

В 5-й диалоговой строке задать – Постоянную времени, с;

В 6-й диалоговой строке задать – Коэффициент относительного затухания dzt ;

В 7-й диалоговой строке задать – Начальное значение скорости V0 (обычно нулевое), рад/с;

В 8-й диалоговой строке задать – Начальное значение выходной координаты X0 (обычно нулевое), рад.

Примеры заполнения диалогового окна:

Электрогидравлический усилитель изменяет положение наклонного блока объемного насоса в пределах  0.279 рад со скоростью до  0.93 рад/с. Имеет передаточный коэффициент 1 рад/А, постоянную времени 0.03 с и коэффициент относительного затухания 0.8. Начальные условия – нулевые.

Числовое задание параметров:

1-я диалоговая строка  - 0.279

2-я диалоговая строка  - 0.93

3-я диалоговая строка  - 0.279

4-я диалоговая строка  - 1

5-я диалоговая строка  - 0.03

6-я диалоговая строка  - 1

7-я диалоговая строка  - 0

8-я диалоговая строка  - 0

Символьное задание параметров:

1-я диалоговая строка  - y_max

2-я диалоговая строка  - V_max

3-я диалоговая строка  - X_max

4-я диалоговая строка  - k_gu

5-я диалоговая строка  - 0.03

6-я диалоговая строка  - T_gu

7-я диалоговая строка  - V_0

8-я диалоговая строка  - X_0

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


   Объект регулирования с сухим трением

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

Блок имеет 3 входных порта и 3 выходных порта.

Входные порты:

На 1-ый входной порт (сверху) подается сигнал, соответствующий значению скорости Omp на предыдущем шаге интегрирования;

На 2-ой входной порт (слева) подается сигнал, соответствующий значению момента Md, приложенного к валу ОР (развиваемого ИД на валу ОР);

На 3-ий входной порт (слева) подается сигнал, соответствующий значению внешнего возмущающего момента Mb;

Выходные порты:

На 1-ом выходном порте (справа) формируется сигнал, соответствующий скорости ротора гидродвигателя Om;

На 2-ом выходном порте (справа) формируется сигнал, соответствующий углу поворота ротора гидродвигателя alf.

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

Блок имеет 6 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Момент инерции J , кг*м^2;

Во 2-й диалоговой строке задать – Коэффициент скоростного сопротивления f, Нм с/рад;

В 3-й диалоговой строке задать –  Коэффициент позиционной нагрузки c; Нм/рад;

В 4-й диалоговой строке задать –  Модуль значения момента сухого трения в фазе движения Mto, Нм;

В 5-й диалоговой строке задать – Начальное значение скорости ротора Om0, рад/с;

В 6-й диалоговой строке задать – Начальное значение угла поворота  ротора alf0 , рад.

Примеры заполнения диалогового окна:

Ротор аксиально-плунжерного ГД имеет момент инерции  3 кг*м^2, коэффициент скоростного сопротивления 0.1 Нм с/рад и не имеет позиционной нагрузки. Движение ротора ГД начинается, если движущий момент превышает значение 30 Нм. Начальные условия – нулевые.

Числовое задание параметров:

1-я диалоговая строка  - 3

2-я диалоговая строка  - 0.1

3-я диалоговая строка  - 0

4-я диалоговая строка  - 30

5-я диалоговая строка  - 0

6-я диалоговая строка  - 0

Символьное задание параметров:

1-я диалоговая строка  - J

2-я диалоговая строка  - f

3-я диалоговая строка  - c

4-я диалоговая строка  - Mto

5-я диалоговая строка  - Om_0

6-я диалоговая строка  - alf_0

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


   Гидродвигатель с компрессионными потерями

Блок реализует математическую модель гидродвигателя (ГД) с постоянным рабочим объемом в составе гидропривода  с короткими трубопроводами.

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

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

Блок имеет 2 входных порта и 2 выходных порта.

Входные порты:

На 1-ый входной порт (снизу) подается сигнал, соответствующий значению угловой скорости вала гидродвигателя Omd;

На 2-ой входной порт (слева) подается векторный сигнал, соответствующий значениям давлений Р1 и Р2 в гидролиниях ГД.

Выходные порты:

На 1-ом выходном порте (сверху) формируется векторный сигнал, соответствующий значениям расходам рабочей жидкости Qd1 и Qd2, поступающим в трубопроводы;

На 2-ом выходном порте (справа) формируется сигнал, соответствующий значению гидромеханического момента Md на валу ГД.

Блок имеет 6 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Момент инерции J , кг*м^2;

Во 2-й диалоговой строке задать – Коэффициент скоростного сопротивления f, Нм с/рад;

В 3-й диалоговой строке задать –  Коэффициент позиционной нагрузки c; Нм/рад;

В 4-й диалоговой строке задать –  Модуль значения момента сухого трения в фазе движения Mto, Нм;

В 5-й диалоговой строке задать – Начальное значение скорости ротора Om0, рад/с;

В 6-й диалоговой строке задать – Начальное значение угла поворота  ротора alf0 , рад.

Примеры заполнения диалогового окна:

Ротор аксиально-плунжерного ГД имеет момент инерции  3 кг*м^2, коэффициент скоростного сопротивления 0.1 Нм с/рад и не имеет позиционной нагрузки. Движение ротора ГД начинается, если движущий момент превышает значение 30 Нм. Начальные условия – нулевые.

Числовое задание параметров:

1-я диалоговая строка  - 3

2-я диалоговая строка  - 0.1

3-я диалоговая строка  - 0

4-я диалоговая строка  - 30

5-я диалоговая строка  - 0

6-я диалоговая строка  - 0

Символьное задание параметров:

1-я диалоговая строка  - J

2-я диалоговая строка  - f

3-я диалоговая строка  - c

4-я диалоговая строка  - Mto

5-я диалоговая строка  - Om_0

6-я диалоговая строка  - alf_0

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


   Дросселирующий распределитель

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

Блок имеет 3 входных порта и 2 выходных порта.

Входные порты:

На 1-ый входной порт (слева) подается сигнал, соответствующий значению смещения плунжера y;

На 2-ой входной порт (снизу) подается векторный сигнал, соответствующий значениям давлений Р1 и Р2 в гидролиниях 1 и 2;

На 3-ий входной порт (слева) подается сигнал, соответствующий значению давления питания Ppit.

Выходные порты:

На 1-ом выходном порте (справа) формируется векторный сигнал, соответствующий значениям расходов рабочей жидкости Qd1 и Qd2, подаваемых в гидролинии 1 и 2;

На 2-ом выходном порте (справа) формируется сигнал, соответствующий значению расхода Qpit, потребляемого от источника гидропитания.

Блок имеет 7 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Давление в полости слива Psl, Па;

Во 2-й диалоговой строке задать – Перекрытие y0 (положительное при у0 >= 0);

В 3-й диалоговой строке задать –  Коэффициент расхода my ( my = 0,7);

В 4-й диалоговой строке задать –  Плотность жидкости ro, кг/м^3;

В 5-й диалоговой строке задать – Диаметр золотника d, м;

В 6-й диалоговой строке задать – Радиальный зазор dtd, м;

В 7-й диалоговой строке задать – Коэффициент использования периметра щели kisp.

Примеры заполнения диалогового окна:

Дросселирующий распределитель с четырехщелевым цилиндрическим золотником имеет нулевые перекрытия, коэффициент расхода равен 0.7, диаметр золотника равен 10 мм, радиальный зазор равен 10 мкм, коэффициент использования периметра щели равен 0.5. Плотность жидкости, используемой в гидроприводе, равна 900 кг/м^3, давление питания равно 21 МПа, давление слива равно 0.1 МПа.

Числовое задание параметров:

1-я диалоговая строка  - 1е5

2-я диалоговая строка  - 0

3-я диалоговая строка  - 0.7

4-я диалоговая строка  - 900

5-я диалоговая строка  - 1е-2

6-я диалоговая строка  - 1е-5

7-я диалоговая строка  - 0.5

Символьное задание параметров:

1-я диалоговая строка  - P_sl

2-я диалоговая строка  - y_0

3-я диалоговая строка  - my

4-я диалоговая строка  - ro

5-я диалоговая строка  - d

6-я диалоговая строка  - dtd

7-я диалоговая строка  - k_isp

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


   Идеальный дросселирующий распределитель

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

Блок имеет 3 входных порта и 2 выходных порта.

Входные порты:

На 1-ый входной порт (слева) подается сигнал, соответствующий смещению плунжера y;

На 2-ой входной порт (снизу) подается векторный сигнал, соответствующий значениям давлений Р1 и Р2 в гидролиниях 1 и 2;

На 3-ий входной порт (слева) подается сигнал, соответствующий значению давления питания Ppit.

Выходные порты:

На 1-ом выходном порте (справа) формируется векторный сигнал, соответствующий значениям расходов рабочей жидкости Qd1 и Qd2, подаваемых в гидролинии 1 и 2;

На 2-ом выходном порте (сверху) формируется сигнал, соответствующий значению расхода Qpit, потребляемого от источника гидропитания.

Блок имеет 7 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Давление в полости слива Psl, Па;

Во 2-й диалоговой строке задать – Начальное относительное открытие входных окон yn0;

В 3-й диалоговой строке задать – Начальное относительное открытие выходных окон ys0;

В 4-й диалоговой строке задать –  Коэффициент расхода my ( my = 0,7);

В 5-й диалоговой строке задать –  Плотность жидкости ro, кг/м^3;

В 6-й диалоговой строке задать – Диаметр золотника d, м;

В 7-й диалоговой строке задать – Коэффициент использования периметра щели kisp.

Примеры заполнения диалогового окна:

Дросселирующий распределитель с четырехщелевым цилиндрическим золотником имеет нулевые перекрытия, коэффициент расхода 0.7, диаметр золотника 10 мм, коэффициент использования периметра щели 0.5. Плотность жидкости, используемой в ГП 900 кг/м^3, давление питания 21 МПа, давление слива 0.1 МПа.

Числовое задание параметров:

1-я диалоговая строка  - 1е5

2-я диалоговая строка  - 0

3-я диалоговая строка  - 0

4-я диалоговая строка  - 0.7

5-я диалоговая строка  - 900

6-я диалоговая строка  - 0.01

7-я диалоговая строка  - 0.5

Символьное задание параметров:

1-я диалоговая строка  - P_sl

2-я диалоговая строка  - yn_0

3-я диалоговая строка  - ys_0

4-я диалоговая строка  - my

5-я диалоговая строка  - ro

6-я диалоговая строка  - d

7-я диалоговая строка  - k_isp

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


   Насос с регулятором давления

Блок реализует математическую модель насоса с регулятором давления в составе источника гидравлического питания ГП. Основной регулируемой величиной в данной модели принято давление в гидролинии питания ГП с дросселирующими распределителями, которое обеспечивается путем изменения подачи рабочей жидкости в эту гидролинию.

Учтены ограничения положения регулирующего органа насоса и скорости его перемещения при коротких трубопроводах.

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

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

Блок имеет 2 входных порта и 2 выходных порта.

Входные порты:

На 1-ый входной порт (слева) подается сигнал, соответствующий входному (заданному) значению давления питания Ppit0;

На 2-ой входной порт (слева) подается сигнал, соответствующий значению выходного, регулируемого давления питания Рn.

Выходные порты:

На 1-ом выходном порте (справа) формируется сигнал, соответствующий значению подачи насоса Qn;

На 2-ом выходном порте (справа) формируется сигнал, соответствующий значению угла поворота регулирующего органа насоса gn.

Блок имеет 7 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Максимальный угол поворота gnmax (ограничение максимальной координаты gn), рад;

Во 2-й диалоговой строке задать – Минимальный угол поворота gnmin (ограничение минимальной координаты gn), рад;

В 3-й диалоговой строке задать – Ограничение скорости перемещения регулирующего органа Vgnmax, рад/c;

В 4-й диалоговой строке задать –  Передаточный коэффициент регулятора kreg, рад/Па;

В 5-й диалоговой строке задать –  Передаточный коэффициент насоса kn, м^3/с рад;

В 6-й диалоговой строке задать – Коэффициент расхода kdin (генерируемого при движении поршня гидроусилителя насоса);

В 7-й диалоговой строке задать – Начальный угол поворота gn0 (начальное значение переменной gn), рад.

Примеры заполнения диалогового окна:

Регулятор перемещает наклонный блок аксиально-поршневого насоса в переделах от 0 рад до 0.523 рад со скоростями перемещения регулирующего органа до  1.74 рад/c.

Данные регулятора: передаточный коэффициент регулятора 3е-7 рад/Па, передаточный коэффициент насоса 1.2е-3 м^3/с рад, расход, генерируемый при движении поршня гидроусилителя насоса, пренебрежимо мал по сравнению с максимальной подачей насоса. Начальное значение переменной gn - нулевое.

Числовое задание параметров:

1-я диалоговая строка  - 0.523

2-я диалоговая строка  - 0

3-я диалоговая строка  - 1.74

4-я диалоговая строка  - 3е-7

5-я диалоговая строка  - 1.2е-3

6-я диалоговая строка  - 0

7-я диалоговая строка  - 0

Символьное задание параметров:

1-я диалоговая строка  - gn_max

2-я диалоговая строка  - gn_min

3-я диалоговая строка  - Vgn_max

4-я диалоговая строка  - k_reg

5-я диалоговая строка  - k_n

6-я диалоговая строка  - k_din

7-я диалоговая строка  - gn_0

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


   Редуктор

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

Учитываются также потери на неупругое демпфирование, силы трения при относительном движении входного и выходного валов.

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

Блок имеет 2 входных порта и 3 выходных порта.

Входные порты:

На 1-ый входной порт (слева) подается сигнал, соответствующий скорости вала гидродвигателя Omd;

На 2-ой входной порт (снизу) подается сигнал, соответствующий значению скорости объекта регулирования Om.

Выходные порты:

На 1-ом выходном порте (справа) формируется сигнал, соответствующий значению угла рассогласования alf между валами  ГД и ОР;

На 2-ом выходном порте (справа) формируется сигнал, соответствующий значению результирующего момента сил упругих деформаций Mу, приложенного к ОР;

На 3-ем выходном порте (слева) формируется сигнал, соответствующий значению момента Mr, приложенного к валу ГД.

Блок имеет 6 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Передаточное число редуктора ir;

Во 2-й диалоговой строке задать – Половину величины люфта lft, рад;

В 3-й диалоговой строке задать – Коэффициент демпфирования fy; Нм*с/рад

В 4-й диалоговой строке задать –  Упругость редуктора cy, Нм/рад;

В 5-й диалоговой строке задать –  Момент трения M0 при относительном движении входного и выходного валов, Нм;

В 6-й диалоговой строке задать – Начальное значение угла рассогласования alf0 между валами  ГД и ОР, рад.

Примеры заполнения диалогового окна:

Вал ГМ соединен с осью антенной установки редуктором с передаточным числом 100, момент трения при движении входного вала при неподвижном выходном валу 2000 Нм. Жесткость редуктора 1е7 Нм/рад, половина величины люфта 0.02 рад, коэффициент демпфирующих сил 4е5 Нм*с/рад. Все параметры  приведены к оси установки. Начальные условия – нулевые.

Числовое задание параметров:

1-я диалоговая строка  - 100

2-я диалоговая строка  - 0.02

3-я диалоговая строка  - 4е5

4-я диалоговая строка  - 1е7

5-я диалоговая строка  - 2000

6-я диалоговая строка  - 0

Символьное задание параметров:

1-я диалоговая строка  - i_r

2-я диалоговая строка  - lft

3-я диалоговая строка  - f_y

4-я диалоговая строка  - c_y

5-я диалоговая строка  - M_0

6-я диалоговая строка  - alf_0

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


   Объект регулирования с «отрицательным» трением

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

Учитываются особенности моделирования движения объекта при наличии зоны застоя и «отрицательного» трения. Логически анализируются условия останова и страгивания.

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

Внимание. Приведенное ниже описание данного блока (входы, выходы, параметры и т.п.) выполнено на примере объекта регулирования в виде ротора ГД.

Блок имеет 3 входных порта и 3 выходных порта.

Входные порты:

На 1-ый входной порт (слева) подается сигнал, соответствующий значению момента Md, приложенного к валу ОР (развиваемого ИД на валу ОР);

На 2-ой входной порт (слева) подается сигнал, соответствующий значению внешнего возмущающего момента Mb;

На 3-ий входной порт (сверху) подается сигнал, соответствующий значению скорости на предыдущем шаге интегрирования Omp.

Выходные порты:

На 1-ом выходном порте (справа) формируется сигнал, соответствующий значению скорости ротора ГД Om;

На 2-ом выходном порте (справа) формируется сигнал, соответствующий значению угла поворота ротора ГД alf;

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

Блок имеет 8 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Момент инерции J, кг*м^2;

Во 2-й диалоговой строке задать – Коэффициент скоростного сопротивления f, Нм с/рад;

В 3-й диалоговой строке задать – Коэффициент позиционной нагрузки c, Нм/рад;

В 4-й диалоговой строке задать –  Модуль значения момента сухого трения в фазе останова Mto (начала движения, страгивания), Нм;

В 5-й диалоговой строке задать –  Значение момента сухого трения в фазе движения Mtd, Нм;

В 6-й диалоговой строке задать – Ограничение зоны «отрицательного» трения Omt0, рад/с;

В 7-й диалоговой строке задать –  Начальное значение скорости ротора Om0, рад/с;

В 8-й диалоговой строке задать –  Начальное значение угла поворота  ротора alf0, рад.

Примеры заполнения диалогового окна:

Приведенные к ротору ГД момент инерции антенной установки равен 3.1 кг*м^2, коэффициент скоростного сопротивления 0.1 Нм с/рад, позиционная нагрузка отсутствует. Движение ротора ГД начинается, если движущий момент превышает значение 300 Нм, при возрастании скорости движения до 2 рад/с момент сил трения пропорционально уменьшается до 30 Нм. Начальные условия – нулевые.

Числовое задание параметров:

1-я диалоговая строка  - 3.1

2-я диалоговая строка  - 0.1

3-я диалоговая строка  - 0

4-я диалоговая строка  - 300

5-я диалоговая строка  - 30

6-я диалоговая строка  - 2

7-я диалоговая строка  - 0

8-я диалоговая строка  - 0

Символьное задание параметров:

1-я диалоговая строка  - J

2-я диалоговая строка  - f

3-я диалоговая строка  - c

4-я диалоговая строка  - Mt_o

5-я диалоговая строка  - Mt_d

6-я диалоговая строка  - Omt_0

7-я диалоговая строка  - Om_0

8-я диалоговая строка  - alf_0

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


   Клапан предохранительный

Блок реализует математическую модель инерционного предохранительного клапана гидропривода

Статическая характеристика клапана имеет вид

Блок имеет 1 входной порт и 2 выходных порта.

На входной порт подается сигнал, соответствующий значению давления Р в магистрали привода.

Выходные порты:

На 1-ом выходном порте (справа) формируется сигнал, соответствующий значению динамического расхода клапана Qkl, подаваемого в магистраль;

На 2-ом выходном порте (сверху) формируется сигнал, соответствующий значению расчетного статического расхода клапана Qklstat.

Блок имеет 6 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Давление начала открытия клапана Рn, Па;

Во 2-й диалоговой строке задать – Давление, определяющее рабочее открытие клапана Pk, Па;

В 3-й диалоговой строке задать – Давление, определяющее полное открытие клапана Pm, Па;

В 4-й диалоговой строке задать –  Расход клапана Qk при давлении Pk, м^3/c;

В 5-й диалоговой строке задать –  Максимальный расход клапана Qm при давлении Pm, м^3/c;

В 6-й диалоговой строке задать – Постоянная времени клапана Tkl, с.

Примеры заполнения диалогового окна:

Предохранительный клапан ГП имеет  давление начала открытия клапана 45 МПа, давление рабочего открытия клапана 47 МПа и давление, определяющее полное открытие клапана, 60 МПа. При этом  статический расход клапана при максимальном рабочем давлении составляет 5 л/с, а максимальный расход клапана 7.5 л/с. Постоянная времени переходного процесса по расходу при резком нарастании давления равна 0.1 с.

Числовое задание параметров:

1-я диалоговая строка  - 4.5е7

2-я диалоговая строка  - 4.7е7

3-я диалоговая строка  - 6е7

4-я диалоговая строка  - 5е-3

5-я диалоговая строка  - 7.5е-3

6-я диалоговая строка  - 0.1

Символьное задание параметров:

1-я диалоговая строка  - Pn

2-я диалоговая строка  - Pk

3-я диалоговая строка  - Pm

4-я диалоговая строка  - Qk

5-я диалоговая строка  - Qm

6-я диалоговая строка  - T_kl

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


   Клапан подпиточный

Блок реализует математическую модель инерционного подпиточного клапана гидропривода.

Статическая характеристика клапана имеет вид

Блок имеет 1 входной порт и 2 выходных порта.

На входной порт подается сигнал, соответствующий значению давления Р в магистрали привода.

Выходные порты:

На 1-ом выходном порте (справа) формируется сигнал, соответствующий значению динамического расхода клапана Qkl, подаваемого в магистраль;

На 2-ом выходном порте (сверху) формируется сигнал, соответствующий значению расчетного статического расхода клапана Qklstat.

Блок имеет 5 диалоговых строк.

Для работы блока необходимо:

В 1-й диалоговой строке задать –  Давление начала открытия клапана Рn, Па;

Во 2-й диалоговой строке задать – Давление, определяющее рабочее открытие клапана Pk, Па;

В 3-й диалоговой строке задать –  Расход клапана Qk при давлении Pk, м^3/c;

В 4-й диалоговой строке задать –  Максимальный расход клапана Qm, м^3/c;

В 5-й диалоговой строке задать – Постоянная времени клапана Tkl, с.

Примеры заполнения диалогового окна:

Подпиточный клапан ГП имеет  давление начала открытия клапана 1.5 МПа, давление рабочего открытия клапана 1.0 МПа. Статический расход клапана при рабочем давлении равен 2 л/с, а максимальный расход клапана 2.5 л/с. Постоянная времени переходного процесса по расходу при резком падении давления равна 0.1 с.

Числовое задание параметров:

1-я диалоговая строка  - 1.5е6

2-я диалоговая строка  - 1е6

3-я диалоговая строка  - 2е-3

4-я диалоговая строка  - 2.5е-3

5-я диалоговая строка  - 0.1

Символьное задание параметров:

1-я диалоговая строка  - Pn

2-я диалоговая строка  - Pk

3-я диалоговая строка  - Qk

4-я диалоговая строка  - Qm

5-я диалоговая строка  - T_kl

Примечания:

1. Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).

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


 Двигатель постоянного тока

Блок реализует математическую модель двигателя постоянного тока (ДПТ) с независимым возбуждением.

Уравнения динамики блока ДПТ:

(1)

где:

 - напряжение, приложенное к якорю двигателя, В;

 - ток в цепи якоря двигателя, А;

 - угол поворота вала двигателя, рад;

 - момент, развиваемый на валу двигателя, Н·м;

 - возмущающий момент на валу двигателя, Н·м;

 - коэффициент противо-ЭДС;

 -  моментный коэффициент;

, [image] -  сопротивление и индуктивность цепи якоря двигателя, Ом, Гн;

 -  момент инерции ротора двигателя, кг·м2 (при абсолютно жесткой механической передаче без люфта вместо момента инерции ротора двигателя следует рассматривать приведенный момент инерции ( [image]), где [image] -  момент инерции нагрузки).

Блок имеет 2 входных и 3 выходных порта.

На входные порты блока подаются сигналы:

1) Момент [image].

2) Напряжение [image].

На выходных портах формируются сигналы:

1) Угол поворота вала [image], рад.

2) Угловая скорость (частота) вращения [image], рад/с.

3) Момент, развиваемый на валу двигателя [image], Н·м;

Дополнительно на третий выход можно выводить ещё один сигнал:

а) Ток в цепи якоря двигателя [image], А.

Блок имеет 9 диалоговых строк.

Для работы блока необходимо задать следующие параметры:

1) Сопротивление цепи ротора [image], Ом;

2) Индуктивность цепи ротора [image], Гн;

3) Моментный коэффициент [image];

4) Коэффициент противо-ЭДС [image];

5) Момент инерции ротора двигателя [image], кг·м2;

6) Начальный угол поворота вала двигателя [image], рад;

7) Начальная угловая скорость (частота) вращения вала двигателя [image], рад/с;

8) Начальный ток в цепи якоря [image], А.

9) Дополнительный вывод.

Пример заполнения диалогового окна:

Двигатель с сопротивлением и индуктивностью якоря 0,5 Ом и 0,01 Гн, имеющий момент инерции ротора 0,04 кг·м2 и коэффициенты противо-ЭДС и моментный, равные 0,45 и 0,36 соответственно. Начальные угол поворота, частота вращения и ток в цепи якоря равны 0.

Примеры задания параметров

Числовое задание параметров:

1-я диалоговая строка: 0.5

2-я диалоговая строка: 0.01

3-я диалоговая строка: 0.36

4-я диалоговая строка: 0.45

5-я диалоговая строка: 0.04

6-я диалоговая строка: 0

7-я диалоговая строка: 0

8-я диалоговая строка: 0

9-я диалоговая строка: момента:i:

Символьное задание параметров:

1-я диалоговая строка -  R

2-я диалоговая строка -  L

3-я диалоговая строка -  K_m

4-я диалоговая строка -  k_c

5-я диалоговая строка -  J

6-я диалоговая строка -  q0

7-я диалоговая строка -  pq0

8-я диалоговая строка -  i0

9-я диалоговая строка: момента:i:

Примечания:

Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).


 Двигатель асинхронный

Блок реализует математическую модель асинхронного двигателя (ДА).

В системах автоматического регулирования применяют как трехфазные, так и двухфазные асинхронные электродвигатели. Трехфазные ДА являются двигателями общепромышленного применения, двухфазные ДА  -  это специальные двигатели, получившие название исполнительных асинхронных двигателей (ИДА).

Расчетная схема и дифференциальные уравнения.

Как двухфазные, так и трехфазные ДА принято описывать системой дифференциальных уравнений в неподвижной системе координат [image]. При этом трехфазные машины приводят к двухфазным. Расчетная схема ДА представлена на рис. 1, 2:

Рис. 1

Рис. 2

Система дифференциальных уравнении ДА для неподвижной системы координат, связанной со статором, и вращающейся системы координат, связанной с ротором, имеет вид:

(1)

где [image]  -  активные сопротивления обмоток статора и ротора , [image] - потокосцепления статора и ротора по осям  и  соответственно.

ЭДС вращения, вводимые в уравнения обмоток ротора, определяются как

(2)

где [image] - частота вращения ротора, [image] - число пар полюсов, [image] - частота вращения электромагнитного поля (частота питающего напряжения), [image].

Потокосцепления обмоток машины равны:

(3)

где [image] - коэффициенты самоиндукции обмоток статора и ротора, [image] - коэффициент взаимоиндукции между контурами статора и ротора при совпадении их осей.

Решая систему линейных уравнений (3), получаем

(4)

Уравнение равновесия моментов:

(5)

(6)

где  s - коэффициент скольжения вектора скорости вращения ротора относительно вектора вращающегося магнитного поля.

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

(7)

Электромагнитный момент для трехфазного ДА равен

(8)

Уравнения состояния асинхронного электродвигателя

Результирующий магнитный поток, созданный какой-либо обмоткой обобщенной машины принято подразделять на основной магнитный поток и поток рассеяния, например, поток, созданный обмоткой статора, равен [image], где [image] - основной магнитный поток, [image] - поток рассеяния. Соответственно индуктивности обмоток можно разделить на основные и индуктивности рассеяния:

 (9)

и индуктивные сопротивления:

Введем равенство:

где [image] - индуктивность цепи намагничивания;

 - индуктивное сопротивление цепи намагничивания;

 - индуктивность рассеяния обмотки статора;

 - приведенная индуктивность рассеяния обмотки ротора;

 - индуктивность основного потока обмотки статора;

 - приведенная индуктивность основного потока обмотки ротора;

 - приведенные взаимоиндуктивности обмоток.

Систему уравнений ДА (1) - (7) запишем в форме Коши, одновременно заменяя токи обмоток через функции потокосцеплений, а индуктивности обмоток через основные и индуктивности рассеяния. Из системы уравнений (3) находим:

 	(10)

Заменяя токи в выражении (7) получаем

(11)

где [image] - число фаз питающего напряжения.

Подставляем полученные значения токов и момента в уравнения (1) и (4), обозначая [image], имеем

(12)

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

Блок имеет 3 входных и 3 выходных порта.

На входные порты блока подаются сигналы:

1) Напряжение на обмотке статора [image] в неподвижной системе координат, В.

2) Напряжение на обмотке статора [image] в неподвижной системе координат, В.

3) Возмущающий момент [image], Н·м.

На выходных портах формируются сигналы:

1) Угол поворота ротора [image], рад.

2) Угловая скорость вращения [image], рад/с.

3) Электромеханический момент на валу ротора [image], Н·м.

Дополнительно на третий выход можно выводить ещё два сигнала:

а) Ток в обмотке статора [image], А.

б) Ток в обмотке статора [image], А.

Блок имеет 15 диалоговых строк.

Для работы блока необходимо задать следующие параметры:

1) Сопротивление цепи статора [image], Ом;

2) Сопротивление цепи ротора [image], Ом;

3) Индуктивность цепи статора [image], Гн;

4) Индуктивность цепи ротора [image], Гн;

5) Взаимная индуктивность [image], Гн;

6) Момент инерции, приведённый к валу ротора [image], кг·м2.

7) Число полюсов [image], шт.

8) Число фаз питающего напряжения [image], шт.

9) Начальный угол поворота ротора [image], рад.

10) Начальная частота вращения ротора [image], рад/c.

11) Начальное потокосцепление в обмотке q статора, В·с.

12) Начальное потокосцепление в обмотке q ротора, В·с.

13) Начальное потокосцепление в обмотке d статора, В·с.

14) Начальное потокосцепление в обмотке d ротора, В·с.

15) Дополнительный вывод.

Примеры заполнения диалогового окна:

Числовое задание параметров:

1-я диалоговая строка: 0.0217

2-я диалоговая строка: 0.0329

3-я диалоговая строка: 0.0003235

4-я диалоговая строка: 0.0003686

5-я диалоговая строка: 0.01315

6-я диалоговая строка: 11.4

7-я диалоговая строка: 4

8-я диалоговая строка: 3

9-я диалоговая строка: 0

10-я диалоговая строка: 0

11-я диалоговая строка: 0

12-я диалоговая строка: 0

13-я диалоговая строка: 0

14-я диалоговая строка: 0

15-я диалоговая строка: момента:ids:

Символьное задание параметров:

1-я диалоговая строка - R1

2-я диалоговая строка - R2

3-я диалоговая строка - L1

4-я диалоговая строка - L2

5-я диалоговая строка - Lm

6-я диалоговая строка - J

7-я диалоговая строка - p

8-я диалоговая строка - phi

9-я диалоговая строка - q0

10-я диалоговая строка - pq0

11-я диалоговая строка - PSIqs0

12-я диалоговая строка - PSIqr0

13-я диалоговая строка - PSIds0

14-я диалоговая строка - PSIdr0

15-я диалоговая строка - момента:ids:


 Двигатель синхронный без успокаивающих обмоток

Блок реализует модель синхронного двигателя с постоянным магнитом без успокаивающих обмоток (ДС).

Расчетная схема и дифференциальные уравнения ДС

Расчетная схема ДС аналогична схеме асинхронного электродвигателя с добавлением контура обмотки возбуждения по оси б, на который подано напряжение [image].

Уравнения равновесия напряжений обмоток ДС имеют следующий вид (в предположении, что статор вращается с частотой, обратной частоте вращения ротора, а ротор неподвижен):

(1)

Уравнение равновесия моментов имеет вид:

(2)

В этих уравнениях:  - омические сопротивления обмоток статора, возбуждения, контуров пусковой (успокоительной) обмотки; [image] - токи обмоток статора и ротора; [image] - потокосцепления обмоток статора и ротора; [image] - частота вращения ротора, [image] - число пар полюсов; [image] - число фаз питающего напряжения; [image] - частота вращения магнитного поля, [image] - электромагнитный момент.

(3)

где [image] - собственные индуктивности контуров статора и ротора, [image] - взаимные индуктивности между обмотками, лежащими по продольной или по поперечной осям. (В этой системе уравнений в приведенных к статору значениях параметров ротора символы ' (прим) опущены).

Запишем выражения для потокосцеплений через основные потоки и потоки рассеяния, т.е.:

(4)

Получаем:

(5)

В этом случае схема замещения электрической части машины имеет вид:

Рис. 3

Сгруппируем 1,3,4 и 2,5 уравнения системы (5). Имеем уравнения

Или, если ввести матрицы и векторы

то получаем

(6)

В результате имеем:

(7)

(8)

и можно записать:

(9)

где

Исключив в исходной системе дифференциальных уравнений (1) токи, и введя обозначения:

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

(10)

Уравнения, описывающие механические процессы в двигателе

Рассчитаем токи [image] и введем обозначения:

Тогда получаем:

(12)

(13)

(14)

где [image] - момент инерции, приведенный к валу двигателя, [image] - угол поворота вала двигателя, [image] - электромагнитный момент, [image] - возмущающий момент.

Уравнения динамики синхронного двигателя с постоянным магнитом без успокаивающих обмоток

Уравнения динамики синхронного двигателя с постоянным магнитом без успокаивающих обмоток имеют вид:

(15)

Согласно уравнениям (15), переменными состояния ДС являются токи статора [image] и [image], угловая скорость вращения ротора [image] и угол поворота ротора [image]. Входными параметрами являются напряжения на обмотках статора и возмущающий момент.

Блок имеет 3 входных и 3 выходных порта.

На входные порты блока подаются сигналы:

1) Напряжение на обмотке статора [image] в неподвижной системе координат, В.

2) Напряжение на обмотке статора [image] в неподвижной системе координат, В.

3) Возмущающий момент [image], Н·м.

На выходных портах формируются сигналы:

1) Угол поворота ротора [image], рад.

2) Угловая скорость вращения [image], рад/с.

3) Электромеханический момент на валу ротора [image], Н·м.

Дополнительно на третий выход можно выводить ещё два сигнала:

а) Ток в обмотке статора [image], А.

б) Ток в обмотке статора [image], А.

Блок имеет 12 диалоговых строк.

Для работы блока необходимо задать следующие параметры:

1) Сопротивление обмоток статора [image], Ом;

2) Индуктивность d-обмоток статора [image], Гн;

3) Индуктивность q-обмоток статора [image], Гн;

4) Магнитный поток от постоянного магнита через обмотки статора l, Вб

5) Момент инерции, приведённый к валу ротора [image], кг·м2.

6) Число полюсов [image], шт.

7) Число фаз питающего напряжения [image], шт.

8) Начальный угол поворота ротора [image], рад.

9) Начальная частота вращения ротора [image], рад/c.

10) Начальный ток в обмотке d статора [image], А.

11) Начальный ток в обмотке q статора [image], А.

12) Дополнительный вывод.

Примеры заполнения диалогового окна:

Числовое задание параметров:

1-я диалоговая строка: 2.875

2-я диалоговая строка: 8.5e-3

3-я диалоговая строка: 8.5e-3

4-я диалоговая строка: 0.175

5-я диалоговая строка: 0.8e-3

6-я диалоговая строка: 4

7-я диалоговая строка: 2

8-я диалоговая строка: 0

9-я диалоговая строка: 0

10-я диалоговая строка: 0

11-я диалоговая строка: 0

11-я диалоговая строка: момента:

Символьное задание параметров:

1-я диалоговая строка: R

2-я диалоговая строка: Ld

3-я диалоговая строка: Lq

4-я диалоговая строка: l

5-я диалоговая строка: J

6-я диалоговая строка: p

7-я диалоговая строка: phi

8-я диалоговая строка: q0

9-я диалоговая строка: q0

10-я диалоговая строка: id0

11-я диалоговая строка: iq0

12-я диалоговая строка: момента:

Примечания:

1) Осям б и в соответствуют индексы d и q (Например, [image]).

2) Напряжения на обмотках статора [image] и [image] являются напряжениями во вращающейся системе координат. Для получения их значений из входных напряжений [image] и [image] используются соотношения:


 Двигатель синхронный с успокаивающими обмотками

Блок реализует модель синхронного двигателя с постоянным магнитом с успокаивающими обмотками (ДСС).

Расчетная схема и уравнения динамики ДСС

Расчетная схема ДСС аналогична схеме синхронного двигателя без успокаивающих обмоток.

Уравнения динамики электромагнитных процессов:

(1)

динамика механического процесса:

(2)

выражения для потоксцеплений:

(3)

исключая из уравнений (3) токи, имеем

(4)

где

В результате можно записать уравнения динамики электромагнитных процессов в пространстве состояний в форме Коши:

(5)

Если выразить индуктивности через основные и рассеяния:

то имеем

(6)

(7)

Согласно уравнениям (7), переменными состояния ДСС являются потокосцепления [image], угловая скорость вращения ротора [image] и угол поворота ротора [image]. Входными параметрами являются напряжения на обмотках статора и возмущающий момент.

Блок имеет 3 входных и 3 выходных порта.

На входные порты блока подаются сигналы:

1) Напряжение на обмотке статора [image] в неподвижной системе координат, В.

2) Напряжение на обмотке статора [image] в неподвижной системе координат, В.

3) Возмущающий момент [image], Н·м.

На выходных портах формируются сигналы:

1) Угол поворота ротора [image], рад.

2) Угловая скорость вращения [image], рад/с.

3) Электромеханический момент на валу ротора [image], Н·м.

Дополнительно на третий выход можно выводить ещё два сигнала:

а) Ток в обмотке статора [image], А.

б) Ток в обмотке статора [image], А.

Блок имеет 21 диалоговую строку.

Для работы блока необходимо задать следующие параметры:

1) Сопротивление d-обмотки статора [image], Ом;

2) Сопротивление q-обмотки статора [image], Ом;

3) Индуктивность d-обмотки статора [image], Гн;

4) Индуктивность q-обмотки статора [image], Гн;

5) Магнитный поток от постоянного магнита через обмотки статора l, Вб

6) Момент инерции, приведённый к валу ротора [image], кг·м2.

7) Сопротивление d-обмотки ротора [image], Ом;

8) Сопротивление q-обмотки ротора [image], Ом;

9) Индуктивность d-обмотки ротора [image], Гн;

10) Индуктивность q-обмотки ротора [image], Гн;

11) Взаимная индуктивность обмоток по оси d, [image], Гн;

12) Взаимная индуктивность обмоток по оси q, [image], Гн;

13) Число полюсов [image], шт.

14) Число фаз питающего напряжения [image], шт.

15) Начальный угол поворота ротора [image], рад.

16) Начальная частота вращения ротора [image], рад/c.

17) Начальное потокосцепление [image], В·с.

18) Начальное потокосцепление [image], В·с.

19) Начальное потокосцепление [image], В·с.

20) Начальное потокосцепление [image], В·с.

21) Дополнительный вывод.

Примеры заполнения диалогового окна:

Числовое задание параметров:

1-я диалоговая строка: 2.875

2-я диалоговая строка: 2.875

3-я диалоговая строка: 8.5e-3

4-я диалоговая строка: 8.5e-3

5-я диалоговая строка: 0.175

6-я диалоговая строка: 0.8e-3

7-я диалоговая строка: 4

8-я диалоговая строка: 4

9-я диалоговая строка: 8.5e-3

10-я диалоговая строка: 8.5e-3

11-я диалоговая строка: 6e-3

12-я диалоговая строка: 6e-3

13-я диалоговая строка: 4

14-я диалоговая строка: 2

15-я диалоговая строка: 0

16-я диалоговая строка: 0

17-я диалоговая строка: 0

18-я диалоговая строка: 0

19-я диалоговая строка: 0

20-я диалоговая строка: 0

21-я диалоговая строка: момента:

Символьное задание параметров:

1-я диалоговая строка: Rds

2-я диалоговая строка: Rqs

3-я диалоговая строка: Lds

4-я диалоговая строка: Lqs

5-я диалоговая строка: l

6-я диалоговая строка: J

7-я диалоговая строка: Rdr

8-я диалоговая строка: Rqr

9-я диалоговая строка: Ldr

10-я диалоговая строка: Lqr

11-я диалоговая строка: Ldm

12-я диалоговая строка: Lqm

13-я диалоговая строка: p

14-я диалоговая строка: phi

15-я диалоговая строка: q0

16-я диалоговая строка: pq0

17-я диалоговая строка: P10

18-я диалоговая строка: P20

19-я диалоговая строка: P30

20-я диалоговая строка: P40

21-я диалоговая строка: момента:

Примечания:

1) Осям б и в соответствуют индексы d и q (Например, [image]).

2) Напряжения на обмотках статора [image] и [image] являются напряжениями во вращающейся системе координат. Для получения их значений из входных напряжений [image] и [image] используются соотношения:


Преобразовтель 2х-фазного напряжения в 3х-фазное
 Преобразователь 2х-фазного напряжения в 3х-фазное

Блок реализует преобразование двухфазного напряжения в трёхфазное напряжение. Значения напряжений на выходе подсчитываются следующим образом:

(1)

где:

 - фазные напряжения 2х-фазного тока (на входе),

 - фазные напряжения 3х-фазного тока (на выходе).

Блок имеет 2 входных порта и 3 выходных порта.

На входные порты блока подаются сигналы:

1) Напряжение [image], В.

2) Напряжение [image], В.

На выходных портах формируются сигналы:

1) Напряжение [image], В.

2) Напряжение [image], В.

3) Напряжение [image], В.

Примечания:

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


 Преобразователь 3х-фазного напряжения в 2х-фазное

Блок реализует преобразование трёхфазного напряжения в двухфазное напряжение. Значения напряжений на выходе подсчитываются следующим образом:

(1)

где:

 - фазные напряжения 3х-фазного тока (на входе),

 - фазные напряжения 2х-фазного тока (на выходе).

Блок имеет 3 входных порта и 2 выходных порта.

На входные порты блока подаются сигналы:

1) Напряжение [image], В.

2) Напряжение [image], В.

3) Напряжение [image], В.

На выходных портах формируются сигналы:

1) Напряжение [image], В.

2) Напряжение [image], В.

Примечания:

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


 Генератор 2х-фазного напряжения

Блок реализует модель двух синусоидальных сигналов, сдвинутых по фазе на 90 градусов:

(1)

где:

 - амплитуда синусоидального сигнала,

 - фазные напряжения 2х-фазного тока,

f - частота сигналов.

Блок имеет 2 входных порта и 2 выходных порта.

На входные порты блока подаются сигналы:

1) Частота f, Гц.

2) Напряжение [image] - амплитуда сигналов, В.

На выходных портах формируются сигналы:

1) Напряжение [image], В.

2) Напряжение [image], В.


 Генератор 3х-фазного напряжения

Блок реализует модель трёх синусоидальных сигналов, сдвинутых по фазе на 120 градусов:

(1)

где:

 - амплитуда синусоидального сигнала,

 - фазные напряжения 3х-фазного тока,

f - частота сигналов.

Блок имеет 2 входных порта и 3 выходных порта.

На входные порты блока подаются сигналы:

1) Частота f, Гц.

2) Напряжение [image] - амплитуда сигналов, В.

На выходных портах формируются сигналы:

1) Напряжение [image], В.

2) Напряжение [image], В.

3) Напряжение [image], В.


 Широтно-импульсный модулятор симметричный

Блок реализует модель симметричного широтно-импульсного модулятора (ШИМ). Входной аналоговый сигнал [image] нормируется на [image]:

(1)

и сравнивается с симметричным пилообразным сигналом вида:

(2)

Запись [image] обозначает дробный остаток от деления: frac(3,43/3) == 0,43.

Выходной сигнал равен:

(3)

Блок имеет 1 входной порт и 1 выходной порт.

На входные порты блока подаётся сигнал:

1) [image] - входной аналоговый сигнал.

На выходных портах формируется сигнал:

1) [image] - выходной модулированный сигнал.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать следующие параметры:

1) Период дискретности [image], с;

2) Максимальное значение сигнала, при котором наступает насыщение [image];

Примеры заполнения диалогового окна:

Числовое задание параметров:

1-я диалоговая строка: 0.1

2-я диалоговая строка: 1.5

Символьное задание параметров:

1-я диалоговая строка: T0

2-я диалоговая строка: Umax


 Широтно-импульсный модулятор несимметричный

Блок реализует модель несимметричного широтно-импульсного модулятора (ШИМ). Входной аналоговый сигнал [image] нормируется на [image]:

(1)

и сравнивается с несимметричным пилообразным сигналом вида:

(2)

Запись [image] обозначает дробный остаток от деления: frac(3,43/3) == 0,43.

Выходной сигнал равен:

(3)

Блок имеет 1 входной порт и 1 выходной порт.

На входной порт блока подаётся сигнал:

1) [image] - входной аналоговый сигнал.

На выходном порту формируется сигнал:

1) [image] - выходной модулированный сигнал.

Блок имеет 2 диалоговые строки.

Для работы блока необходимо задать следующие параметры:

1) Период дискретности [image], с;

2) Максимальное значение сигнала, при котором наступает насыщение [image];

Примеры заполнения диалогового окна:

Числовое задание параметров:

1-я диалоговая строка: 0.2

2-я диалоговая строка: 2.0

Символьное задание параметров:

1-я диалоговая строка: T0

2-я диалоговая строка: Umax


 Редуктор упрощённый

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

Уравнения динамики блока (два дифференциальных уравнения и одно алгебраическое):

(1)

где:

 - передаточное число редуктора;

 - момент инерции нагрузки, кг·м2;

k - коэффициент трения, приведённый к валу нагрузки, Н·м·с;

 - угол поворота вала нагрузки (выходного вала), рад;

 - угловая скорость вала нагрузки, рад/с;

 - угол поворота вала двигателя (входного вала), рад;

 - момент, развиваемый в упругом элементе, приведённый к валу нагрузки, Н·м;

 - обозначение нелинейности типа "зона нечувствительности" с параметрами "a" и "c":

(2)

a - половина величины люфта, рад;

с - коэффициент жёсткости упругого элемента, Н·м/рад.

Блок имеет 1 входной порт и 3 выходных порта.

На входной порт блока подаётся сигнал:

1) [image] - угол поворота входного вала (вала двигателя), рад;

На выходных портах формируются сигналы:

1) [image] - угол поворота вала нагрузки (выходного вала), рад;

2) [image] - угловая скорость вала нагрузки, рад/с;

3) [image] - момент, развиваемый в упругом элементе, приведённый к валу нагрузки, Н·м;

Блок имеет 7 диалоговых строк.

Для работы блока необходимо задать следующие параметры:

1) Коэффициент передачи редуктора i;

2) Момент инерции нагрузки J, кг·м2;

3) Половина величины люфта, приведённого к валу нагрузки a, рад;

4) Коэффициент жёсткости с, Н·м/рад;

5) Коэффициент трения, приведённый к валу нагрузки, Н·м·с;

6) Начальный угол поворота вала нагрузки (выходного вала) [image], рад;

7) Начальная угловая скорость вала нагрузки [image], рад/с;

Примеры заполнения диалогового окна:

Числовое задание параметров:

1-я диалоговая строка: 100

2-я диалоговая строка: 15

3-я диалоговая строка: 0.001

4-я диалоговая строка: 2E6

5-я диалоговая строка: 0.005

6-я диалоговая строка: 0

7-я диалоговая строка: 0

Символьное задание параметров:

1-я диалоговая строка: i

2-я диалоговая строка: J

3-я диалоговая строка: a

4-я диалоговая строка: c

5-я диалоговая строка: k

6-я диалоговая строка: q0

7-я диалоговая строка: pq0


 Редуктор

Блок реализует математическую модель элементарного звена механической передачи (одноступенчатого редуктора), в которой учитываются инерционность промежуточных ступеней и явления трения в упругом элементе и на выходном валу звена.

На рисунке представлена кинематическая схема элементарного механического звена, на котором обозначено:  - соответственно входной и выходной валы, [image] - углы поворота входного и выходного валов, i - безынерционный элемент зацепления (с передаточным числом [image]), c - коэффициент жёсткости безынерционного упругого элемента, ТР - элемент, характеризующий наличие внутренних сил вязкого трения в упругом элементе, Л - безынерционный элемент, характеризующий люфт в зацеплении, [image] - момент инерции на выходном валу звена, который может включать в себя момент инерции шестерни, момент инерции соединительной муфты и момент инерции объекта.

Уравнения динамики блока:

(1)

где:

 - угол скручивания упругого элемента;

 - знак x(t);

 i - передаточное число редуктора;

 - момент инерции на выходном валу звена, кг·м2;

a - половина величины люфта звена, рад;

c - коэффициент жёсткости безынерционного упругого элемента;

 - коэффициент вязкого трения в упругом элементе, Н·м/(рад/с);

 - момент, обусловленный наличием внутренних сил сухого трения в упругом элементе, Н·м;

 - коэффициент вязкого трения на выходном валу, Н·м/(рад/с);

 - момент сухого трения на выходном валу, Н·м;

 - угол поворота входного вала, рад;

 - угол поворота выходного вала, рад;

 - угловая скорость входного вала, рад/с;

 - угловая скорость выходного вала, рад/с;

 - момент от внутренних сил вязкого и сухого трения в упругом элементе, Н·м;

 - момент, приложенный к входному валу;

 - момент, приложенный к выходному валу;

 - момент от сил трения, действующих на выходной вал.

Блок имеет 2 входных порта и 2 выходных порта.

На входные порты блока подаются сигналы:

1) [image] - угловая скорость входного вала, рад/с;

2) [image] - момент, приложенный к выходному валу;

На выходных портах формируются сигналы:

1) [image] - угловая скорость выходного вала, рад/с;

2) [image] - момент, приложенный к входному валу (взятый с обратным знаком!);

Блок имеет 10 диалоговых строк.

Для работы блока необходимо задать следующие параметры:

1) Передаточное число редуктора i;

2) Момент инерции нагрузки [image], кг·м2;

3) Половина величины люфта a, рад;

4) Коэффициент жёсткости с, Н·м/рад;

5) Коэффициент вязкого трения в упругом элементе [image], Н·м/(рад/с);

6) Момент сухого трения в упругости [image], Н·м;

7) Коэффициент вязкого трения на выходном валу [image], Н·м/(рад/с);

8) Момент сухого трения на выходном валу [image], Н·м;

9) Начальная угловая скорость выходного вала [image], рад/с;

10) Начальный угол скручивания [image], рад;

Примеры заполнения диалогового окна:

Числовое задание параметров:

1-я диалоговая строка: 100

2-я диалоговая строка: 200

3-я диалоговая строка: 0.001

4-я диалоговая строка: 2E6

5-я диалоговая строка: 10

6-я диалоговая строка: 0.3

7-я диалоговая строка: 20

8-я диалоговая строка: 0.2

9-я диалоговая строка: 0

10-я диалоговая строка: 0

Символьное задание параметров:

1-я диалоговая строка: i

2-я диалоговая строка: J2

3-я диалоговая строка: a

4-я диалоговая строка: c

5-я диалоговая строка: F1

6-я диалоговая строка: G1

7-я диалоговая строка: F2

8-я диалоговая строка: G2

9-я диалоговая строка: pq20

10-я диалоговая строка: dq0


   Многозвенный манипулятор

Блок реализует математическую модель манипулятора на основе уравнения Лагранжа 2-го рода.

Манипулятор рассматривается как система твердых тел, соединенных кинематическими парами пятого класса (вращательными и поступательными), представляющая разомкнутую кинематическую цепь. Первое звено с помощью кинематической пары пятого класса соединено с неподвижной стойкой. Последнее N-e звено— схват. Звенья манипулятора перенумерованы последовательно 1, 2,...,N. C каждым звеном связана собственная систему координат ОiXiYiZi , а с основанием - неподвижная система координат О0X0Y0Z0. Для составления уравнений движения механизма используется система координат Денавита – Хартенберга.

Блок имеет следующие входные и выходные порты:

На входные порты блока подаются сигналы:

1)	Моменты в сочленениях для вращательных звеньев (силы - для поступательных)

2)	Сила, приложенная в указанной точке

3)	Момент, действующие на последнее звено (в проекциях на оси системы координат О0X0Y0Z0)

На выходных портах блока формируются сигналы:

1)	Положения  в сочленениях (обобщенные координаты звеньев).

2)	Скорости в сочленениях (обобщенные скорости звеньев).

Блок имеет 18 диалоговых строк

Для работы блока необходимо задать следующие параметры:

1)	Число звеньев цепи N.

2)	Типы кинематических пар звеньев (0 — вращательная, 1 — поступательная).

3)	Начальные значения координат (Qi [рад]* — для вращательной, Di [м] — для поступательной).

4)	Начальные значения скоростей (d Qi/dt[рад/с] —для вращательной, dDi/dt[м/с]  — для поступательной).

5)	Параметр Ai [м].

6)	Параметр Alphai [рад].

7)	Di [м]  - для вращательной, Qi [рад]  - для поступательной.

Моменты инерции для каждого звена :

8)	Jxxi [кг/м2]  (относительно плоскости YiOiZi ).

9)	Jyyi [кг/м2]   (относительно плоскости XiOiZi ).

10)	Jzzi [кг/м2]   (относительно плоскости XiOiYi ).

Центробежный момент инерции для каждого звена:

11)	Jxzi [кг/м2].

12)	Jyzi [кг/м2].

13)	Jxyi [кг/м2].

Статические моменты для каждого звена:

14)	Sxi [кг/м].

15)	Syi [кг/м].

16)	Szi [кг/м].

17)	Массы звеньев Mi [кг].

18)	Ориентацию вектора g в базовой системе координат [x,y,z].

* Параметры Ai, Alphai, Qi, Di определяются по приведенному ниже алгоритму.

Алгоритм выбора системы координат и определения параметров Ai, Alphai, Qi, Di.

Для определения параметров манипулятора в системе координат Денавита-Хартенберга необходимо:

1)	Определить базовые координаты [X0 Y0 Z0] так, чтобы ось Z0 совпадала с осью первого сочленения.

2)	Направить все оси Zi по осям поступательного движения или вращения i - го звена относительно (i-1) - го звена.

3)	Задать начало i-й системы координат в точках пересечения оси Zi с общей нормалью к осям Zi и Zi-l.

4)	 Задать оси Xi в каждом i-м сочленении вдоль общей нормали к осям Zi-1 и Zi.

5)	Задать оси Yi, так чтобы образовать правые тройки координат.

6)	Найти Di как расстояние от начала координат ( i-1)-й системы координат до точки пересечения осей Zi-l и Xi, измеренного в направлении оси Zi-l. Если i-е сочленение является поступательным, то Di является обобщенной координатой.

7)	Найти Ai как расстояние от начала ( i-1)-й системы координат до точки пересечения осей Zi и Xi, измеренного в направлении оси Xi.

8)	Найти Qi как угол поворота от оси Xi-l до оси Xi вокруг оси Zi-l.

9)	Найти Alphai как угол поворота от оси Zi-l до оси Zi относительно  оси Xi.

Пример заполнения диалогового окна:

На рис.1 показана схема трехзвенного манипулятора.

Рис. 1

N звена/Параметр	1	2	3
Длина , м	1	0,8	1,6
Масса, кг	50	20	10
Момент инерции Jxx , кг/м2	0	0	0
Момент инерции Jyy,кг/м2	16,7	4,27	0
Момент инерции Jzz,кг/м2	0	0	8,53
Момент инерции Jxz , кг/м2	0	0	0
Момент инерции Jyz , кг/м2	0	0	0
Момент инерции Jxy , кг/м2	0	0	0
Статический момент Sx, кг/м	0	0	0
Статический момент Sy, кг/м	25	8	0
Статический момент Sz, кг/м	0	0	-8
Параметр A	0	0	0
Параметр D	1	D2	D3
Параметр Q	Q1	0	0
Параметр Alpha	-pi/2	-pi/2	0

D2, D3 и Q1 являются обобщенными координатами.

Вектор g направлен вниз параллельно оси Z0. Начальные скорости равны 0. Начальные координаты равны соответственно 1.57 рад, 0.2 м, 0 м.

Примеры задания параметров

Числовое задание параметров:

1-я диалоговая строка: 3

2-я диалоговая строка: 0 0 1

3-я диалоговая строка: 1.57 0.2 0

4-я диалоговая строка: 0 0 0

5-я диалоговая строка: 0 0 0

6-я диалоговая строка: -pi/2 –pi/2 0

7-я диалоговая строка: 1 0 0

8-я диалоговая строка: 0 0 0

9-я диалоговая строка:  16.7 4.27 0

10-я диалоговая строка: 0 0 8.53

11-я диалоговая строка: 0 0 0

12-я диалоговая строка: 0 0 0

13-я диалоговая строка: 0 0 0

14-я диалоговая строка: 0 0 0

15-я диалоговая строка: 25 8 0

16-я диалоговая строка: 0 0 -8

17-я диалоговая строка: 50 20 10

18-я диалоговая строка: 0 0 -9.81

Символьное задание параметров:

1-я диалоговая строка: N

2-я диалоговая строка: V V P

3-я диалоговая строка: q10 q20 q30

4-я диалоговая строка: q’10 q’20 q’30

5-я диалоговая строка: A1 A2 A3

6-я диалоговая строка: Alfa1 Alfa2 Alfa3

7-я диалоговая строка: D1 Q2 Q3

8-я диалоговая строка: Jxx1 Jxx2 Jxx3

9-я диалоговая строка: Jyy1 Jyy2 Jyy3

10-я диалоговая строка: Jzz1 Jzz2 Jzz3

11-я диалоговая строка: Jxz1 Jxz2 Jxz3

12-я диалоговая строка: Jyz1 Jyz2 Jyz3

13-я диалоговая строка: Jxy1 Jxy2 Jxy3

14-я диалоговая строка: Sx1 Sx2 Sx3

15-я диалоговая строка: Sy1 Sy2 Sy3

16-я диалоговая строка: Sz1 Sz2 Sz3

17-я диалоговая строка: M1 M2 M3

18-я диалоговая строка: 0 0 -9.81

Примечания:

Именованные параметры задаются как глобальные посредством Интерпретатора математических функций (в окне Редактор глобальных параметров…).