Обновите файлы компонента Simscape, чтобы использовать новый синтаксис
ssc_update
package
Команда ssc_update
запускает скрипт, который обновляет устаревшие файлы компонента, содержащие операторы across
и through
. После обнаружения с файлом компонента Simscape™, записанным в старом формате, скрипт создает резервную копию файла (
), удаляет операторы filename.ssc.bak
through
и across
из раздела setup
, заменяет операторы 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
Оператор 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, позволяют вам достигнуть тех же результатов, не ставя под угрозу возможности во время выполнения. Для получения дополнительной информации смотрите страницу с описанием setup
.