Serial Receive

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

Библиотека

Instrument Control Toolbox

  • Serial Receive block

Описание

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

Примечание

Вам нужна лицензия и на Instrument Control Toolbox™ и на программное обеспечение Simulink®, чтобы использовать этот блок.

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

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

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

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

  • Этот блок поддерживает использование режима Simulink Accelerator™, но не Быстрый Акселератор или генерацию кода.

  • Блок поддерживает использование ссылки модели, так, чтобы ваша модель могла включать другие модели Simulink как модульные компоненты.

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

Параметры

Примечание

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

Communication port

Задайте последовательный порт, который вы будете использовать, чтобы получить из. Необходимо выбрать доступный порт из списка. По умолчанию поле Communication port содержит текст Please select a port... , и необходимо изменить это в действительный порт. Если вы не сконфигурировали порт, блок предложит вам делать так. Можно выбрать порт из доступных портов и затем сконфигурировать порт с помощью блока Serial Configuration. Каждый блок Serial Receive должен иметь сконфигурированный последовательный порт. Если вы используете несколько портов в своей симуляции, необходимо сконфигурировать каждый порт отдельно.

Header

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

Что-либо вошло в заголовок, обработан как символ. Если вы хотите задать числа, необходимо использовать соответствующие символы ASCII для них. Например, чтобы задать [40 41], можно ввести () в поле. Обратите внимание на то, что одинарные кавычки также обработаны как символы. Можно использовать соответствующие символы ASCII для чисел между 32 и 126.

Terminator

Задайте данные, которые отмечают конец вашего блока данных. Терминатор строки указывает на конец блока данных, и симуляция будет составлять любые данные, которые происходят после терминатора строки как новый блок данных. Данные о терминаторе строки не отправляются в выходной порт. Только данные, которые находятся между заголовком и терминатором строки, отправляются в выходной порт. <none> по умолчанию или никакой терминатор строки не задан. Другие доступные форматы терминатора строки:

  • CR ('\r') — Возврат каретки

  • LF ('\n') — Перевод строки

  • CR/LF ('\r\n')

  • NULL ('\0')

Data size

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

Data type

Задайте тип выходных данных, чтобы получить от блока. Можно выбрать из следующих значений:

  • single

  • double

  • int8

  • uint8 (значение по умолчанию)

  • int16

  • uint16

  • int32

  • uint32

Byte order

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

Enable blocking mode

Задайте, хотите ли вы блокировать симуляцию при получении данных. Эта опция выбрана по умолчанию. Снимите этот флажок, если вы не хотите, чтобы операция чтения блокировала симуляцию.

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

Action when data is unavailable

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

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

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

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

Custom value

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

Block sample time

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

Введенный в R2008a