Хранилище сигналов различного типа
В моей simulink-модели имеются сигналы шин различного типа. Мне необходимо сделать хранилище похожее на кольцевой список, в котором должно лежать n-ое количество различных структур/сигналов из шин. В случае переполнения, первый элемент удаляется, а индекс оставшихся элемнтов уменьшается на 1. Как и через какие блоки можно реализовать данное хранилище? Пробовал с помощью блоков Data Store, но они могут принимать сигналы только одного типа. Также была идея использовать загрузку/выгрузку массива ячеек в mat-файл, т.к. в ячейках можно хранить что угодно, но симулинк ругается, что блок from file способен выгружать только временные ряды и массивы. Еще пытался использовать load/save в matlab функции, но кодогенерация не поддерживает load. Может быть есть еще какие-либо блоки или способы, позволяющие решить данную проблему? Буду благодарен за ответ или идею!
Ответы
Касательно блока From file. Симулинк модель, как бы это выразиться, это модель изменения ее состояния во времени. И поэтому From File и говорит что ему нужен временной ряд.
В связи с этим вопрос, как конкретно (предполагается) используются эти ваши сигналы которые должны содержаться в хранилище, и что онииз себя (в общем случае) представляют?
Сигналы - это ROS сообщения, которые поступают из топиков. Каждый сигнал поступает в свою matlab функцию, в которой происходит извлечение и обработка данных. Поступают они с разной частотой. Мне же необходимо, чтобы все они "падали" в одно место. В дальнейшем будет извлекаться один сигнал (первый, последний, не важно) из этого хранилища, чтобы направить его на обработку.
Комментарий к скриншоту.
Мatlab функции лежат в триггерных подсистемах. Но нужно, чтобы сообщения попадали сначала в одно (это важно) хранилище, а из него уже в подсистемы.