Рекомендуемый порядок разработки модели
Предполагается, что модель будет создаваться в основном средствами SIMULINK. Функции собственно MATLAB будут применяться лишь при отсутствии соответствующих средств в SIMULINK. Описание системы MATLAB-SIMULINK приведено в [10-17].
Вначале необходимо смоделировать процессы передачи данных при отсутствии искажений.
При разработке какого-либо узла следует проверить его работоспособность в отдельном файле, оснастив узел тестовыми источниками сигналов и средствами их наблюдения в критических точках схемы.
После получения работоспособной модели разрабатываемого блока или подсистемы следует внести в нее изменения согласно предупреждающим сообщениям, выдаваемых MATLAB в окно Command Window. Настройка диагностических сообщений при возникновении различных ситуаций производится в пункте Diagnosics раздела Configuration parameters меню Simulation окна со схемой модели.
При отладке сложной модели следует после добавления нового фрагмента проверить работоспособность схемы. При этом следует учесть, что диагностическая система Simulink не всегда точно локализует ошибку. Возможны случаи, когда добавление некорректного элемента приведет к появлению сообщения об ошибке, в элементе ранее отлаженной части модели.
Все изменения следует отображать в документации на разрабатываемую модель. Такой порядок позволит создать исчерпывающее описание модели с обоснованием способа ее реализации. В текущей документации желательно приводить цель создаваемой модели, ее функции и обозначения входных, выходных данных. Для промежуточных данных описание приводится лишь для наиболее важных сигналов.
При наличии тактовых сигналов желательно установить один генератор тактовых сигналов с наименьшим периодом, поскольку получение большего периода сведется к применению счетчиков с требуемым основанием счета.
При передаче данных в ту или иную сторону на уровне функциональных блоков системы используется следующая логика: передача возможна только при условии, что приемник готов эти данные принять.
Взаимодействие смежных функциональных блоков (физический уровень, уровень канала и прикладной уровень, а также пользовательские процессы) можно организовать по следующей схеме. Каждый функциональный узел выдает сигнал готовности к приему данных от источника E_W и сигнал готовности к выдаче данных потребителю E_R. Соответственно, от смежных блоков получает сигналы: готовность источника выдать данные (разрешение на ввод) E_INP и готовность приемника получать данные (разрешение на вывод) E_OUT. При данном наборе сигналов возможна организация взаимодействия асинхронно работающих функциональных узлов.
На рис. 14 приведена промежуточная модель аппаратуры пункта управления.
Рис. 14 Схема организации взаимодействия асинхронных узлов
CANAL_LAER – канальный уровень, QUEUE – очередь, PRD – передатчик
Подобная система сигналов управления в целом соответствует интерфейсу RS-232 в части его работы в асинхронном режиме. На рис. 15 приведено назначения сигналов интерфейса применительно к компьютерному устройству DTE , взаимодействующему с модемом DCE.
Рис. 15. Назначение сигналов RS-232 относительно терминала
При проектировании функциональной схемы полезно предварительно разработать временные диаграммы предполагаемой работы отдельных узлов. Например, на рис. 16 показана процедура выборки физическим уровнем байтов кадра канального уровня. На рисунке показаны также временные интервалы.
Рис. 16 Временная диаграмма выделения байт из кадров канального уровня
При модернизации относительно сложной схемы необходимо сохранять ее под модифицированным именем, для получения точек откатки при неудачной модернизации.
В процессе отладки схемы, содержащей большое количество блоков и подсистем, для контроля используется Model Explorer, который вызывается с панели инструментов окна схемы.
Основные решения и выявленные проблемы необходимо документировать, сохраняя файл с документацией в элементе «doc». При использовании кириллических шрифтов текст рекомендуется набирать на верхнем регистре. Подписи всех блоков и сигналов выполняются латинскими шрифтами.
При отладке моделей и отслеживания дискретного времени различных блоков рекомендуется включить расцвечивание линий связи. (Format – Port/Signal/Displey – Sample Time Colors. При этом по умолчанию применяются следующие соглашения о цветах:
черный – непрерывные блоки
красный – наиболее быстродействующий дискретный сигнал
зеленый – второй по величине период квантования
синий – третий по величине период квантования
светло-синий – четвертый по величине период квантования
темно-зеленый – пятый по величине период квантования
голубой – переменный период квантования блока triggered sybsystem
желтый – дискретно-непрерывные блоки
сиреневый – постоянные блоки
Возможно использование цветовой окраски блоков (Format-Backgroubd Color) для выделения отдельных свойств и назначений блоков и подсистем, например:
зеленый – входные данные
синий – выходные данные
серый – средства визуализации
малиновый– отладочный элемент (подлежит удалению после отладки)
желтый – подсистемы пользователя с документацией
красный – проблемный элемент
Среда моделирования
Разделы библиотек
Для выполнения проекта могут быть полезными поставляемые со средой Matlab-Simulink библиотеки или отдельные разделы библиотек. В табл. 5 приведен рекомендуемый для применения список библиотек и разделов.
Таблица 5
Рекомендуемый список разделов и библиотек среды моделирования
Библиотека | Раздел (подраздел) |
simulink | все |
communications blockset | modulation |
signal processing blockset | signal management |
simpowersystems | extrea library (discret control blocks) |
simulink extrs | flip flops |
Общие начальные сведения о работе в среде Matlab–Simulink с примерами имеются в папках Mat_lab2, Simulink_2 и Simulink_3, размещенных на сервере кафедры в разделе курсового проектирования по дисциплине ТПС. Аннотации рассматриваемых примеров даны в файлах Readme.txt, расположенные внутри папок.
Рекомендуется познакомиться с примерами моделирования, поставляемыми вместе со средой Matlab-Simulink. Доступ к примерам можно получить из окна моделирования в среде Simulink при обращении к меню Help, раздел Demos.
В библиотеке Simulink рекомендуется просмотреть работу следующих демонстрационных моделей:
работа триггеров, организация на их базе счетчика и просмотр результатов моделирования в разделе General Applications, файл Flip-flop;
организация счетчиков на основе триггерных подсистем в разделе General Applications (файл Counters);
применение блока ветвления в разделе Block Diagramming Features (файл if_Then_Else Blocks);
использование блока Merge в разделе Block Diagramming Features (файл Merge Block);
особенности триггерных подсистем в разделе Block Diagramming Features (файл Advanced Enabled Subsystems);
применение системы для моделирования релейного контроллера бойлера в разделе General Applications (файл Bang-Bang Control using Temporal Logic);
преобразование формата данных в разделе Simulink Fixed Point (файл Double to Fixed-Point Conversion).
Ряд полезных для выполнения курсового проекта примеров находится в библиотеке Blocksets:
работа блока очередь в разделе Signal Processing (подраздел Miscellaneous, файл Queues);
создание и преобразование сигналов в разделе Signal Processing (подраздел Working with Signals);
шаблон для создания триггерных подсистем и управления ими находится в разделе Gauges (подраздел Switching Subsystems);
передача в линии связи с использованием квадратурной модуляции в разделе Communications (подраздел Channel Models and Impairments, файл Phase Noise Effects in 256 QAM);
оформление модели и ее описания на примере спутниковой линии связи в разделе Communications (подраздел Channel Models and Impairments, файл RF satellite Link).
На сервере кафедры в разделе курсового проекта по ТПС имеется папка «Полезные_элементы» с подготовительными материалами. В ней находятся следующие файлы:
основной набор блоков для реализации моделей – bloks_.mdl;
исследование функций пользователя – Fcn_.mdl;
исследование счетчиков – count_.mdl;
построение счетчика-распределителя на 14 позиций – ct_14.mdl;
исследование компараторов – compare_.md;
исследование буферов – вuffer_.mdl;