Serial Receive

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

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

  • Serial Receive block

Описание

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

Примечание

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

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

Этот блок использует буфер First In, First Out (FIFO), чтобы получить данные от последовательного порта. На каждом временном шаге Data порт возвращает требуемые значения из буфера. В режиме без блокировки status порт указывает, получил ли блок новые данные. Если отображается status порт 1новые данные доступны, и если отображается порт состояния 0, новые данные недоступны.

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

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

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

  • Блок Serial Receive поддерживает генерацию кода 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. Если вы не сконфигурировали порт, блок возвращает ошибку при запуске модели.

Примечание

Каждый блок 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