exponenta event banner

Двоичный файл чтения FIFO

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

  • Библиотека:
  • Симулинк в реальном времени/ RS232

  • FIFO Read Binary block

Описание

Блок чтения двоичных данных FIFO считывает несколько двоичных заголовков из FIFO.

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

matlab/toolbox/slrealtime/examples содержит примеры использования блока чтения HDRS FIFO: 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, блок не возвращает символы. Если он содержит 5, блок возвращает 5 символы плюс терминатор NULL.

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

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

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

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

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

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

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

sampletime

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

Представлен в R2020b