У меня есть несколько блоков "FixedCurrent" в моей электрической цепи.Я хочу иметь возможность изменять значения тока для этих блоков через FMU.Я могу изменить значение, используя «параметр», как показано в коде ниже:
type Current = Real(unit = "A", min = 0);
parameter Current CurrentTest1(start = 50) "Test current";
PowerSystems.Generic.FixedCurrent fixedCurrent3(
I = CurrentTest1,
redeclare package PhaseSystem = PhaseSystem),
annotation(...);
PowerSystems.Generic.FixedCurrent fixedCurrent1(
I = 55,
redeclare package PhaseSystem = PhaseSystem),
annotation(...);
Но я не могу назначить вход для них.например, если я использую команду ввода (1) или блок RealInput (2), чтобы установить значение тока для блока fixedCurrent3:
// 1)
input Real TZtest(start=50);
PowerSystems.Generic.FixedCurrent fixedCurrent3(
I = TZtest,
redeclare package PhaseSystem = PhaseSystem),
annotation(...);
// 2)
Modelica.Blocks.Interfaces.RealInput TZTest2 annotation(...);
PowerSystems.Generic.FixedCurrent fixedCurrent3(
I = TZtest,
redeclare package PhaseSystem = PhaseSystem),
annotation(...);
, я получаю соответствующие ошибки:
1) Translation Error
Component fixedCurrent3.I of variability PARAM has binding TZtest of higher variability VAR.
2)Translation Error
Component fixedCurrent3.I of variability PARAM has binding TZTest2 of higher variability VAR.
Таким образом, я не могу установить значение для параметра через вход FMU.Буду благодарен за любые решения этой проблемы.