2013-08-01 3 views
0

Я пытаюсь получить два 1-битных значения (т. Е. Их предыдущие значения) после запуска системы или записи в нее во время нормальной работы, если переменные изменяются. Когда я говорю «Система запускается», я хочу дать понять, что это подсистема, которая находится внутри очень большой системы.Моделирование активности вспышки или энергонезависимой памяти в модели SIMULINK

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

Мой подход до сих пор

Прикреплен SIMULINK схема части подсистемы, которая делает эту память для чтения/записи. Я считаю, что это сработает. Однако я не совсем уверен. Может ли кто-нибудь подумать о лучшем способе сделать это? Я знаю, что очевидным ответом будет сказать «Попробуйте сохранить и загрузить из рабочего пространства», но у меня есть спецификация, которая позволяет загружать только из Flash/E2PROM. К сожалению, я ничего не знаю в SIMULINK, который это сделает. Если кто-нибудь знает что-то другое, я очень рад быть полностью образованным :)

enter image description here

Спасибо.

ответ

1

Вам в основном нужна память. Есть несколько способов сделать это.

  1. Задержка - это память. Вы можете установить начальные условия для запуска значений. Вы можете поместить Delay внутри разрешенной подсистемы для записи новых значений или вы можете использовать мультиплекс для записи нового значения или предыдущего значения из выхода задержки.
  2. Вы можете использовать функциональный блок MATLAB и объявить в нем постоянную переменную. Вы можете инициализировать это внутри проверки для «пусто (persistent_var_name)», а затем читать или записывать в нее.

Еще один способ заключается в том, как исходный вопрос реализует его с помощью «Хранилища данных».

+0

Huh! +1 за то, что я сказал: «Какого черта» .... аарх .... так что я сделал, это мусор, не так ли? – ha9u63ar

+0

Нет, не было. Я должен был упомянуть в своем ответе, что ваш - еще один способ сделать это. – Navan

+0

Спасибо! :) Я по-прежнему буду клевать твою как принятую. – ha9u63ar

Смежные вопросы