FIFO Read Binary

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

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

  • FIFO Read Binary block

Описание

Двоичный блок FIFO Read считывает несколько двоичных заголовков из FIFO.

Этот блок идентифицирует и разделяет данные путем нахождения уникальных байтовых последовательностей (заголовков), которые помечают данные. Каждый заголовок указывает начало двоичного сообщения фиксированной длины. Если один и тот же заголовок поступил в FIFO более одного раза с момента последнего выполнения блока, блок отбрасывает старые данные. Затем возвращается последний образец заголовка. Блок догоняет данные, которые поступают быстрее, чем выполняется блок.

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

Порты

Вход

расширить все

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

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

Зависимость

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

Выход

расширить все

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

Зависимость

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

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

Параметры

расширить все

Введите заголовки, которые должен искать блок в блоке данных из FIFO. Введите каждый заголовок как элемент массива ячеек либо в виде кавычек вектора символов либо в виде конкатенации с char(val) для непечатаемых байтовых шаблонов.

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

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

Введите длину сообщения в байтах. Включите заголовок в длину.

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

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

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

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

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

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

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

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

Зависимость

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

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

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

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

  • NULL- терминатора строки для 8-битных типов данных

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

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

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

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

8-битные типы данных генерируют NULL-оконечный символьный вектор в выход векторе. Для 16-битных и 32-битных типов данных первый элемент содержит количество элементов, которые ожидаются в остальной части выходного вектора.

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

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

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

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

sampletime

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

Введенный в R2020b