Использование неуказанных размеров массива (:
) является важной функцией для разработки гибких компонентов для повторного использования. Я хорошо осознаю, что фактическое измерение должно быть исправлено при компиляции модели. Насколько мне известно, привязки переменной с неопределенными размерами массива к переменной с четко определенными размерами должно быть достаточно.
Поэтому я немного смущен, почему следующие model Test
не будут проверяться ни в OpenModelica
, ни в Wolfram System Modeler
:
package VectorFunctions
model Test
VectorSum converter "Component taking the sum of a vector input";
InformationSource source "Vector input";
equation
connect( source.y, converter.u );
end Test;
block VectorSum "Take the sum of an input with unspecified dimension"
Modelica.Blocks.Interfaces.RealInput u[:];
Modelica.Blocks.Interfaces.RealOutput y;
equation
y = sum(u);
end VectorSum;
block InformationSource "Provide some vector output"
Modelica.Blocks.Interfaces.RealOutput y[3];
equation
y = ones( 3 );
end InformationSource;
end VectorFunctions;
Как же тогда можно сделать что-то подобное?
connectors
для чистого оператораconnect
. - person gwr   schedule 18.06.2019