Заменяя переменные резисторы

Этот пример показывает, как преобразовать модель, которая нелинейна из-за переменного резистора в коммутируемое линейное создание моделей он совместимый с Simscape к Рабочему процессу HDL.

Введение

Simscape к Рабочему процессу HDL поддерживает преобразование переключенных линейных моделей Simscape к функционально эквивалентным моделям Simulink, которые совместимы для генерации HDL-кода. Из-за природы уравнений, которые следуют из переменных резисторов, блоки, такие как Кусочно-постоянный Резистор могут привести к нелинейному поведению и должны быть заменены эквивалентными коммутируемыми линейными компонентами. В частности Кусочно-постоянный Резистор содержит события, которые не поддержаны HDL Workflow Advisor Simscape.

Откройте Модель Simscape™. В командной строке MATLAB®, введите:

addpath(fullfile(matlabroot, 'toolbox', 'hdlcoder', 'hdlcoderdemos', 'simscapehdldemos'))
nonlinearModel = 'sschdlexVariableResistorExample';
load_system(nonlinearModel)
open_system(nonlinearModel)

Эта модель является схемой RLC с Кусочно-постоянным Резистором, действующим как резистор или 'загрузка'. Для Кусочно-постоянного Резистора отношения между напряжением V и текущий я - V=I*R, где R является численным значением, представленным в порте R физического сигнала.

Чтобы гарантировать положительное значение для сопротивления, любое значение ниже 1e-6 заменяется 1e-6. Этот резистор является Кусочно-постоянным, потому что сопротивление только изменяется, когда входное значение отличается от текущего сопротивления больше, чем допуск набора. Таким образом постоянно вход изменения был бы преобразован в дискретный набор сопротивлений.

В этой модели сигнал, входящий в Кусочно-постоянный Резистор, является ступенчатой функцией, которая изменяется от 2 до 3 в t=0.1, таким образом изменяющем нагрузочное сопротивление от 2 до 3.

Открыть HDL Workflow Advisor Simscape в командной строке, введите: sschdladvisor (nonlinearModel)

Запустите рабочий процесс к Получить задаче параметров пространства состояний. Эта задача перестала работать из-за присутствия Кусочно-постоянного Резистора.

Замените Переменный Резистор на переключатели и постоянные резисторы.

Чтобы преобразовать эту модель в эквивалентную коммутируемую линейную модель, замените Кусочно-постоянный Резистор на набор переключателей и резисторы для каждого требуемого значения. Открыть коммутируемую линейную версию в командной строке MATLAB®, введите:

switchedLinearModel = 'sschdlexVariableResistorSwitchedLinearExample';
load_system(switchedLinearModel)
open_system(switchedLinearModel)

Переменный резистор был заменен резистором и переключателем для каждого желаемого сопротивления. Воссоздать поведение нагрузочного сопротивления, которое изменяется от 2 до 3 в t=0.1, два резистора используются, один с сопротивлением 2 и другой с сопротивлением 3. Путем закрытия и открытия переключателей нагрузочное сопротивление переключается от 2 до 3.

Управление переключателями

Переключатели должны быть включены и выключены, чтобы обеспечить правильное нагрузочное сопротивление. Просмотреть управляющие сигналы для переключателей в командной строке MATLAB®, введите:

open_system([switchedLinearModel,'/Input'])

Чтобы достигнуть правильного сопротивления, создайте две ступенчатых функции. Один, чтобы открыть переключатель последовательно с 2 резисторами в t=0.1 и другом, чтобы закрыть переключатель последовательно с 3 $\\резистор Омеги одновременно.

Теперь, когда переменный резистор был заменен коммутируемыми линейными компонентами, запускают HDL Workflow Advisor Simscape и видят, что все задачи выполнение до завершения.

Путем изменения переменного кусочного резистора на многие заданные резисторы, которые включают и выключают модель, был изменен на форму, которая совместима с Simscape к рабочему процессу HDL.