Обновите файлы компонентов Simscape, чтобы использовать новый синтаксис
ssc_update package
The ssc_update команда запускает скрипт, который обновляет устаревшие файлы компонентов, содержащие across и through операторы. При обнаружении Simscape™ файла компонента, написанного в старом формате, скрипт создает резервную копию файла (), удаляет filename.ssc.bakthrough и across операторы из setup section, заменяет through операторы с соответствующим branches и добавляет уравнения, эквивалентные across операторы для equations раздел файла.
ssc_update обновляет все устаревшие файлы компонентов, расположенные в пакете. Аргумент, package, должно быть именем пакета верхнего уровня. package
Примечание
Имя директории пакета начинается с начального + символ, в то время как аргумент ssc_update должен опускать + символ.
Если вы запускаете ssc_update команда из структуры директории пакетов, можно опустить аргумент.
Для примера у вас есть пользовательский пакет +MyCapacitors, который содержит файл компонента IdealCapacitor.ssc, написанная в старом формате:
component IdealCapacitor
% Ideal Capacitor
% Models an ideal (lossless) capacitor.
nodes
p = foundation.electrical.electrical; % +:top
n = foundation.electrical.electrical; % -:bottom
end
parameters
C = { 1, 'F' }; % Capacitance
V0 = { 0, 'V' }; % Initial voltage
end
variables
i = { 0, 'A' }; % Current through variable
v = { 0, 'V' }; % Voltage across variable
end
function setup
if C <= 0
error( 'Capacitance must be greater than zero' )
end
through( i, p.i, n.i ); % Through variable i from node p to node n
across( v, p.v, n.v ); % Across variable v from p to n
v = V0;
end
equations
i == C*v.der; % Equation
end
end
Чтобы обновить файл до нового формата, в MATLAB® командная строка, введите:
ssc_update MyCapacitors;
Эта команда создает резервную копию файла компонента, IdealCapacitor.ssc.bak, в той же папке, где находится исходный файл, и переписывает IdealCapacitor.ssc файл следующим образом:
component IdealCapacitor
% Ideal Capacitor
% Models an ideal (lossless) capacitor.
nodes
p = foundation.electrical.electrical; % +:top
n = foundation.electrical.electrical; % -:bottom
end
parameters
C = { 1, 'F' }; % Capacitance
V0 = { 0, 'V' }; % Initial voltage
end
variables
i = { 0, 'A' }; % Current through variable
v = { 0, 'V' }; % Voltage across variable
end
function setup
if C <= 0
error( 'Capacitance must be greater than zero' )
end
v = V0;
end
branches
i : p.i -> n.i; % Through variable i from node p to node n
end
equations
v == p.v - n.v; % Across variable v from p to n
i == C*v.der; % Equation
end
end
Как видим, оригинал through оператор
through( i, p.i, n.i ); % Through variable i from node p to node n
был заменен на branches раздел:
branches i : p.i -> n.i; % Through variable i from node p to node n end
The across оператор
across( v, p.v, n.v ); % Across variable v from p to n
был заменен уравнением
v == p.v - n.v; % Across variable v from p to n
в equations раздел.
Другие два операторов в setup раздел оставлен без изменений.
Примечание
Начиная с R2019a, используя setup не рекомендуется. Другие конструкции, доступные в языке Simscape, позволяют вам достичь тех же результатов, не ставя под угрозу возможности выполнения. Дополнительные сведения см. в разделе настройке не рекомендуется.