subcircuit2ssc

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

Описание

пример

subcircuit2ssc(filename,target) считывает netlist 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