exponenta event banner

subcircuit2ssc

Преобразовать подсхему SPICE в пользовательские компоненты Simscape

Описание

пример

subcircuit2ssc(filename,target) считывает список соединений SPICE, указанный filename и преобразует каждую подсхему в один или несколько файлов Simscape™ в папке, указанной в target.

Функция перечисляет команды SPICE, не поддерживаемые процессом преобразования в комментариях соответствующих файлов Simscape. После преобразования просмотрите созданные файлы Simscape и внесите изменения вручную для всех неподдерживаемых элементов. Список неподдерживаемых команд можно также получить с помощью дополнительного выходного аргумента, описанного ниже.

Подробное описание поддерживаемых преобразований см. в разделе Преобразование сетевого списка SPICE в блоки Simscape.

subcircuit2ssc(___,subcircuit1,...,subcircuitN) преобразует только подконтуры с указанными именами.

subcircuitArray = subcircuit2ssc(___) возвращает массив объектов, содержащий информацию о подсистеме.

[subcircuitArray,unsupportedCommands] = subcircuit2ssc(___) возвращает массив объектов, содержащий информацию о подсистеме и struct массив, содержащий имена подсистем и команды SPICE, найденные в преобразованных подсхемах, которые не поддерживаются процессом преобразования.

Примеры

свернуть все

Создание списка соединений SPICE с именем rcsubcircuit.cir который содержит простую RC-субсхему.

.SUBCKT RC1      1
*
R1	1	2	1k
C1	2	0	0.32mF
*
.ENDS

Преобразовать все подкарты SPICE в rcsubcircuit.cir в эквивалентные файлы Simscape и поместить их в каталог пакетов с именем mylibrary.

subcircuit2ssc('rcsubcircuit.cir','+mylibrary');
Netlist converted. Review files and make manual edits for any
unsupported items before building the Simscape library located
at: +mylibrary.

Проверьте комментарии в начале созданного файла компонента rc1.ssc в mylibrary для проверки того, что преобразование вручную не требуется.

Создание библиотеки Simscape с помощью ssc_build.

ssc_build mylibrary;
Generating Simulink library 'mylibrary_lib' in the current directory

Открыть созданную библиотеку mylibrary_lib.slx для доступа к компоненту RC в виде блока Simscape.

Создание списка соединений SPICE с именем temperatureresistor.cir содержит резистор с температурной зависимостью.

TEMPERATURERESISTOR.CIR - TEMPERATURE RESISTOR SUBCIRCUIT
*
.SUBCKT TemperatureResistor     p n
*
R1 p n 1k TC=0.01,-0.002
*
.ENDS

Преобразовать все подкарты SPICE в temperatureresistor.cir в эквивалентные файлы Simscape и поместить их в каталог пакетов с именем mylibrary.

subcircuit2ssc('temperatureresistor.cir','+mylibrary');
Netlist converted. Review files and make manual edits for any
unsupported items before building the Simscape library located
at: +mylibrary.

Проверьте комментарии в начале созданного файла компонента temperatureresistor.ssc в mylibrary пакет для определения требуемых преобразований вручную.

component temperatureresistor
% temperatureresistor
% Component automatically generated from a SPICE netlist for subcircuit TEMPERATURERESISTOR.
%   MATLAB version: 9.7.
%   Simscape Electrical version: 7.1.
%   Simscape code generated on: 11-Dec-2018 09:45:20
%
% Users should manually implement the following SPICE commands in order to
% achieve a complete implementation:
%    R1: tc 0.01 -0.002

В комментариях предлагается вручную преобразовать температурные коэффициенты. TC.

В components раздел файла компонента, замените резистор на резистор SPICE, который моделирует температурную зависимость:

components(ExternalAccess=observe)
    R1 = ee.additional.spice_passives.res(...
        R={(1*1000),'Ohm'},...
        TC1={(0.01),'1/K'},...
        TC2={(-0.002), '1/K^2'});
end

Создание библиотеки Simscape с помощью ssc_build.

ssc_build mylibrary;
Generating Simulink library 'mylibrary_lib' in the current directory

Открыть созданную библиотеку mylibrary_lib.slx доступ к резистору с компонентом температурной зависимости в виде блока Simscape.

Входные аргументы

свернуть все

Имя считываемого сетевого файла SPICE. Этот файл должен находиться в пути.

Пример: 'SpiceSubcircuits.cir'

Типы данных: char | string

Имя папки, в которой создаются файлы языка Simscape. Чтобы разрешить создание пользовательских библиотек блоков, укажите каталог пакета с помощью '+' предшественник. Если указанная папка не существует, функция создает ее в текущей папке.

Пример: '+SimscapeSubcircuits'

Типы данных: char | string

Имена подконтуров SPICE для преобразования в файлы языка Simscape.

Пример: 'Subcircuit1','Subcircuit2'

Типы данных: char | string

Выходные аргументы

свернуть все

Массив объектов, содержащий информацию о подсистеме.

A struct массив, содержащий имена подсистем и команды SPICE, найденные в преобразованных подсхемах, которые не поддерживаются процессом преобразования.

Ограничения

  • Список соединений должен быть написан в формате Cadence ® PSpice и быть синтаксически корректным. Помощник по преобразованию не проверяет правильность синтаксиса PSpice.

  • Поддерживается только подмножество языка списка соединений PSpice. Однако неподдерживаемые команды PSpice определяются в верхней части соответствующего файла компонента Simscape для облегчения преобразования вручную.

  • Чтобы создать сгенерированные компоненты Simscape в блоках Simscape, значения параметров должны соответствовать ограничениям Simscape. Например, емкость основного конденсатора и индуктивность основного индуктора должны быть ненулевыми.

Представлен в R2018b