
- •Предисловие
- •1.3. Порядок выполнения работы
- •1.3.1. Меню командного окна
- •1.3.2. Настройка системы
- •Команда Set Path
- •Команда Preferences
- •Средства помощи пользователю. Демонстрация возможностей системы
- •1.3.3. Запуск Simulink
- •Демонстрация возможностей Simulink
- •1.3.5. Организация работы с библиотекой Simulink
- •Контрольные вопросы
- •2.2.1. Меню File
- •2.2.2. Меню Edit
- •2.2.3. Меню View
- •2.2.4. Меню Simulation
- •2.2.4.1. Установка параметров расчета модели
- •2.2.4.2. Установка параметров обмена с рабочей областью
- •2.2.5. Меню format
- •Контрольные вопросы
- •3.2.2. Simulink – Math, блок Combinatorial Logic
- •3.2.3. Описание логики функционирования элементов
- •3.2.4. Проверка работоспособности модели
- •3.2.5. Установка значений параметров модели
- •3.2.6. Редактирование блок-схемы диаграммы
- •3.2.7. Сохранение результатов моделирования
- •3.2.8. Накопление и использование результатов серии экспериментов
- •3.2.9. Использование взаимодействующих s-моделей
- •Контрольные вопросы
- •4.2.2. Генерация случайных величин с заданными параметрами
- •Контрольные вопросы
- •5.2.1. Выбор шага моделирования
- •5.2.2. Управление окончанием сеанса моделирования
- •5.2.3. Синхронизация параллельных процессов
- •Контрольные вопросы
- •Библиографический список
3.2.2. Simulink – Math, блок Combinatorial Logic
Откройте окно блок-диаграммы новой модели (untitled). Откройте раздел Math основной библиотеки Simulink Library Browser. Раздел Math содержит блоки, которые реализуют элементарные математические функции, операции математической логики, а также некоторые другие математические операции над входным сигналом. В состав этого раздела включен блок Combinatorial Logic, который представляет собой обобщенную модель конечного детерминированного автомата.
Поместите указатель на пиктограмму или наименование этого блока, нажмите ЛКМ и, не отпуская ее, отбуксируйте изображение блока в окно untitled. Отпустите кнопку мыши. В состав создаваемой S-модели включен первый элемент. Поскольку количество элементов заранее неизвестно, целесообразно разместить его в центре окна блок-диаграммы.
На следующем шаге целесообразно добавить в модель элементы, соответствующие двум другим объектам рассматриваемой задачи, — узлам, которые мы обозначили как Сайт 1 и Сайт 2, являющиеся источниками входных сигналов. Будем считать, что за время поиска содержимое узлов не обновляется (остается постоянным). Поэтому каждый из них в модели будет представлен блоком Constant из раздела библиотеки Sources. Откройте этот раздел, найдите нужный блок и отбуксируйте его в левую часть поля блок-диаграммы. Чтобы поместить в блок-диаграмму второй блок Constant, кроме буксировки можно использовать буфер обмена.
Блок Constant обеспечивает формирование скалярного или векторного сигнала. Значение сигнала указывается в поле Constant value (значение константы) окна настроек блока и может быть задано в одном из следующих форматов:
числовой константы, например 0;
вектора (последовательности чисел, заключенных в квадратные скобки), например [1 4 7];
матрицы (последовательность векторов, заключенная в квадратные скобки), например [[1 4 7] [5 9 2]];
вычисляемого выражения, например sin(3)+2.
Установленное значение отображается в пиктограмме блока Constant. Установим значение сигнала для обоих блоков, равное нулю. Открытие окна настройки блока Constant осуществляется двойным щелчком ЛКМ.
Обратите внимание, что имя (метка) этого блока несколько изменилось: оно называется Constant1. Объясняется это тем, что каждый блок, включенный в блок-диаграмму, должен иметь уникальное имя. Если бы в модели использовалось пять блоков Constant, то последний из них получил бы имя Constant4. Аналогичным образом именуются все блоки, используемые в модели.
Чтобы создаваемая модель более наглядно отражала существо рассматриваемой задачи, заменим метки блоков введенными нами обозначениями. Начнем с блока Combinatorial logic. Поместите указатель на название блока и щелкните ЛКМ. Название блока окажется заключенным в прямоугольную рамку, а указатель примет форму вертикальной мерцающей черты. Используя клавиатуру, удалите стандартное имя блока и замените его именем Посетитель. Щелкните ЛКМ вне текстовой области. Выделяющая рамка исчезнет. Выполните аналогичные действия с блоками Constant и Constant1 (замените их названия именами Caйт 1 и Сайт 2, соответственно).
Все блоки в блок-диаграмме обязательно должны иметь имя ‑ либо предложенное Simulink, либо назначенное разработчиком модели; поэтому нельзя сделать блок «безымянным», используя клавиши Del или Backspace; имя блока можно только «скрыть» с помощью команды Hide Name из меню Format.
Блок Combinatorial logic имеет ту особенность, что на его вход может поступать только один сигнал. А Посетитель должен получить информацию о состоянии обоих узлов. Как быть? Необходимо объединить два сигнала в один. Эту задачу можно решить с помощью блока Mux (раздел Signals&Systems). Найдите его и поместите в блок-диаграмме слева от блока Посетитель.
Теперь можно соединить блоки, помещенные в поле блок-диаграммы, в соответствии с логикой их взаимодействия: сигналы с выходов блоков Caйт l и Сайт 2 должны поступать на входы блока Mux, а объединенный сигнал с его выхода — передаваться на вход блока Посетитель. Для более удобного соединения блоков Caйт 1 и Сайт 2 с блоком Mux целесообразно немного «растянуть» последний по вертикали. Выберите указанный блок, подведите указатель к одному из его углов и «потяните» изображение в вертикальном направлении. После соединения блоков модель будет выглядеть приблизительно так, как показано на рис. 3.1.
Рис. 3.1. Блок-диаграмма первой модели