FIFO Read HDRS

Считайте несколько потоков данных ASCII согласно информации о заголовке

  • Библиотека:
  • Simulink Real-Time / RS232

  • FIFO Read HDRS block

Описание

Блок FIFO Read HDRS идентифицирует и разделяет потоки данных ASCII, которые встроили идентификаторы.

Данные после конкретного заголовка могут иметь различные длины, но имеют общий маркер завершения, такой как <CR><LF>. Несмотря на то, что можно достигнуть этой той же функциональности с блоком FIFO Read, она требует сложного конечного автомата с этим поведением:

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

  • Если заголовок прибывает в FIFO, который не совпадает с элементом в списке заголовков, блок отбрасывает сообщение.

  • Если байты прибывают в FIFO, которые не совпадают с заголовком, блок интерпретирует сообщение как наличие незаданного заголовка. Блок пропускает эти байты.

matlab/toolbox/slrealtime/examples папка содержит примеры, которые показывают, как использовать блок FIFO Read HDRS: slrt_ex_serialbaseboardasciitest и slrt_ex_serialbaseboardasciisplit.

Порты

Входной параметр

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

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

Если true, читайте из FIFO.

Зависимость

Сделать этот порт видимым, установленным параметром Enable input.

Вывод

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

Векторы, содержащие проанализированные данные, считанные из FIFO. Каждый выход соответствует одному из заголовков.

Зависимость

Чтобы определить тип данных этого вектора, установите параметр Output vector type.

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

Параметры

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

Введите заголовки, которые вы хотите, чтобы блок искал в блоке данных от FIFO. Введите каждый заголовок в одинарные кавычки как элемент в массиве ячеек.

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

Параметры блоков: hdr

Введите вектор оконечного знака для данных. Введите символы, задающие конец вектора символов, обычно один или два символа.

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

Параметры блоков: nterm

Из списка выберите поведение блока, если FIFO не получил новые данные:

  • Hold last output if no new data — Блок сохраняет выход от последнего сообщения FIFO.

  • Zero output if no new data — Блок перезаписывает первый элемент выхода с 0.

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

Параметры блоков: hold

Чтобы создать входной порт, который включает или отключает операцию чтения, установите этот флажок. Входной порт берет булев сигнал.

Зависимость

Входной порт причин E стать видимым.

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

Параметры блоков: enable

Задайте максимальное количество символов для этого блока, чтобы возвратиться. Размер итогового вектора является еще одним, чем это максимальное количество символов. Этот блок указывает на количество символов, возвращаемых при помощи дополнительного элемента как:

  • Терминатор строки ПУСТОГО УКАЗАТЕЛЯ для 8-битных типов данных

  • Счетчик символов для 16-битных и 32-битных типов данных

Введите достаточно большой номер. Если этот номер слишком мал, блок ничего не может возвратить. Например, если вы вводите значение 10, но на выполнении FIFO содержит 11 символы плюс пустой терминатор строки, блок не возвращает символов. Если это содержит 5, блок возвращает 5 символы плюс терминатор строки NULL.

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

Параметры блоков: maxsize

8-битные типы данных производят ОТКЛЮЧЕННЫЙ ПУСТЫМ УКАЗАТЕЛЕМ вектор символов в выходном векторе. Для 16-битных и 32-битных типов данных первый элемент содержит число элементов, чтобы ожидать в остальной части выходного вектора.

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

Параметры блоков: outputtype

Введите основной шаг расчета или кратное основному шагу расчета. -1 средние значения, что шаг расчета наследован.

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

sampletime

Примеры модели

Введенный в R2020b