subcircuit2ssc

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

Синтаксис

subcircuit2ssc(filename,target)
subcircuit2ssc(___,subcircuit1,...,subcircuitN)
subcircuitArray = subcircuit2ssc(___)
[subcircuitArray,unsupportedCommands] = subcircuit2ssc(___)

Описание

пример

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.

RCSUBCIRCUIT.CIR - RC SUBCIRCUIT
*
.SUBCKT RC1      1
*
R1	1	2	1k
C1	2	0	0.32mF
*
.ENDS
*
.END

Преобразуйте все подсхемы 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

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

свернуть все

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

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

Ограничения

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

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

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

Введенный в R2018b

Для просмотра документации необходимо авторизоваться на сайте