Serial Receive

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

  • Библиотека:
  • Instrument Control Toolbox

  • Serial Receive block

Описание

Блок Serial Receive конфигурирует и открывает интерфейс для заданного последовательного порта. Настройка и инициализация происходят однажды в начале выполнения модели. Блок получает данные из последовательного порта в течение времени выполнения модели. Можно использовать только один блок Serial Receive за один раз, чтобы получить данные из определенного последовательного порта.

Примечание

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

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

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

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

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

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

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

Для получения дополнительной информации об этих функциях см. документацию Simulink.

Порты

Вывод

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

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

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

Новое состояние доступных данных, возвращенное как числовой или логический 1 TRUE) или 0 ложь). Если этот порт возвращает 1, новые данные доступны, чтобы быть считанными.

Зависимости

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

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

Параметры

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

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

Примечание

Каждый блок Serial Receive должен иметь сконфигурированный блок Serial Configuration. Если вы используете несколько последовательных портов в своей симуляции, необходимо сконфигурировать каждый порт с помощью отдельного блока 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 опция для параметра Action when data is not available.

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

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

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

Меры, которые должен принять блок, когда данные не доступны. Доступные параметры:

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

  • Output custom value — Блок возвращает любое пользовательское значение, когда это не получает текущие данные. Задайте пользовательское значение в поле Custom value.

  • Error — Блокируйтесь возвращает ошибку, когда она не получает текущие данные. Необходимо выбрать Enable blocking mode, чтобы использовать эту опцию.

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

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

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

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

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

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

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

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

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

Смотрите также

|

Введенный в R2008a