• Регистрация
Н/Д
Н/Д 0.00
н/д

Хранилище сигналов различного типа

09.04.2020
В моей simulink-модели имеются сигналы шин различного типа. Мне необходимо сделать хранилище похожее на кольцевой список, в котором должно лежать n-ое количество различных структур/сигналов из шин. В...

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

 

Теги

    09.04.2020

    Комментарии

    • aBoomest
      aBoomest+942.89
      9.04.2020 13:02

      Касательно блока From file. Симулинк модель, как бы это выразиться, это модель изменения ее состояния во времени. И поэтому From File и говорит что ему нужен временной ряд.

      В связи с этим вопрос, как конкретно (предполагается) используются эти ваши сигналы которые должны содержаться в хранилище, и что онииз себя (в общем случае) представляют?

      • Н/Д
        Н/Д0.00
        9.04.2020 13:26

        Сигналы - это ROS сообщения, которые поступают из топиков. Каждый сигнал поступает в свою matlab функцию, в которой происходит извлечение и обработка данных. Поступают они с разной частотой. Мне же необходимо, чтобы все они "падали" в одно место. В дальнейшем будет извлекаться один сигнал (первый, последний, не важно) из этого хранилища, чтобы направить его на обработку.

        Комментарий к скриншоту.

        Мatlab функции лежат в триггерных подсистемах. Но нужно, чтобы сообщения попадали сначала в одно (это важно) хранилище, а из него уже в подсистемы.