Используйте Блоки драйверов ввода-вывода

Блоки драйверов 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

Блоки драйверов ввода-вывода доступны в Библиотеке Simulink Desktop Real-Time. Чтобы просмотреть эту библиотеку из Командного окна MATLAB®, введите:

sldrtlib

Просмотреть Библиотеку Simulink Desktop Real-Time из модели:

  1. В окне модели нажмите View > Library Browser.

    Браузер Библиотеки Simulink открывается. Левая панель показывает иерархию библиотек и категорий с Библиотекой Simulink наверху. Правая панель показывает блоки, доступные в категории, выбранной слева.

  2. В левом столбце дважды кликните Simulink Desktop Real-Time.

Библиотека Simulink Desktop Real-Time открывается.

Можно добавить блок I/O в библиотеке к модели Simulink путем перетаскивания его от библиотеки до модели. После того, как вы добавляете блок, соединяете его с вашей моделью, когда вы были бы любой другой блок, и обеспечьте значения параметра конфигурации блока.

Направьте сигналы от блока ввода-вывода

Блоки драйверов ввода-вывода выводят несколько сигналов как вектор вместо отдельных каналов или строк. Чтобы соединить отдельные каналы и строки к частям вашей модели Simulink, разделите вектор блоком Demux.

После того, как вы добавите и сконфигурируете блок драйверов ввода-вывода в своей модели Simulink, можно разделить и соединить выходные сигналы блоков:

  1. В окне Simulink нажмите View > Library Browser.

    Браузер Библиотеки Simulink открывается.

  2. В библиотеке Simulink нажмите Signal Routing. Из списка на правой панели перетащите Demux к своей модели Simulink.

  3. Дважды кликните блок Demux. Параметры блоков: диалоговое окно Демультиплексора открывается. Введите номер строк, оставив блок Demux. Например, если вы ввели три канала в блок Analog Input, введите 3 в поле Number of outputs.

  4. Нажмите OK.

  5. Соедините блок Analog Input с входом блока Demux.

  6. Соедините каждый блок Demux выходные строки к входу других блоков.

  7. В окне Simulink нажмите Display> Signals & Ports> Wide Nonscalar Lines.

  8. Нажмите Display> Signals & Ports> 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. Добавление блоков терминатора строки предоставляет вам графическую информацию в вашей блок-схеме, которая ясно указывает, какие каналы вы соединили и которые доступны. Штраф - то, что даже отключенные каналы преобразованы, добавив некоторые вычислительные издержки.

Следующие данные показывают реализацию блока.

В зависимости от платы и количества используемых каналов, время преобразования ввода-вывода может влиять на максимальную частоту дискретизации, которая может быть достигнута в вашей системе. Вместо того, чтобы преобразовывать неиспользованные каналы, задайте только набор каналов, которых на самом деле требует ваша модель.