Импортируйте классы модели
import package_or_class;
import package.*;
import операторы предоставляют доступ к классу модели или именам функций, заданным в других осциллографах (пакеты) без полностью определенной ссылки. Необходимо поместить import операторы в начале файла Simscape™.
Существует два типа import синтаксисы оператора. Каждый - квалифицированный импорт, который импортирует определенный пакет, класс или функцию:
import package_or_class;
Другой является неполным импортом, который импортирует все подпакеты, классы, и функционирует под заданным пакетом:
import package.*;
Пакет или имя класса должны быть именем полного пути, начинающим с корня библиотеки (имя каталога пакета верхнего уровня) и содержащим имена подпакета по мере необходимости.
Операторы импорта подвергаются следующим ограничениям:
Импортированное имя должно быть именем полного пути, начинающим с корня библиотеки, даже если import оператор используется в классе компонента, заданном под тем же пакетом как доменный или класс компонента, который импортируется.
Необходимо поместить import операторы в начале файла Simscape. Осциллографом импортированных имен является целый файл Simscape, кроме setup раздел.
В квалифицированных операторах импорта импортированное имя может относиться к подпакету, класс модели (доменный класс или класс компонента), или функция. Например, в import A.B.C; оператор, C может быть или имя подпакета, имя класса или имя функции. В неполных операторах импорта импортированное имя должно относиться к пакету или подпакету. Например, в import A.B.*; оператор, B должно быть имя подпакета (пакета A).
Это вызывает ошибку компиляции, если неполное импортированное имя идентично другим именам в том же осциллографе, если двойное название используется. Например, примите это подпакеты A.B и A.B1 оба содержат класс компонента C. Следующий код:
import A.B.C;
import A.B1.*;
component M
components (ExternalAccess=observe)
c = C;
end
end
вызывает ошибку времени компиляции. Однако следующий код законен (при условии, что D задан только в A.B), потому что C не используется:
import A.B.C;
import A.B1.*;
component M
components (ExternalAccess=observe)
d = D;
end
end
Этот код также законен:
import A.B;
import A.B1;
component M
components
c1 = B.C;
c2 = B1.C;
end
end
потому что вы импортируете два различных имени в этот осциллограф (B и B1), и доступ два различных класса компонента C через их родительские классы B и B1.
В этом примере составной компонент состоит из трех идентичных резисторов, соединенных параллельно:
import foundation.electrical.electrical; % electrical domain class definition
import foundation.electrical.elements.*; % all electrical elements
component ParElResistors
nodes
p = electrical;
n = electrical;
end
parameters
p1 = {3 , 'Ohm'};
end
components(ExternalAccess=observe)
r1 = resistor(R=p1);
r2 = resistor(R=p1);
r3 = resistor(R=p1);
end
connections
connect(r1.p, r2.p, r3.p, p);
connect(r1.n, r2.n, r3.n, n);
end
end