exponenta event banner

Последовательный прием

Прием двоичных данных через последовательный порт

  • Библиотека:
  • Панель инструментов управления приборами

  • Serial Receive block

Описание

Блок последовательного приема конфигурирует и открывает интерфейс с указанным последовательным портом. Конфигурирование и инициализация выполняются один раз в начале выполнения модели. Блок получает данные от последовательного порта во время выполнения модели.

Примечание

Необходимо настроить параметры последовательного порта с помощью блока «Serial Configuration», прежде чем задавать параметры блока «Serial Receive».

Этот блок не имеет входных портов. Он имеет один или два выходных порта в зависимости от того, выбран ли режим блокировки или режим неблокировки. При выборе режима блокировки блок имеет один выходной порт Data, соответствующий полученным данным. Если режим блокировки не выбран, блок имеет два выходных порта: Data и status.

Этот блок использует буфер FIFO для приема данных от последовательного порта. На каждом шаге времени порт данных возвращает запрошенные значения из буфера. В неблокирующем режиме порт состояния указывает, получил ли блок новые данные. Если отображается порт состояния 1, новые данные доступны, и если отображается порт состояния 0, новые данные отсутствуют.

Другие поддерживаемые функции

  • Блок последовательного приема поддерживает режим Simulink ® Accelerator, но не Rapid Accelerator. Эта функция ускоряет выполнение моделей Simulink.

  • Блок последовательного приема поддерживает использование ссылок на модели. Эта функция позволяет модели включать другие модели Simulink в качестве модульных компонентов.

  • Блок последовательного приема поддерживает генерацию кода C/C + +. Эта функция позволяет создавать код C и C++ с помощью Simulink Coder™.

Дополнительные сведения об этих функциях см. в документации Simulink.

Порты

Продукция

развернуть все

Данные, полученные блоком от последовательного порта, возвращенные в виде вектора, матрицы или массива.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Новое состояние доступности данных, возвращенное как числовое или логическое 1 (true) или 0 (false). Если этот порт возвращается 1, новые данные доступны для чтения.

Зависимости

Чтобы включить этот порт, отмените выбор параметра Enable blocking mode.

Типы данных: Boolean

Параметры

развернуть все

Последовательный порт на компьютере, с которого требуется получить данные. Выберите порт из доступных портов, а затем настройте порт с помощью блока Serial Configuration. Если порт не настроен, блок возвращает ошибку при запуске модели.

Примечание

Каждый блок последовательного приема должен иметь настроенный блок последовательной конфигурации. Если при моделировании используется несколько последовательных портов, необходимо сконфигурировать каждый порт с помощью отдельного блока настройки последовательного порта.

Программное использование

Параметр блока: Port
Тип: символьный вектор, строка

Тип данных, который блок получает от последовательного порта, указанного как числовой тип данных MATLAB.

Программное использование

Параметр блока: DataType
Тип: символьный вектор, строка
Значения: 'uint8' | 'single' | 'double' | 'int8' | 'int16' | 'uint16' | 'int32' | 'uint32'
По умолчанию: 'uint8'

Если выбран этот параметр, можно указать заголовок, указывающий начало блока данных. При моделировании игнорируются данные, происходящие перед заголовком. Данные заголовка не передаются на выходной порт. По умолчанию этот параметр не выбран и заголовок не указан.

Числовым массивом, указанным в этом параметре, является uint8 целочисленное представление соответствующих символов ASCII. Точная форма этого параметра зависит от типа символа ASCII.

Тип символа ASCIIПример символа ASCIIКоманда MATLABЗначение параметра
Специальный символ"#"uint8('#')[35]
Числовой"81"uint8('81')[56 49]
Алфавит"Start"uint8('Start')[83 116 97 114 116]

Можно также указать этот параметр, используя шестнадцатеричное представление символов ASCII.

Программное использование

Параметр блока: ToggleHeader
Тип: символьный вектор, строка
Значения: 'on' | 'off'
По умолчанию: 'off'
Параметр блока: Header
Тип: символьный вектор, строка
Значения: массив целых чисел

Если выбран этот параметр, можно указать признак конца блока данных. При моделировании любые данные, возникающие после признака конца, рассматриваются как новый блок данных. Данные терминатора не передаются на выходной порт. Этот терминатор должен соответствовать терминатору в данных, считываемых с последовательного порта, если он имеет его.

При выборе Custom Terminator, можно указать собственное значение терминатора.

Программное использование

Параметр блока: ToggleTerminator
Тип: символьный вектор, строка
Значения: 'on' | 'off'
По умолчанию: 'off'
Параметр блока: Terminator
Тип: символьный вектор, строка
Значения: '<none>' | 'CR ('\r')' | 'LF ('\n')' | 'CR/LF ('\r\n')' | 'NULL ('\0')' | 'Custom Terminator'
По умолчанию: '<none>'

Пользовательский признак конца, указывающий конец блока данных. При моделировании любые данные, возникающие после признака конца, рассматриваются как новый блок данных. Данные терминатора не передаются на выходной порт.

Числовым массивом, указанным в этом параметре, является uint8 целочисленное представление соответствующих символов ASCII. Точная форма этого параметра зависит от типа символа ASCII.

Тип символа ASCIIПример символа ASCIIКоманда MATLABЗначение параметра
Специальный символ"#"uint8('#')[35]
Числовой"81"uint8('81')[56 49]
Алфавит"End"uint8('End')[69 110 100]

Можно также указать этот параметр, используя шестнадцатеричное представление символов ASCII.

Программное использование

Параметр блока: CustomTerminator
Тип: символьный вектор, строка
Значения: массив целых чисел

Размер выходных данных или количество значений, которые должны считываться на каждом этапе моделирования. Этот параметр задается как многомерный числовой массив. Размер данных не включает значения заголовка или признака конца.

Программное использование

Параметр блока: DataSize
Тип: символьный вектор, строка
Значения: массив целых чисел
По умолчанию: '[1 1]'

Этот параметр имеет время ожидания моделирования, пока блок принимает данные. Когда новые данные становятся доступными, моделирование продолжается со следующего временного шага. Снимите флажок, если не требуется, чтобы операция чтения вызывала ожидание моделирования.

Если включен режим блокировки, моделирование ожидает получения требуемых данных. Модель ожидает до времени, указанного параметром Timeout в блоке Serial Configuration. Если новые данные не становятся доступными во время моделирования, можно вернуть ошибку, выбрав Error для параметра Действие, если данные недоступны.

Если режим блокировки не включен, моделирование выполняется непрерывно, и блок имеет два выходных порта, состояние и данные. Порт данных содержит запрашиваемый набор данных на каждом шаге времени. Порт состояния содержит 0 или 1 в зависимости от того, были ли получены новые данные на данном шаге времени.

Программное использование

Параметр блока: EnableBlockingMode
Тип: символьный вектор, строка
Значения: 'on' | 'off'
По умолчанию: 'on'

Действие, которое блок должен предпринять, когда данные недоступны. Доступны следующие варианты:

  • Output last received value - блок возвращает значение, полученное на предыдущем шаге времени, когда он не получает данные на текущем шаге времени.

  • Output custom value - Блок возвращает любое пользовательское значение, если он не получает текущие данные. Определите пользовательское значение в поле Пользовательское значение.

  • Error - Блок возвращает ошибку, если он не получает текущие данные. Для использования этого параметра необходимо выбрать Включить режим блокировки.

Программное использование

Параметр блока: ActionDataUnavailable
Тип: символьный вектор, строка
Значения: 'Output last received value' | 'Output custom value' | 'Error'
По умолчанию: 'Output last received value'

Настраиваемое значение для вывода блока, когда он не получает новые данные. Пользовательское значение может быть скаляром или значением, равным размеру получаемых данных (задается параметром Data size). Необходимо выбрать Output custom value как действие, когда данные недоступны для установки этого параметра.

Программное использование

Параметр блока: CustomValue
Тип: символьный вектор, строка
Значения: числовые
По умолчанию: '0'

Время выборки блока во время моделирования. Это скорость, с которой выполняется блок во время моделирования.

Программное использование

Параметр блока: SampleTime
Тип: символьный вектор, строка
Значения: положительные числовые
По умолчанию: '0.01'

Расширенные возможности

.
Представлен в R2008a