Блоки драйверов Simulink® Desktop Real-Time™ I/O позволяют вам выбирать и соединять определенные аналоговые каналы и цифровые линии к вашей модели Simulink через блоки драйверов ввода-вывода. Эти блоки обеспечивают интерфейс к вашим физическим платам ввода-вывода и вашему приложению реального времени. Они позволяют коду С, созданному программным обеспечением генерации кода Simulink Coder™ сопоставить сигналы блок-схемы с соответствующими каналами ввода-вывода. Все блоки ввода-вывода поддерживают все применимые типы данных Simulink.
У вас может быть несколько блоков ввода-вывода, сопоставленных с каждым типом платы ввода-вывода. Например, у вас могут быть один блок Analog Input для каналов 1–4 и другой блок для каналов 5–8. Каждый блок I/O в модели задает свои собственные параметры конфигурации блока, которые применяются только к тому экземпляру того блока.
Возможность блока драйверов ввода-вывода доступна, только если соответствующее аппаратное устройство ввода-вывода поддерживает ту возможность. Например, ориентированный на данные на устройства как Последовательный порт и Файл поддерживают пакет и потоковые блоки ввода-вывода. Однако устройства сбора данных не поддерживают пакет и потоковые блоки ввода-вывода.
Библиотека Simulink Desktop Real-Time обеспечивает блоки, которые можно использовать с поддерживаемыми платами ввода-вывода. Можно также создать собственные блоки ввода-вывода, чтобы работать с программным обеспечением Simulink Desktop Real-Time. Смотрите Пользовательские Основы Драйвера ввода-вывода для деталей.
Блоки драйверов ввода-вывода доступны в Библиотеке Simulink Desktop Real-Time. Чтобы просмотреть эту библиотеку из Командного окна MATLAB®, введите:
sldrtlib
Просмотреть Библиотеку Simulink Desktop Real-Time из модели:
В Редакторе Simulink, на вкладке Simulation, нажимают Library Browser.
Браузер Библиотеки Simulink открывается. Левая панель показывает иерархию библиотек и категорий с Библиотекой Simulink наверху. Правая панель показывает блоки, доступные в категории, выбранной слева.
В левом столбце дважды кликните Simulink Desktop Real-Time.
Библиотека Simulink Desktop Real-Time открывается.
Можно добавить блок I/O в библиотеке к модели Simulink путем перетаскивания его от библиотеки до модели. После того, как вы добавляете блок, соединяете его с вашей моделью, когда вы были бы любой другой блок, и введите значения параметра конфигурации блока.
Блоки драйверов ввода-вывода выводят несколько сигналов как вектор вместо отдельных каналов или линий. Чтобы соединить отдельные каналы и линии к частям вашей модели Simulink, разделите вектор блоком Demux.
После того, как вы добавите и сконфигурируете блок драйверов ввода-вывода в своей модели Simulink, можно разделить и соединить выходные сигналы блоков:
В Редакторе Simulink, на вкладке Simulation, нажимают Library Browser.
В библиотеке Simulink нажмите Signal Routing. Из списка на правой панели перетащите Demux к своей модели Simulink.
Дважды кликните блок Demux. Параметры блоков: диалоговое окно Демультиплексора открывается. Введите номер линий, оставив блок Demux. Например, если вы ввели три канала в блок Analog Input, введите 3
в поле Number of outputs.
Нажмите OK.
Соедините блок Analog Input с входом блока Demux.
Соедините каждый блок Demux выходные линии к входу других блоков.
На вкладке Debug нажмите Diagnostics> Information Overlays> Nonscalar Lines.
На вкладке Debug нажмите Diagnostics> Information Overlays> Signal Dimensions.
В этом примере не соединяются входные параметры 1 и 2, но они могли быть соединены с другими блоками Simulink.
Чтобы показать, как задать настройки устройства и при использовании аналоговых и при использовании цифровых сигналов, этот пример использует плату Keithley® Metrabyte™ DAS 1601 I/O. Следующее является сводными данными спецификации платы DAS-1601:
Аналоговый вход (A/D) — 16 несимметричных или 8 дифференциальных (12-битных) аналоговых входов, полярность является переключателем, сконфигурированным или как униполярным (0-10 вольт) или как биполярный (± 10 вольт). Усиление является программным обеспечением, сконфигурированным к 1, 10, 100, и 500.
Цифровой вход — Четыре однонаправленных цифровых входа
Аналоговый выход (D/A) — Два (12-битные) аналоговых выхода. Усиление является переключателем, сконфигурированным как 0-5 вольт, 0-10 вольт, ± 5 вольт или ± 10 вольт
Цифровой выход — Четыре однонаправленных цифровых выхода
Базовый адрес — Переключатель сконфигурировал базовый адрес
Этот раздел исследует различные настройки для входных сигналов.
Если блок Analog Input был помещен в модель и плату ввода-вывода, выбранную и сконфигурированную, можно настроить блок Analog Input, чтобы обработать входные сигналы.
Single analog input — Самый основной случай является одним сигналом аналогового входа, который физически соединяется с первым каналом аналогового входа на плате. В Параметрах блоков: диалоговое окно Analog Input и поле Input channels, введите:
1 or [1]
Использование скобок является дополнительным для одного входа.
Input vector with differential analog — Пронумеруйте аналоговые каналы от канала 1 до максимального количества аналоговых сигналов, поддержанных платой ввода-вывода.
В случае DAS-1601 когда сконфигурировано, когда дифференциал вводит, восемь аналоговых каналов поддерживаются. Линии аналогового входа пронумерованы 1 - 8. Полный входной вектор:
[1 2 3 4 5 6 7 8] or [1:8]
Если вы хотите использовать первые четыре дифференциальных аналоговых канала, войти
[1 2 3 4]
Input vector with single-ended analog — Примите, что ваша плата DAS-1601 сконфигурирована, чтобы быть несимметричным аналоговым входом. В этом случае 16 каналов аналогового входа поддерживаются. Полный входной вектор:
[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16] or [1:16]
Использовать первые четыре несимметричных аналоговых входа образовывает канал, введите:
[1 2 3 4] or [1:4]
Следующий рисунок показывает получившуюся блок-схему.
Не задавайте больше каналов, чем вы на самом деле используете в своей блок-схеме. Определение неиспользованных каналов приводит к дополнительным издержкам для процессора с A/D или преобразованиями D/A. В этом случае, например, даже при том, что некоторые каналы не используются в блок-схеме, эти каналы все еще преобразованы.
Вы могли присоединить блоки терминатора строки к каналам 4 и 5 внутренней части ваша блок-схема после передачи вектора блока Analog Input в с блоком Demux. Добавление блоков терминатора строки предоставляет вам графическую информацию в вашей блок-схеме, которая ясно указывает, какие каналы вы соединили и которые доступны. Штраф - то, что даже отключенные каналы преобразованы, добавив некоторые вычислительные издержки.
Следующий рисунок показывает реализацию блока.
В зависимости от платы и количества используемых каналов, время преобразования ввода-вывода может влиять на максимальную частоту дискретизации, которая может быть достигнута в вашей системе. Вместо того, чтобы преобразовывать неиспользованные каналы, задайте только набор каналов, которых на самом деле требует ваша модель.