Получите двоичные данные по последовательному порту
Instrument Control Toolbox
Блок Serial Receive конфигурирует и открывает интерфейс для заданного удаленного адреса с помощью Последовательного протокола. Настройка и инициализация происходят однажды в начале выполнения модели. Блок получает данные в течение времени выполнения модели.
Вам нужна лицензия и на Instrument Control Toolbox™ и на программное обеспечение Simulink®, чтобы использовать этот блок.
Этот блок не имеет никаких входных портов. Это имеет один или два выходных порта на основе вашего выбора блокирования или неблокирования режима. Если вы выберете блокирующийся режим, блок будет иметь один выходной порт, соответствующий данным, которые это получает.
Если вы не выберете блокирующийся режим, блок будет иметь два выходных порта, Порт данных и порт Status.
Метод "первым пришел - первым вышел" (FIFO) буфер получает данные. На каждом временном шаге Порт данных выводит требуемые значения от буфера. В не блокирующемся режиме порт Status указывает, получил ли блок новые данные. Если порт Status отображает 1
это означает, что новые данные доступны и если порт Status указывает на 0
это означает, нет новых данных доступно.
Сконфигурируйте свои параметры последовательного порта, прежде чем вы зададите параметры исходного блока.
Задайте последовательный порт, который вы будете использовать, чтобы получить из. Необходимо выбрать доступный порт из списка. По умолчанию поле Communication port содержит текст Please select a port... , и необходимо изменить это в действительный порт. Если вы не сконфигурировали порт, блок предложит вам делать так. Можно выбрать порт из доступных портов и затем сконфигурировать порт с помощью блока Serial Configuration. Каждый блок Serial Receive должен иметь сконфигурированный последовательный порт. Если вы используете несколько портов в своей симуляции, необходимо сконфигурировать каждый порт отдельно.
Задайте данные, которые отмечают начало вашего блока данных. Заголовок указывает на начало нового блока данных, и симуляция игнорирует данные, которые происходят перед заголовком. Данные о заголовке не отправляются в выходной порт. Только данные, которые происходят между заголовком и терминатором строки, отправляются в выходной порт. По умолчанию ни один или никакой заголовок не заданы.
Что-либо вошло в заголовок, обработан как символ. Если вы хотите задать числа, необходимо использовать соответствующие символы ASCII в них. Например, чтобы задать [40 41]
, можно ввести ()
в поле. Обратите внимание на то, что одинарные кавычки также обработаны как символы. Можно использовать соответствующие символы ASCII в числах между 32 и 126.
Задайте данные, которые отмечают конец вашего блока данных. Терминатор строки указывает на конец блока данных, и симуляция будет составлять любые данные, которые происходят после терминатора строки как новый блок данных. Данные о терминаторе строки не отправляются в выходной порт. Только данные, которые происходят между заголовком и терминатором строки, отправляются в выходной порт. <none>
по умолчанию или никакой терминатор строки не задан. Другие доступные форматы терминатора строки:
CR ('\r')
— Возврат каретки
LF ('\n')
— Перевод строки
CR/LF ('\r\n')
NULL ('\0')
Задайте размер выходных данных или количество значений, которые должны быть считаны на каждом шаге времени симуляции. Размером по умолчанию является [1 1]
.
Задайте тип выходных данных, чтобы получить от блока. Можно выбрать из следующих значений:
single
double
int8
uint8
(значение по умолчанию)
int16
uint16
int32
uint32
Когда вы задаете тип данных кроме int8 или uint8, можно задать порядок байтов устройства для двоичных данных. Вашими опциями является BigEndian
или LittleEndian
.
Задайте, хотите ли вы блокировать симуляцию при получении данных. Эта опция выбрана по умолчанию. Снимите этот флажок, если вы не хотите, чтобы операция чтения блокировала симуляцию.
Если вы позволите блокировать режим, модель блокирует симуляцию, в то время как это ожидает запрошенных данных, чтобы быть доступным. Когда вы не позволяете блокировать режим, симуляция запускается постоянно. Блок имеет два выходных порта, Состояние и Данные. Порт данных содержит требуемый набор данных на каждом временном шаге. Порт Status содержит 0 или 1 на основе того, получил ли он новые данные на данном временном шаге.
Задайте меры, которые должен принять блок, когда данные недоступны. Доступные параметры:
Output last received value — Блок возвратит значение, которое он получил на предыдущем временном шаге, когда он не получает данные на шаге текущего времени. Это значение выбрано по умолчанию.
Output custom value — Блок возвратит любое пользовательское значение, когда это не получит текущие данные. Можно задать пользовательское значение в поле Custom value.
Ошибка Блок возвратит ошибку, когда он не получит текущие данные. Эта опция недоступна, если вы не выбираете блокирующийся режим.
Задайте пользовательское значение для блока, чтобы вывести, когда он не получит текущие данные. Значение по умолчанию 0
. Пользовательское значение может быть скаляром или значением, равным размеру Данных, которые это получает (заданный полем Data size).
Задайте шаг расчета блока во время симуляции. Это - уровень, на котором блок выполняется в процессе моделирования. Значением по умолчанию является 1
второй.
Query Instrument, Serial Configuration, Serial Send, TCP/IP Receive, TCP/IP Send, To Instrument, UDP Receive, UDP Send