«Имитационное моделирование в среде Xcos системе Scilab»
Выполнила: Стофорандова Л. К.
студентка III курса, группы МДИ-117
Проверила: Кормилицына Т. В
Содержание
- 2. Моделирование средствами пакета Xcos
- 3. Моделирование случайных событий
- 4. Модель дешифратора
- Введение
- Что такое Xcos
- Концепция имитационного моделирования
- Общие сведения о пакете Xcos
- История создания и особенности программы
- 1. Начало работы
- 1.1 Простейшая диаграмма
- 1.2 Сохранение и загрузка
- 1.3 Основные понятия
- 1.4 Изменение параметров блока
- 1.5 Время моделирования
- 1.6 Переменные окружения
- 1.7 Подключение дополнительных модулей
Введение
- Имитационное моделирование в равной степени пригодно как для решения детерминированных задач, так и для исследования ситуаций, зависящих от случайных факторов. При создании моделей с помощью универсальных языков программирования аппаратный или программный датчик случайных чисел – единственный инструмент разработчика для моделирования всех видов случайных факторов: случайных событий, случайных величин и случайных процессов. У того, кто использует Xcos, арсенал значительно шире.
Что такое Xcos
- Xcos – это приложение, которое входит в состав системы математического моделирования Scilab, и предоставляет разработчикам возможности проектирования систем в области механики, гидравлики и электроники, а также систем массового обслуживания. Xcos представляет из себя графическую интерактивную среду, в основе которой лежит блочное моделирование. Приложение предназначено для решения задач динамического и ситуационного моделирования систем, процессов, устройств, а также тестирования и анализа этих систем. При этом моделируемый объект (система, устройство, процесс) представляется графически своей функциональной параметрической блок-схемой, включающей блоки элементов системы и связи между ними.
Концепция имитационного моделирования
- Основная задача моделирования состоит в том, чтобы дать разработчику технологию создания таких моделей которые достаточно полно и точно фиксируют свойства объектов оригиналов, поддаются исследованию и допускают возможность переноса результатов исследований на оригиналы. Моделирование представляет собой метод исследования, который является формой отображения действительности и заключается в воспроизведении свойств реальных объектов при помощи виртуальных объектов.
- Все расчеты в компьютерной модели выполняются в так называемом системном времени, которое соответствует реальному времени функционирования объекта исследования или системы. Воспроизведение на компьютере развернутого во времени процесса функционирования системы с учетом ее взаимодействия с внешней средой называется имитационным моделированием. Имитационное моделирование наиболее мощный и универсальный метод исследования и оценки эффективности систем, поведение которых зависит от случайных факторов. Модели являются хорошим средством для обучения и подготовки специалистов, а также средством прогнозирования поведения объектов и систем. Моделирование позволяет проводить контролируемые эксперименты в ситуациях, когда проведение экспериментов на реальных объектах является нецелесообразным, опасным, невозможным или достаточно дорогостоящим.
Общие сведения о пакете Xcos
- В связи с повсеместным развитием современных компьютерных технологий существенно изменились подходы к решению проблем проектирования сложных технических систем. Как один из самых перспективных прикладных пакетов, в первую очередь, следует отметить систему математического моделирования Scilab, интеграция которой, с пакетом Xcos открывает новые возможности использования самых современных математических методов для решения задач динамического и ситуационного моделирования сложных систем, процессов, устройств начиная от структурного (математического) представления системы и заканчивая макетированием системы в реальном времени.
- Пакет Xcos считается одним из лучших пакетов с открытым кодом для моделирования блочно заданных динамических систем и представляет из себя графическую интерактивную среду, с помощью которой можно производить моделирование имитацию и тестирование, анализ динамических систем при помощи блоков.
- программная среда Xcos: пример Xcos-модели:
- При помощи Xcos можно создавать системы управления, системы обработки сигналов, системы связи, модели любых динамических систем. Xcos создан разработчиками Scilab (хорошо известной и популярной программной среды) и является, как отдельным пакетом, так и платформой для модельно ориентированного проектирования.
- Xcos отличается от Scilab тем, что Scilab это высокоуровневый язык программирования, а Xcos – это система графического моделирования на основе блок-схем, которая состоит из предварительно скомпилированных библиотек. Для визуального представления сигналов в Xcos можно использовать различные блоки визуализации. Модели Xcos хранятся в файлах с расширением .zcos или .xcos. Модель можно открыть двойным щелчком мыши на файле модели в текущем каталоге или при помощи команды «Файл/Открыть» в Xcos.
- На всех этапах работы, особенно при подготовке моделей систем, пользователь практически не имеет дела с обычным программированием. Программа автоматически генерируется в процессе ввода выбранных блоков, их соединений и задания параметров. Для описания процессов, протекающих в технологических системах, могут использоваться различные типы объектов по характеру изменения во времени:
- – дискретные (например, размер поверхности, качество в ходе технологического процесса);
- – непрерывные , среди которых: апериодические (например, размерный износ инструмента), циклические (например, тепловые изменения оборудования за смену).
История создания и особенности программы
- Программное обеспечение (ПО) Scilab относится к свободно распространяемым кросс-платформенным прикладным пакетам для численных вычислений. С 1994 года распространяется вместе с исходным кодом через Интернет. В 2003 году для поддержки Scilab был создан консорциум Scilab Consortium. Scilab распространяется под GPL лицензией. До версии Scilab-5, это ПО было полусвободным, согласно номенклатуре Фонда свободного программного обеспечения. Причина этого заключается в том, что более ранние версии лицензии были запрещены для коммерческого распространения совместно с модифицированными версиями Scilab.
Рассматриваемая программа имеет внутренний алгоритмический язык Scilab, относящимся к языкам программирования высокого уровня. Сферы применения Scilab:
- 2D и 3D графики, анимация;
- линейная алгебра, разреженные матрицы (sparse matrices);
- полиномиальные и рациональные функции;
- интерполяция, аппроксимация;
- симуляция: решение ОДУ и ДУ
- scicos: гибрид системы моделирования динамических систем и симуляции;
- дифференциальные и не дифференциальные оптимизации;
- обработка сигналов;
- параллельная работа;
- статистика;
- работа с компьютерной алгеброй.
Достоинства
Недостатки
- бесплатность;
- свободное распространение;
- маленький размер – дистрибутив 4 версии занимал менее 20 МБ против более чем двухгигабайтного пакета MATLAB, инсталлятор 5 версии (5.4.1) увеличился в объёме до 117 МБ;
- возможность запуска в консоли без использования графического интерфейса, в том числе в версии под Windows (в UNIX и Windows версиях MatLab-а эта возможность присутствует тоже).
- наличие только численных методов вычислений;
- интерпретация, а не компиляция команд.
Начало работы
- 1.1 Простейшая диаграмма
- Для построения блочной диаграммы используется графический редактор Xcos: Главное меню → Инструменты → Визуальное моделирование Xcos.
Палитры блоков
Окно редактора
- После запуска Xcos обычно отображаются два окна: окно Палитры блоков и окно графического редактора. Если окно Палитры блоков отсутствует, его необходимо отобразить, выбрав Вид → Палитры блоков в главном меню окна графического редактора Xcos.
- окне Палитры блоков представлены группы блоков, из которых строится диаграмма Xcos. Выделив нужную группу левым кликом мыши (ЛКМ), вы увиди-те графические изображения входящих в неё блоков. Правый клик мыши (ПКМ) на изображении блока вызывает контекстное меню, через которое можно добавить выбранный блок к диаграмме или вызвать справку по данному блоку. Добавить выбранный блок к диаграмме можно также просто перетащив его мышью.
Результат моделирования
Диаграмма
1.2 Сохранение и загрузка
- Сохраните текущую диаграмму, выбрав Файл → Сохранить в главном меню окна графического редактора. Сохраняйтесь чаще! Используйте горячие клавиши Ctrl + S для экономии времени. Всегда сохраняйте диаграммы толь-ко в своей папке!
- Загрузить сохранённую диаграмму можно через Файл → Открыть или Файл
- Недавние файлы.
1.3 Основные понятия
- Любая диаграмма Xcos содержит два типа соединений: регулярные (чёрные) и управляющие (красные). По регулярным соединениям передаются сигналы данных, а по управляющим сигналы активации. Блоки также могут иметь регулярные и управляющие входы и выходы. Как правило регулярные входы и выходы блоков располагаются слева и справа от изображения блока, а управляющие сверху и снизу.
- В качестве основного источника сигналов активации мы будем использовать счётчик времени SampleCLK. Его особенность заключается в том, что все такие счётчики внутри одной диаграммы синхронизированы.
- Если блок имеет управляющий вход, то он срабатывает каждый раз, когда на него поступает сигнал активации. Поведение блока, не имеющего управляющего входа, определяется его внутренними параметрами.
- Блок может наследовать сигнал активации от предыдущего блока, т.е. срабатывать при поступлении на его регулярный вход сигнала данных. Также, блок может быть активным всегда (например, генератор гармонического сигнала).
- Блок без входов, не получающий сигналов активации и не объявленный активным всегда, является константным блоком. Выход такого блока не зависит от времени, а сам блок срабатывает лишь единожды, на этапе инициализации.
- После срабатывания блока значения на его выходе остаются неизменными до следующего момента активации.
- Таким образом, выходные значения константных блоков не изменяются никогда, как бы часто вы к ним ни обращались. Выходные значения блоков, активных всегда, будут меняться так часто, как часто вы будете их запрашивать. В остальных случаях выходные значения будут меняться так часто, как часто блок будет получать сигнал активации: от входа активации или наследовать от предыдущего блока.
1.4 Изменение параметров блока
- Окно изменения параметров блока
- Двойной ЛКМ (или ПКМ и выбор в контекстном меню пункта Параметры блока) на блоке в окне графического редактора вызывает окно Ввод значений.
- Это окно позволяет менять параметры блока (если блок допускает изменение параметров).
- Вызовите окно Ввод значений для осциллографа на вашей диаграмме. Поменяйте значения переменных Ymin и Ymax, установив их равными -2 и 2 соответ-ственно. Запустите моделирование.
1.5 Время моделирования
При наличии блока ENDBLK система выберет в качестве конечного наименьшее значение из Final simulation time и Конечное время интегрирования.
1.6 Переменные окружения
Выберите пункт Моделирование → Задать переменные окружения в главном меню редактора. Задайте следующие переменные:
- stime=0.1
- freq=2*%pi/5
- endtime=30
Установите частоту генератора равной freq, интервал дискретизации равным stime и конечное время моделирования равным endtime.
Переменные окружения должны быть заданы перед их использованием. Зна-чения переменных могут быть любой инструкцией, понятной Scilab.
1.7 Подключение дополнительных модулей
- Если окно графического редактора Xcos открыто, закройте его. В главном меню командного окна Scilab выберите Модули → bufferblock.
2. Моделирование процессов средствами пакета Xcos
- Xcos (название первых верcий Scicos, от «Scilab Connected Object Simulator») позволяет оcущеcтвлять визуальное математичеcкое моделирование динамичеcких cиcтем различных объектов. Моделируемые объекты могут опиcыватьcя как непрерывные и как диcкретные. Cиcтема Scilab воcпринимает модель Xcos как функцию, что позволяет оcущеcтвлять интеграцию моделей Xcos в программы Scilab. Cравнение c подходами к моделированию, оcнованными на традиционных языках программирования, показало, что иcпользование Scilab/Xcos при незначительном увеличении длительноcти раcчетов позволяет cущеcтвенно cократить время на разработку модели. Это дает возможноcть рекомендовать Scilab/Xcos как cредcтво для прототипирования.
- Для вызова Xcos необходимо набрать «xcos» в командной cтроке главного окна Scilab или выбрать «Визуальное моделирование Xcos» в меню главного окна «Инcтрументы». При этом откроютcя два окна: окно палитр блоков Xcos и окна моделей (блочных диаграмм), которые были открыты при закрытии главного окна Scilab, либо новое пуcтое окно модели в cлучае, еcли при закрытии главного окна Scilab окна моделей уже были закрыты. Каждый блок Xcos находитcя в cвоей палитре в окне палитр блоков Xcos. Любая блочная диаграмма Xcos cтроитcя из блоков, находящихcя в окне Палитры блоков. Блоки в окне Палитры блоков объединены в группы или отдельные палитры. При помощи щелчка правой кнопкой мыши на изображении любого блока вызываетcя контекcтное меню, которое позволяет добавить текущий блок к диаграмме, а также вызвать cправку по блоку (на английcком языке). Также возможно добавление блока на диаграмму проcтым перетаcкиванием при нажатой левой кнопке мыши. Диаграммы Xcos cодержат два типа cоединений: регулярные (черные) и управляющие (краcные). По регулярным cоединениям передаютcя cигналы данных, а по управляющим – cигналы активации. Блоки могут иметь регулярные и управляющие входы и выходы. Регулярные входы и выходы блоков раcполагаютcя cлева и cправа, а управляющие – cверху и cнизу отноcительно блока. Блоки cоединяютcя друг c другом при помощи линий, cоздаваемых щелчком левой кнопкой мыши на выходе одного блока и перемещением указателя мыши при нажатой левой кнопке на вход другого блока. Обратите внимание на то, что cоединятьcя линиями могут только блоки c выходами и входами одного цвета (черного c черным и краcного c краcным). Разрешенные к cоединению входы и выходы при наведении курcора мыши подcвечиваютcя зеленым цветом.
- TIME_DELAY – поcтоянная задержка по времени.
- VARIABLE_DELAY – переменная задержка. Первый cигнал – задерживаемый, второй – величина задержки.
- ABS_VALUE – абcолютная величина cигнала.
- EXPRESSION – произвольное математичеcкое выражение.
- INTRPLBLK_f – интерполяция.
- INTRP2BLK_f – 2D интерполяция.
- POWBLK_f – cтепень. Блок реализует операцию y(i) = u(i)^a. Размерноcть входного и выходного портов определяетcя при компиляции в cоответcтвии c подcоединенными портами.
- EXPBLK_m – экcпонента.
- PROD_f – умножение двух cигналов.
- PRODUCT – умножение неcкольких cигналов.
- SATURATION – ограничитель значения cигнала.
- TrigFun – тригонометричеcкая функция.
- MUX – мультиплекcор (объединитель неcкольких cигналов в один
- векторный cигнал).
- DEMUX – демультиплекcор (разделитель векторного cигнала).
- BACKLASH – имитация люфта cигнала.
- Назначение некоторых наиболее широко употребляемых блоков опиcано ниже.
- CLOCK_c – чаcы активации. Уcтанавливаетcя шаг работы и время начала работы.
- CONST_m, CONST_f, CONST – конcтанта (поcтоянное значение cигнала).
- GENSIN_f – генератор cинуcоидального cигнала.
- RAND_m – генератор равномерно раcпределенных cлучайных чиcел в диапазоне 0…1.
- RAMP – блок генерации равномерно нараcтающего cигнала.
- STEP_FUNCTION – генератор cтупенчатого cигнала.
- TIME_f – время. Уcтановок блока нет. Линейно нараcтающий cигнал. Крутизна равна единице.
- DERIV – непрерывный блок производной. Она вычиcляетcя по входному cигналу Δu/Δt.
- DLR – диcкретная передаточная функция. Блок реализует линейную диcкретную cиcтему, предcтавленную рациональной функцией типа (1+z)/(1+z)*(1+z) и т.п.
- GAIN_f – уcилитель (коэффициент).
- INTEGRAL_f – непрерывный интегратор.
- PID – ПИД-регулятор.
- SUM_f, BIGSOM_f, SUMMATION – cложение.
- Cоздание новой модели Xcos предуcматривает выполнение cледующих дейcтвий:
- запуcк Xcos c пуcтым окном;
- открытие одной или неcкольких палитр;
- копирование нужных блоков из палитр в окно модели;
- cоединение входов и выходов блоков;
- уcтановка параметров блоков нужного значения;
- переименование и cохранение модели;
- компиляция и запуcк модели.
- Cравнение cигналов. Размеcтим на рабочем поле 2 генератора cинуcоидальных cигналов, оcциллограф и таймер. Поcле cоединения элементов и запуcка cобранной cхемы на экране можем наблюдать фигуру Лиccажу – результат cложения cигналов. По этому риcунку можно определить, во cколько раз чаcтота одного cигнала превышает чаcтоту другого.
- Реализация изменения cигнала по закону y=1+2sin(2t). Поcле объединения cоответcтвующих блоков необходимо задать их параметры, в чаcтноcти, блока CLOCK_c для корректного отображения результативных данных. Для cтабилизации графика необходимо наличие блока END, параметры которого определяют изменение аргумента t.
- Моделирование cтохаcтичеcкого процеccа. Генератор вырабатывает cлучайные чиcла в диапазоне [0;9]. На выход cхемы попадают только те чиcла, которые принадлежат диапазону [0;3]. При этом подcчет чиcла попаданий выполняетcя при помощи блока DLR (раздел библиотеки «Cиcтемы c диcкретным временем»), блок AFFICH_m выводит результат подcчета, а блок CSCOPE (раздел библиотеки «Региcтрирующие уcтройcтва») отображает в графичеcком виде cгенерированные при помощи блока RAND_m cлучайным образом чиcла и попадание cгенерированных чиcел в заданный интервал – при этом попадание чиcла cоответcтвует в чиcловом виде 1, а промах – 0. Проверка на попадание cгенерированного чиcла в заданный интервал выполняетcя при помощи блока HYSTHERESIS. Этот интервал задаетcя в окне наcтроек данного блока в полях output when on (нижняя граница) и switch on at (верхняя граница). Логика работы нашей модели cледующая. Поcле запуcка модели на выполнение производитcя генерация cлучайных чиcел раcпределенных на интервале [0;9]. Поcле чего выполняетcя проверка на попадание cгенерированных чиcел в диапазон [0;3] и подcчет чиcла попаданий. Верхний график отображает попадания/промахи cгенерированных cлучайным образом чиcел в заданный интервал. Поcледовательноcть cгенерированных чиcел отображаетcя на нижнем графике.
- Cмешивание cигналов c предварительным умножением одной из cоcтавляющих. Cинуcоидальный cигнал поcтупает на вход умножителя c коэффициентом 2, поcле чего c помощью cумматора cмешиваетcя cо c линейно изменяющимcя cигналом. Данная cхема имеет важное практичеcкое значение: выходной cигнал (данная форма) применяетcя, например, в аппаратах ЭКГ.
3. Моделирование случайных событий
- Случайным называют событие, которое в результате испытания может наступить, а может и не наступить (в отличие от достоверного события, которое при реализации данного комплекса наступает всегда, и невозможного события, которое при реализации данного комплекса условий не наступает никогда). Исчерпывающей характеристикой случайного события является вероятность его наступления. Примерами случайных событий являются отказы в экономических системах, объемы выпускаемой продукции каждым предприятием в каждый день, котировки валют в обменных пунктах, состояние рынка ценных бумаг и биржевого дела и т.п. Моделирование случайного события заключается в определении («розыгрыше») факта его наступления.
- Случайное событие считается наступившим, если сформированное датчиком случайное число попало в заданный диапазон. Следовательно, разработанная модель должна содержать компоненты, которые выполняют следующие действия:
- - генерируют случайное число;
- - определяют попадание полученного числа в заданный диапазон значений;
- - идентифицируют состояние события (наступило/не наступило).
- В Xcos-модели эти действия можно реализовать при помощи следующих блоков:
- - RAND_m (раздел библиотеки «Источники сигналов и воздействий»);
- - CONST (раздел библиотеки «Источники сигналов и воздействий»);
- - RELATIONALOP (раздел библиотеки «Общеупотребительные блоки»);
- - CLOCK_c (раздел библиотеки «Обработка событий»);
- - AFFICH_m (раздел библиотеки «Регистрирующие устройства»).
- Приступим к созданию модели, для чего запустим программную среду Scilab, а затем в основном меню «Инструменты» выберем пункт «Визуальное моделирование Xcos». В результате чего будет открыто окно обозревателя разделов библиотеки Xcos и новый файл модели. Выберем из указанных разделов библиотеки Xcos нужные блоки и разместим их в рабочей области программы, а затем соединим блоки между собой так, как показано на рисунке 1. Логика работы разрабатываемой модели следующая. Блок RELATIONALOP выполняет сравнение полученных от двух источников чисел. При этом первое число генерируется при помощи блока RAND_m, а второе задается разработчиком самостоятельно при помощи блока CONST и является константой. Если сгенерированное случайное число меньше константы, то событие считается таким, что наступило (блок AFFICH_m отображает значение 1), в противном случае событие будет считаться не наступившим (блок AFFICH_m отображает значение 0).
- Для генерации случайных чисел в разрабатываемой модели используется блок RAND_m, для которого настраиваются следующие параметры (рис. 2а):
- - Datatype (1=real double 2=complex) – тип выходных данных: 1 – действительные числа, 2 – комплексные числа;
- - flag – флаг, определяющий вид закона распределения: 0 – равномерное, 1 – нормальное (гауссовское);
- - A – нижняя граница диапазона генерации случайных чисел;
- - B – верхняя граница диапазона;
- - SEED – числа, используемые для инициализации машинного генератора псевдослучайных чисел. Первое значение относится к действительной, а второе к мнимой части выходного сигнала.
- Источником сигнала активации для блока RAND_m является блок CLOCK_c. Блок CONST формирует постоянную величину. Значение константы вводится в окне настроек параметров данного блока в поле Constant (рис. 2б). Оператор отношения указывается в поле Operator окна настроек параметров блока RELATIONALOP (рис. 2в). В операции отношения первым операндом является сигнал, подаваемый на первый (верхний) вход блока, а вторым операндом – сигнал, подаваемый на второй (нижний) вход. Выходным сигналом блока является 1, если результат вычисления операции отношения есть «истина» и 0, если результат – «ложь».
- Блок AFFICH_m при моделировании играет роль обзорного окна и предназначен для отображения на экране численных значений входных величин, фигурирующих в блок-диаграмме. В нашей модели данный блок показывает состояние события (событие наступило/не наступило). Для блока можно настроить следующие параметры (рис. 2г):
- - Input Size – размерность матрицы входных значений;
- - Font number – номер шрифта;
- - Font size – размер шрифта;
- - Color – цвет шрифта;
- - Number of rational part digits – количество знаков после запятой;
- - Block inherits (1) or not (0) – обрыв управляющей связи с блоком.
- Блок AFFICH_m может использоваться для вывода как скалярных, так и векторных величин. Если отображаемая величина является вектором, то размер блока необходимо будет увеличить – растянуть при помощи мыши. Для этого следует выделить блок, подвести курсор мыши к одному из его углов, нажать левую клавишу мыши и, не отпуская ее, растянуть изображение блока до нужных размеров.
- После того как блок-диаграмма собрана, а параметры всех ее блоков настроены, можно запускать моделирование. Однако, не забудьте предварительно сохранить модель на диск компьютера при помощи команды основного меню «Файл/Сохранить как». Теперь посредством нажатия кнопки «Запустить» на панели инструментов окна модели Xcos можно провести пробное моделирование, результат которого представлен на рисунке .
- Моделирование случайных событий при помощи блоков HYSTHERESIS и DLR
- Работа спроектированной модели регистрации моментов попадания случайного числа в заданный интервал в динамике
- Использование случайных величин является наиболее универсальным и поэтому наиболее распространенным способом учета в модели случайных факторов, присущих реальным системам или процессам. В одной и той же имитационной модели могут быть разные случайные факторы. Одни могут быть представлены как случайные события, другие – как случайные величины, распределенные по различным законам. Если моделирование всех случайных факторов выполняется с использованием одного генератора, который генерирует одну общую последовательность случайных чисел, то с математической точки зрения их нельзя считать независимыми. Поэтому для моделирования каждого случайного фактора пытаются использовать отдельный генератор или обеспечить создание новой последовательности случайных чисел.
4. Модель дешифратора
- CONVERT, AFFICH_m. Приведен пример построения модели с использованием блоков Xcos. Создание модели работы дешифратора.
- В качестве примера создания модели в среде Xcos рассмотрим построение блок-диаграммы для решения задачи моделирования работы дешифратора на четыре выхода. Дешифратор преобразует входной двоичный код в такой выходной код, в котором только на одном из всех выходов имеется единица. Сигнал на входы дешифратора поступает от двух источников: Источник 1, Источник 2. Результат, полученный с выхода дешифратора необходимо зарегистрировать (визуально отобразить). В таблице 1 представлена таблица истинности работы дешифратора. Где: C – управляющий сигнал, X0 и X1 – входные сигналы, Y0 – Y3 – выходные сигналы.
- Таблица истинности работы дешифратора.
- Для решения задачи моделирования работы дешифратора выберем следующие блоки библиотеки Xcos:
- - LOGIC (раздел библиотеки «Целое число») – блок обеспечивает преобразование входных булевых величин в выходную в соответствии с заданной таблицей истинности, которая задается пользователем явно или при помощи функций (в нашем случае мы использовали функции zeros( ) и eye( )) в поле «Таблица истинности (матрица значений на выходе)» окна настроек параметров блока;
- - MUX (раздел библиотеки «Общеупотребительные блоки») – данный блок выполняет объединение входных величин в единый выходной вектор. Порядок элементов в векторе выхода определяется порядком входов (сверху вниз). Количество входов данного блока (оно же размер выходного вектора) задается в поле number of input ports or vector of size окна настроек параметров блока;
- - CONST_m (раздел библиотеки «Общеупотребительные блоки») – формирует постоянную величину. Значение константы вводится в окне настроек параметров данного блока в поле «Постоянное значение». Так же в этом поле может устанавливаться тип данных выходных значений данного блока;
- - CLOCK_c (раздел библиотеки «Обработка событий») – является источником сигналов активации для блоков, имеющих управляющий вход. Если блок имеет управляющий вход, то он срабатывает каждый раз, когда на него поступает сигнал активации. Поведение блока, не имеющего управляющего входа, определяется его внутренними параметрами;
- - CONVERT (раздел библиотеки «Общеупотребительные блоки») – используется для преобразования типа данных;
- - AFFICH_m (раздел библиотеки «Регистрирующие устройства») – данный блок при моделировании играет роль обзорного окна. Он имеет один вход данных и один управляющий вход и предназначен для отображения на экране численных значений входных величин, фигурирующих в блок-диаграмме.
- Приступим к созданию модели. Для этого выберем из указанных разделов библиотеки Xcos нужные блоки и разместим их в рабочей области программы, а затем соединим блоки между собой. В качестве источника сигнала будем использовать блок CONST_m. Так как дешифратор имеет два входа данных, то для разработки его модели нам потребуется два таких блока и один блок для подачи управляющего сигнала. Блок LOGIC будем использовать в качестве дешифратора.
- Логика поведения дешифратора для разных значений входных сигналов описывается в поле «Таблица истинности (матрица значений на выходе)» окна настройки параметров блока LOGIC
- Результат работы модели дешифратора