Simulink: ошибки согласованности типов - PullRequest
1 голос
/ 29 марта 2010

Используя этот файл модели Simulink в качестве ссылки, я пытаюсь определить две следующие ошибки: альтернативный текст http://imagebin.ca/img/dSV8YO.png

альтернативный текст http://imagebin.ca/img/OXDf0v.png

Понятия не имею, что пошло не так с проблемами согласованности / преобразования типов данных.Вы знаете, что именно означают сообщения об ошибках в контексте модели?Было бы здорово получить интерпретацию проблемы, чтобы решить ее.Заранее спасибо.

1 Ответ

1 голос
/ 29 марта 2010

Блок «Внутренний цикл / e ^ (- s)» управляет блоком «Внутренний цикл / сумма»? Похоже, что блок 'e ^ (- s)' пытается установить для блока Sum значение типа double, но для блока Sum уже задан какой-то другой тип данных. Я не уверен, почему это происходит, но вот фрагмент справки для блока Сумма Документация ,

Наследовать: наследовать через внутреннее правило

Simulink выбирает комбинацию масштабирования вывода и типа данных, которая требует наименьшего объема памяти в соответствии с расчетным диапазоном вывода и поддержанием точности вывода блока и с размером слова целевой аппаратной реализации, указанной для модели. Если для параметра Тип устройства на панели параметров конфигурации реализации аппаратного обеспечения установлено значение ASIC / FPGA, программное обеспечение Simulink выбирает тип выходных данных без учета аппаратных ограничений. В противном случае программное обеспечение Simulink выбирает наименьший доступный тип данных оборудования, способный соответствовать ограничениям по дальности и точности. Например, если блок умножает входное значение типа int8 на усиление int16 и ASIC / FPGA указывается в качестве целевого типа оборудования, типом выходных данных является sfix24. Если в качестве целевого оборудования указан Unspecified (предположим, 32-разрядный универсальный), то есть универсальный 32-разрядный микропроцессор, тип выходных данных будет int32. Если ни одно из значений длины слова, предоставленных целевым микропроцессором, не может соответствовать выходному диапазону, программное обеспечение Simulink отображает сообщение об ошибке в средстве просмотра диагностики Simulation.

Вы можете попробовать принудительно задать двойной тип выходных данных, если это действительно то, что вам действительно нужно, или вы можете попробовать поместить блок преобразования типов данных перед блоком Sum. Еще одна вещь, которая может помочь, это попытаться включить типы данных порта из меню «Формат». Он должен показать вам все распространенные типы данных при возникновении ошибки.

...