Как сделать схему в simulink
Построение логических схем с использованием Matlab/Simulink и Scilab/Xcos
Рубрика: Технические науки
Дата публикации: 18.01.2015 2015-01-18
Статья просмотрена: 9033 раза
Библиографическое описание:
Построение логических схем с использованием Matlab/Simulink и Scilab/Xcos / Р. В. Кожанов, А. Д. Артемова, И. М. Ткаченко [и др.]. — Текст : непосредственный // Молодой ученый. — 2015. — № 2 (82). — С. 163-167. — URL: https://moluch.ru/archive/82/14976/ (дата обращения: 28.01.2021).
Для автоматического управления различными технологическими процессами, рабочими механизмами и машинами используются логические системы управления, которые состоят из логических элементов. Логические элементы могут быть использованы как самостоятельные части схемы, когда применяются в качестве управляющей логики какого-либо устройства; в качестве комбинационных схем, которые используются в составе микросхем БИС и СБИС и как составляющие в схемах с памятью (триггеры, счетчики и т. д.).
Предварительно обратимся к перечню основных логических элементов, их обозначениям и записи соответствующих логических операций (табл. 1) [1].
Элемент «НЕ» (отрицание, инверсия)
Элемент «И» (логическое умножение)
Элемент «ИЛИ» (логическое сложение)
Кроме того, применяются операции — исключающее ИЛИ (сложение по модулю 2, строгая дизъюнкция, XOR) (рис. 1а.), инверсии логического сложения (операция ИЛИ-НЕ, стрелка Пирса) (рис. 1б) и инверсии логического умножения (операция И-НЕ, штрих Шеффера) (рис. 1в).
Рис. 1. Логические элементы: исключающее ИЛИ (а), ИЛИ-НЕ (б) и И-НЕ (в)
В статье [1] предложена авторская программа «Анализ и синтез логических систем управления», которая подходит для изучения основ работы логических элементов и систем. Первое задание позволяет изучить работу элементов «И» и «ИЛИ» (рис. 2а), второе — работу элементов «НЕ», «И-НЕ» и «ИЛИ-НЕ» (рис. 2б), а третье — работу всех перечисленных элементов («И, «ИЛИ», «НЕ»,«И-НЕ» и «ИЛИ-НЕ») (рис. 2в). К недостаткам данной программы следует отнести:
1) ограничение по количеству логических элементов (5–6 элементов);
2) используются только элементы «И», «ИЛИ», «НЕ», «И-НЕ», «ИЛИ-НЕ»;
3) фиксированное соединение элементов.
Рис. 2. Программа «Анализ и синтез логических систем управления» [1]
Для устранения недостатков данной программы и дальнейшего изучения работы логических систем, с точки зрения усложнения их структур и возможности модификаций, необходимо применять программы, реализующие принцип визуального программирования, в соответствии с которым пользователь на экране из библиотеки стандартных блоков (рис. 3) создает модель устройства и осуществляет расчеты. К таким программам можно отнести Simulink (приложение Matlab) и Xcos (приложение Scilab). Стоит отметить, что Scilab — это пакет прикладных математических программ, предоставляющий открытое окружение для инженерных (технических) и научных расчётов и самая полная общедоступная альтернатива Matlab [2], а Xcos является бесплатной альтернативой Simulink.
Рис. 3. Библиотеки стандартных блоков Matlab/Simulink (а) и Scilab/Xcos (б)
Для построения логических систем в Matlab/Simulink, в разделе LogicandBitOperations библиотеки Simulink (рис. 3а) имеется блок LogicalOperator (рис. 4) с помощью которого можно задать любую логическую функцию из заданного перечня, которые определяются свойствами блока.
Рис. 4. Свойства блока LogicalOperator
Область построения логической схемы разобьем на 4 блока: блок входных переменных, блок инверсий (может отсутствовать), блок логических операций и блок результата (рис. 5). В блоке Входных переменных с помощью блоков Constant задаются значения входных переменных — в виде одного значения (0 или 1) (рис. 5а) и в виде вектора (рис. 5б). В блоках Инверсий и Логических операций размещаются блоки LogicalOperator с заданными свойствами, а в блоке Результат — блок Display, который показывает результат вычисления логической схемы при заданных входных переменных X1, X2, X3.
Рис. 5. Схемы логических систем в Matlab/Simulink
Процесс построения логических систем в Scilab/Xcos. аналогичен предыдущему, но отличается перечнем логических функций в блоке Logicalop (рис. 6) и в отличие от аналогичного блока в Matlab/Simulink при изменении логической функции название блока не меняется, поэтому на схемах (рис. 7) сделаны надписи над блоками, указывающие какие логические функции они выполняют.
Рис. 6. Свойства блока Logical op
Рис.7. Схемы логической систем в Scilab/Xcos
Из проведенного анализа видно, что процесс построения логических систем в Matlab/Simulink и Scilab/Xcos одинаков, хотя и имеет отличия, связанные с перечнем логических функций. Рассмотренные приложения могут применяться для изучения работы логических систем, с точки зрения усложнения их структур и возможности модификаций.
1. Кожанов Р. В., Кожанова Е. Р., Ткаченко И. М., Захаров А. А. Автоматизация процесса проектирования логических систем управления // Актуальные проблемы электронного приборостроения АПЭП — 2014: материалы международ. научно-технич. конференции (25–26 сентября 2014, Саратов). Саратов, 2014. Т. 2. С. 153–158.
Документация
Создайте и отредактируйте модель в редакторе Simulink
Этот пример показывает основы того, как создать модель, добавьте блоки в него, блоки подключения, и моделируйте модель. Вы также изучаете, как организовать вашу модель с подсистемами, заглавными ролями модели, и изменить модель.
Для сводных данных действий мыши, чтобы соединить блоки и добавить порты в интерактивном режиме, смотрите Ярлыки Блока и Сигнальной линии и Действия.
Запустите Simulink и создайте модель
На вкладке MATLAB ® Home нажмите Simulink.
В Simulink ® Start Page кликните по шаблону Blank Model.
Новое основанное на модели на шаблоне открывается в Редакторе Simulink.
Добавьте блоки в модель
Минимальная модель берет входной сигнал, работает с ним и выводит результат. В Браузере Библиотеки библиотека Sources содержит блоки, которые представляют входные сигналы. Библиотека Sinks имеет блоки для того, чтобы получить и отобразить выводы. Другие библиотеки содержат блоки, которые можно использовать во множестве целей, таких как математические операции.
В этом примере базовой модели вход является синусоидой, операция является усилением (который увеличивает значение сигналов путем умножения), и вы выводите результат к осциллографу. Попробуйте различные методы, чтобы исследовать библиотеку и добавить блоки в вашу модель.
Откройте библиотеку Sources. В структурном виде Браузера Библиотеки кликните по библиотеке Sources.
Добавьте блок в свою модель с помощью контекстного меню. Щелкните правой кнопкой по блоку Sine Wave и выберите Add block to model untitled. Чтобы узнать больше о блоке, выберите Help из контекстного меню.
Добавьте блок в свою модель путем перетаскивания. В структурном виде библиотеки нажмите Math Operations. В библиотеке Math Operations найдите блок Gain и перетащите его к своей модели справа от блока Sine Wave.
В структурном виде библиотеки нажмите Simulink, чтобы просмотреть подбиблиотеки как значки на правой панели. Это представление является альтернативным способом переместиться по структуре библиотеки. Дважды кликните значок библиотеки Sinks.
В библиотеке Sinks найдите блок Scope и добавьте его в свою модель с помощью контекстного меню или путем перетаскивания его.
Данные показывают вашу модель до сих пор.
Примечание
Блоки Align и Connect
Соедините блоки, чтобы создать отношения между элементами модели, которые необходимы, чтобы заставить модель действовать. Чтение модели легче, когда вы выстраиваете в линию блоки согласно тому, как они взаимодействуют друг с другом. Ярлыки помогают вам к блокам align и connect.
Выпустите блок, и Blue Arrow появляется как предварительный просмотр предложенной связи.
Чтобы установить связь, кликните по стрелке. Сплошная линия появляется вместо руководства.
Выстройтесь в линию и соедините блок Scope с блоком Gain с помощью того же метода. Дополнительные руководства появляются, когда несколько блоков в области значений.
Совет
Используйте меню Diagram> Arrange для дополнительных опций выравнивания.
Установите параметры блоков
Можно установить параметры на большинстве блоков. Параметры помогают вам задать, как блок действует в модели. Можно использовать значения по умолчанию, или можно установить значения. Используйте Property Inspector, чтобы установить параметры. Также можно дважды кликнуть большинство блоков, чтобы установить параметры с помощью диалогового окна блока. Чтобы понять, когда использовать каждый подход, смотрите Setting Properties и Параметры.
В вашей модели, набор амплитуда синусоиды и значение усиления.
Отобразите Property Inspector. Выберите View> Property Inspector.
В диалоговом окне блока или в Property Inspector, когда вы устанавливаете значение параметров блоков к переменной или функции, Simulink предоставляет предложенный список, чтобы выбрать из на основе текущего текста, введенного в поле редактирования. Предложения включают следующие переменные или объекты из каждой рабочей области (основа, модель и маска), словарь данных и словарь, на который ссылаются, видимый к доступным для редактирования параметрам блоков. Автоматическое заполнение доступно для переменных, полей структур и объектов, и функционирует на пути MATLAB.
Добавьте больше блоков
Если вы знаете имя блока, который вы хотите добавить, можно использовать ярлык. Щелкните, где вы хотите добавить блок и ввести имя блока, в этом Усилении случая.
Список показанных предложений динамически оценивается на основе вашей недавней истории использования блока.
Кликните по имени блока или, с подсвеченным именем блока, нажмите Enter. Можно использовать клавиши со стрелками, чтобы подсветить имя блока, если это не является первым в списке.
Некоторые блоки отображают подсказку для вас, чтобы ввести значение для одних из параметров блоков. Блок Gain предлагает вам вводить значение Gain. Введите 3 и нажмите Enter.
Добавьте другой блок Scope. Можно щелкнуть правой кнопкой по существующему блоку Scope и перетащить, чтобы создать копию или использовать команды Paste и Copy.
Данные показывают текущее состояние модели.
Ответвление связь
Для первого набора блоков в вашей модели вы использовали руководства выравнивания по горизонтали, чтобы помочь вам выровнять и соединить их. Можно также использовать руководства, чтобы выровнять блоки вертикально. Перетащите второй блок Scope так, чтобы он выстроился в линию под первым. Выпустите его, когда руководство выравнивания по вертикали показывает, что блоки выравниваются.
Можно кликнуть по двум портам, чтобы соединить их. После того, как вы кликнете по первому порту, совместимые порты кажутся подсвеченными. Кликните по другому порту, чтобы соединиться.
Выровняйте и соедините блоки как показано.
Создайте ответвление из блока Sine Wave вывод к блоку Abs. Кликните по входному порту блока Abs. Переместите курсор к строке выходного сигнала от блока Sine Wave. Строка предварительного просмотра появляется. Щелкните, чтобы создать ответвление.
Также можно запустить ответвление путем нажатия на линейный сегмент и затем перемещения курсора к порту.
Попробуйте эти методы к блокам add или connect:
Перетащите от порта блока и релиза так, чтобы красный, пунктирный, появился. Дважды кликните конец строки, чтобы использовать ярлык вставки блока. Предложенные блоки для текущего контекста появляются в меню. Можно выбрать один из перечисленных блоков.
Чтобы улучшить предложения меню на основе ваших образцовых проектов, смотрите, Улучшаются, Быстрый Блок Вставляют Результаты.
Дважды кликните и затем введите имя блока, чтобы получить список блоков, который запускается с символов, которые вы ввели. Для пользовательских блоков библиотеки можно ввести ключевое слово блока, если автор библиотеки присвоил тот. Список оценивается на основе вашей недавней истории использования блока.
После того, как вы будете кликать по порту, будете содержать Shift, когда вы соединяетесь с другим портом. Содержание Shift помещает вас в режим, в котором можно сделать несколько, последовательные связи. Например, при содержании Shift, можно перейти новая сигнальная линия и соединить его с другой линией порта или сигнальной линией одним нажатием кнопки.
Выберите первый блок, и Ctrl+ кликают по блоку, с которым вы хотите соединить его. Этот метод полезен когда это необходимо, чтобы соединить блоки, которые имеют несколько вводов и выводов, таких как несколько блоков к шине или две подсистемы с несколькими портами. Как с нажатием на два порта, этот метод полезен, когда вы не хотите выравнивать блоки. Сигнальная линия изгибается по мере необходимости, чтобы установить связь.
Чтобы аппроксимировать диагональную строку от линейных сегментов, нажмите Shift и перетащите вершину.
Совет
Чтобы улучшить форму сигнальной линии, выберите строку и, от строки меню, выберите Auto-route Line. Строка перерисовывает, если лучший маршрут между элементами модели возможен. Можно выбрать Auto-route Lines из строки меню, чтобы улучшить строки с одним выбранным блоком или с элементами многоуровневой модели, выбранными путем перетаскивания рамки выделения.
Организуйте свою модель на компоненты
Можно сгруппировать блоки в подсистемах и блоках меток, подсистемах и сигналах. Для получения дополнительной информации о подсистемах, смотрите, Создают Подсистему.
Перетащите рамку выделения вокруг блока Abs и блока Gain рядом с ним.
Переместите курсор через замещающие знаки, которые появляются на углу поля, где вы закончили выбор. От строки меню выберите Create Subsystem.
Блок подсистемы появляется в модели вместо выбранных блоков.
Чтобы изменить размер блока подсистемы для лучшего помещаются в вашу модель, перетаскивают указатели блока.
Откройте подсистему Абсолютного значения путем двойного клика по нему.
Совет
Чтобы использовать Панель Проводника, чтобы переместиться по иерархии модели, щелкните правой кнопкой по подсистеме и выберите Open in New Tab.
Нажмите кнопку Up to Parent , чтобы возвратиться к верхнему уровню модели.
Данные показывают модель после того, как вы создадите подсистему и назовете ее.
Моделируйте модель и просмотрите результаты
В этом примере симуляция запускается в течение 10 секунд, настройки по умолчанию.
Блоки Double-click и Scope, чтобы открыть их и просмотреть результаты.
Данные показывают два результата. Во втором графике, как ожидалось, абсолютное значение синусоиды всегда положительно.
Измените модель
Можно добавить блоки в сигнал, удалить блоки от моделей и перерисовать связи. Чтобы изменить эту модель, добавьте смещение во вход к обоим ответвлениям вашей модели. Кроме того, замените один из осциллографов с различным приемником. Добавьте больше блоков в подсистему и другой вывод.
Перетащите блок на сигнальную линию после блока Sine Wave, но перед ответвлением. Если необходимо создать место для блока, перетащите блок Sine Wave налево или переместите конец ответвления путем перетаскивания его направо.
Когда вы перетаскиваете блок на сигнальную линию, блок соединяется с сигнальной линией в обоих концах. Выпустите блок, когда вы будете удовлетворены положением.
Удалите главный блок Scope. Нажмите Shift и перетащите блок, если вы хотите отключить его от модели, но не хотите удалять его. Сократите или удалите его с помощью команд меню Edit или нажатия клавиши. Поврежденная связь появляется как красная пунктирная линия.
Совет
Когда вы удаляете блок, который имеет вход того и один вывод, подсказка появляется между поврежденными строками связи. Кликните по подсказке, чтобы соединить сигналы.
Добавьте блок To Workspace в модель в конце поврежденной связи. Блок To Workspace выводит результаты к переменной в рабочем пространстве MATLAB.
Добавьте другой вход в подсистему. Перетащите строку от нового блока Sine Wave до левой стороны подсистемы. Новый порт, In2, появляется на подсистеме.
Добавьте вывод в подсистему. Добавьте другой блок To Workspace в модель и поместите его справа от подсистемы. Перетащите строку от ее входного порта до правой стороны подсистемы. Новый порт, Out2, появляется на подсистеме.
Затем возвратитесь к верхнему уровню модели. Данные показывают текущую модель.
Переменные simout и simout1 появляются в рабочем пространстве MATLAB. Дважды кликните каждую переменную, чтобы исследовать результаты.
Если вы хотите использовать вторую синусоиду, как введено для алгоритма подсистемы, открыть подсистему и дважды кликнуть переключатель. Вход изменяется на In2. Моделируйте снова.