Черных И.В. Simulink Среда для создания инженерных приложений (2003) (1152002), страница 33
Текст из файла (страница 33)
Разработать и ввести текст функций ответного вызова в строке сайЬас)с. Пример: В модели функционального генератора амплитуду и частоту выходного сигнала можно мдввать как в окне диалога, так и от внешних исптчников, подключаемых к входным портам генератора. В последнем случае соответствующая строка для задания параметра может отсутствовать или быть 316 Эй7 И. В. Черных. ЯМ()).ичК: среда создания инженерных придожеиий неактивной.
Примем, что прн выборе внешних источников задания амплитуды и частоты строка задания частоты должна быть неактивной, а строка задания амплитуды невидимой. Ниже приводится текст функции ответного вызова для параметра 1п(егпа( Его(), определяющего способ задания частоты (табл. 3.1): вкесу ракам = дес рахат(дсЬ, 'Хпеегпа1 Егед'); Ъ Присвоение переменной Ргец ракам значения параметра 1псегпа1 Егед 3.
Маскирование подсистем Вид окна диалоза для внешнего способа задания частоты и амплитуды показан на рис. 3.16. ь арпад аепьви (иМ ) з Е вггсвр(ргед ракам, 'оп') епаЬ1е=('оп','оп','оп','оп','оп'); е1ве; епаЬ1е=('оп','оЕЕ','оп','оп','оп'); епс) вег ракам(дсЬ, 'ИевхкпаЬ1ев', епаЫе); Функция проверяет значение параметра 1п(егпа! йе((.
Если значение рав-,:, но 'оп' то вектор епаЫе имеет все элементы равные 'оп', если же значение параметра Ьиегпа! Еге() равно 'о)г (используется внешний способ задания ':. частоты), то второй элемент вектора епаЫе имеет значение 'оЕЕ, и оператор, зе(рагвл)(ясЬ, 'МазкЕпаЫез', епаЫе) сделает строку ввода второго параметра: неактивной.
Аналогичным образом выглядит функция ответного вьоова для пара-: метра 1п(еп1а! п)алп, определяющего способ задания амплитуды (табл. 3.!): Иадп регат=пес ракам(дСЬ, ' Хпсегпа1 )аадп' ) з Ъ Присвоение переменной Иадп рагаи значения параиетра тпевгпа1 иадп 1Е вгхсвр(иадп ракам,'оп') ч1вЕЫе=( ' оп ', 'оп', 'оп', "оп', ' оп' ); е1ве чзвзЫе=('оп','оп','оп','оп','оЕЕ')з епс) вес ракам! дсЬ. 'ИазхдззЕЫ11СЕев ', чьвьЫе) Функция проверяет значение параметра рд(еп)а) щайп.
Если значение, равно 'оп', то вектор ч)з)Ые имеет все элементы равные 'оп', если же значение параметра (псегпа1 юайп равно 'ой" (используется внешний способ задания амплитуды), то пятый элемент вектора т)з(Ые имеет значение 'о)Т, . и оператор зе(рагап(йсЬ, 'МазкЧ)з(Ыййез', т(з)Ые) сделает строку ввода пятого параметра невидимой. Рис. Х)о Из анализа рисунка следует, что при ие выставленных флажках способа задания частоты и амплитуды, строка задания частоты является неактивной, а строка задания амплитуды невидимой., 3.7. Управление портами маскированной подсистемы Для того чтобы отобразить на схеме модели генератора различные способы задания частоты и амплитуды сигнала, необходимо уметь управлять портами маскированной системы, отображая на схеь(е внешние источники задания параметров или удаляя их в случае применения внутренних источников.
Для этого необходимо создать такие функции ответного вызова, которые могли бы удалять или восстанавливать порты маскированной системы. Основная идея при этом заключается в том, чтобы в случае, когда внешний источник не используется, заменить входной порт подсистемы н» блок Отопив, а если внешний источник используется — выполнить обратную замену. Такие замены легко выполняются с помощью команд управления о(щпйпх-моделью. Для наглядности на пиктограмме генератора стандартные названия входных портов 1п1 и 1л2 изменены на М (входной порт лля задания амплитуды) и и (входной порт для задания частоты), Пиктограмма генератора н его схема показаны на рис.
3. (7. 3. Маскирование подсистем Рис. 3.) 7 320 И. В. Черных. Б(МИЛХРс среда создания июкенерных приношений Текст функции ответного вызова, управляющей заданием частоты, при-,, веден ниже. Ъ Первая часть (управление окном диалога] Ргец ракам = дес рагаш(дсЬ,'1пгегпа1 Егед'); ЕЕ зггсшр[Ргесу ракеш,'оп') епаЬ1е = ('оп','оп','оп','оп','оп'); е1зе епаЬ1е = ('оп ', 'оЕЕ', 'оп', 'оп', 'оп'); епб зес рагаш[дсЬ,'МазйлпаЬ1ез',епаЬ1е] Ъ Вторая часть (управление портами) мадп ракеш = дог рагаш[дсь,'тпсегпа1 »хадп')ю Ъ Присвоение переменной Иадп рагаш значения параметра тпгегпа1 Падл Ъ(способ задания амплитуды:внутренний или внеиний].
1п 2 В1ос)стуре = дес ракеш([дсь,'/Р'],'В1осктуре'); Ъ Определение типа блока, имеющего метку Р. ЕЕ всгсшр(Егер ракам,'оп')ь(1п 2 В1ос]стуре=='1прогс']с Ъ Если значение переменной Рта рагюх равно 'оп' Ъ (внутренний способ задания частоты], а блок с меткой Ъ Р вЂ” зто блок '1прогг', то выполняется его замена Ъ на блок Сгочпб. гер1асе ь1ос]с(дсь,'наше','Р','сгоппб','поргошрс') ) Ъ Порт с меткой Р с пиктограммы исчезает. епб 1е зсгспр(Рте<у рагаш,'оее')ь(1п 2 В1осктуре=='сгоним'! Ъ Если значение переменной Рта рагаш равно 'оЕЕ' Ъ (внешний способ задания частоты), а блока с меткой Р— зто Ъ блок 'Сгоипб', то выполняется его замена на блок 1прогг. гер1асе Ь1осх(дсЬ,'Наше','Р','1прогс','портовике'» Ъ На пиктограмме появляется порт с меткой Р. епб ЕЕ вггсшр(Рггу ракам,'оЕе']ьзггсшр(мадп.
рагаш,'оЕе') Ъ Если значения переменных Ргнф рагаш и Мадп рагаш равны Ъ 'оЕЕ' (частота и амплитуда генератора задаются извне, Ъ то долина быть выполнена проверка правильности нумерации Ъ входных портов. Порт с меткой М должен быть первым, Ъ а порт с меткой Р— вторым. Ротс 1 рагаш = дес ракеш([дсЬ,'/М'1,'рокс')1 Ъ Переменной Росс 1 рагаш присваивается номер порта с меткой М. Ротс 2 ракам = дес рагаш([дсь,'/Р'],'ротс'); Ъ Переменной Роге 2 рагаш присваивается номер порта с меткой Р. зЕ (Роге 1 рахаш = = '2')ь(ротс 2 рагаш = = '1'); Ъ Если нумерация портов нарушена, то порт с меткой Р Ъ временно заменяется на блок Сгоипб.
гер1асе Ь1ос]с(дсЬ, 'Нахш', 'Р ', 'Сгоипб', 'поргошрг') гер1асе ь1оск(дсь,'наше','Р','1прогс','поргошрг') Ъ Блок с меткой Р заменяется на входной порт. епб епб Т]ерзая часть функции управляет окном диалога [она полностью повторяет приведенную в предыдущем параграфе), а вторая часть выполняет управление входным портом г (задание частоты) и содержит операторы, которые проверяют правильность нумерации портов и восстанавливают нужную нумерацию, если она нарузлена. 3. Маскирование подсистем »ь» [:Л »ь»»» е я»»» Рис. 3./В 322 323 И. В. Черных.
$1(»[[ЛЛ)ЧК: среда создания инженерных приложений Функция ответно~о вызова, определяющая способ задания амплитуды, аналогична приведенной выше и дается без комментариев: Ъ Первая часть [улрааление окном диалога) мадп рагав=дел рагат(дсЬ,'1пгегпа1 тадп')з з.Е вггсвр(надо рагат,'оп')з ч1взЬ1е=('оп','оп','оп','оп','оп')з е1вез чгвЕЫе=('оп', 'оп', 'оп', 'оп', 'оЕЕ') з епбз вее рахат(дсЬ,'МавхргаЕЬз.11С1еа',чгвЕЫе); Ъ Вторая часть (управление портами) Ргесу рахат=дес рагат(дсь,'1пгегпа1 Егеч')з 1п 1 В1осхтуре=дег рагат[[дсЬ,'/М'],'В1ос)стуре')з з.е вегенер(мадо рагав,'оп')ь(1п 1 В1ос)стуре=='1прогг')з гер1асе Ь1осх(дсЬ,»нате','М','Сгоипг)','порговрс') епг) з ЕЕ вггстр(Мадо рагат,'оЕЕ')Ь(1п 1 В1ос)сТуре= ='Сгони»)')з гер1асе Ь1ос)с[дсЬ,'Мате','М','1прогг','поргозхре') епоз з.Е всгсвр(Ргесу рагав,'оЕЕ')ьвсгсвр(Мадо рагав,'оЕЕ'! Роге 1 рагат=дев рагат([дсЬ»'/М'].'Роге')з Роге 2 рахат=пег рагат[[дсЬ,'/Р'],'роге')з ЕЕ [Роге 1 рагат = = '2')Ь(роге 2 рахат = = '1') гер1асе Ь1ос)г(дсЬ,'мате','Р','1прогс','порговрс') елмаз епоз Первая часть функции управляет окном диалога, и аналогична приведенной в предыдущем параграфе.
Вторая часть — управляет первым входным портом подсистемы и содержит операторы, которые проверяют правильность нумерации портов н восстанавливают нужную нумерацию, если она нарушена. На рис. 3.18 приведена модель генератора для случая, когда способ задания амплитуды является внутренним, а способ задания частоты — внешний. Из анализа рисунка следует, что при выборе внутреннего способа задания амплитуды [выставлен флажок [п(егпа! хоцгсе оЕ шайпйц([е айва]) соотвектвукяцнй входной порт на пиктограмме отсутствует, а в самой модели генератора входной порт М заменен блоком Сгоппо. При этом амплитуда задается блоком Соимап(2 внутри подсистемы, а частота сигнала — от внешнего источника через входной порт с меткой Г, Добавить блек Пазначение: Добавить новый блок в модель Си>анансис Добавить линию а(Ы Впе 325 4.
ИНТЕРФЕЙС СИСТЕМЫ ЯМФЛЛХК С ПРОДУКТАМИ СЕМЕЙСТВА МАТЮКАВ б Система 5!п)ийпк представляет собой систему графического программирования структурных схем. Потребность в такой системе возникает прн работе со миогимн пакетами программ, где структурная схема является неотьемлемой частью исследуемого объекта. Поэтому в составе программных продуктов семейства МЛТ).ЛВ 6 можно встреппь пакеты программ н наборы блоков, предназначенные для моделирования летательных аппаратов (Легозрасе В!искье(), электрических систем (5!шРогчегБуз!ешз), связи н коммуникаций (Сопмпппкапопз В(осйзе~), систем управления (Соппо) буз(е~п Тоо!Ьох), пультов управления и приборных досок (1)!а)зйбапйез В)оскзж), цифровой обработки сигналов (ОЗР В1оскзе(), реализации операций с фиксированной точкой (Р!ход-Ро!и( В(осаке(), систем реального времени (Вел[- Типе %огЫюр). Прн установке иа компьютере этих программных продуктов все библиотеки блоков оказываются доступными для формирования структурных схем.