Обновите файлы компонентов 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, позволяют вам достичь тех же результатов, не ставя под угрозу возможности выполнения. Дополнительные сведения см. в разделе настройке не рекомендуется.