Я думаю, что единственная возможность - использовать функцию DynamicSelect()
.Это может быть использовано для отображения изменяющегося значения, например, в виде значка.Чтобы использовать его, вам придется вручную адаптировать аннотацию Icon.Это задокументировано в спецификации языка Modelica 3.4, раздел 18.6.6.
Вот несколько хороших примеров использования DynamicSelect()
:
Modelica.Blocks.Interaction.Show.RealValue
показывает, какотображаемое значение Modelica.Blocks.Interfaces.partialBooleanSO
показывает, как изменить цвет линий и заливки значков Modelica.StateGraph.Examples.Utilities.Tank
показывает, как изменить размер прямоугольника для отображения уровня в резервуаре
Недостаток DynamicSelect()
заключается в том, что иногда требуется инициализировать / имитировать модель перед показом значения (я думаю, если оно не вычисляется из литералов или параметров).Преимущество заключается в том, что они обновляются во время симуляции при просмотре модели.
В вашем случае реализация иконки может выглядеть следующим образом:
annotation (Icon(graphics={Text(
extent={{-100,-20},{100,20}},
lineColor={0,0,0},
textString="NoB=" + DynamicSelect("?", String(nBorHol)))}));
, в результате чего значок показывает
NoB = 21
Для меня он также сразу адаптируется при изменении одного из соответствующих параметров.