- •1 Общая информация
- •Введение
- •1.2 Структурная схема
- •1.3 Требования к программному обеспечению и аппаратным средствам.
- •1.4 Установка программы
- •1.5 Моделирование схемы
- •1.6 Формат и спецификация параметров.
- •2.1 Цепи, содержащие резистор, катушку индуктивности, конденсатор
- •2.1.1 Резисторы, катушки индуктивности и конденсаторы
- •2.1.2 Реостат
- •2.1.3 Насыщающийся реактор
- •2.1.4 Нелинейные элементы
- •2.2 Коммутаторы (ключи)
- •2.2.1 Диод, динистор и стабилитрон
- •2.2.2 Тиристор и симистор
- •2.2.3 Запираемые тиристоры, транзисторы и двунаправленные переключатели
- •2.2.4 Линейные переключатели
- •2.2.5 Управляющий блок переключения
- •2.2.6 Однофазные модули переключения
- •2.2.7 Трехфазные модули переключения
- •2.3 Связанные катушки индуктивности
- •2.4 Трансформаторы
- •2.4.1 Идеальные трансформаторы
- •2.4.2 Однофазные трансформаторы
- •2.4.3 Трехфазные трансформаторы
- •2.5 Другие элементы
- •2.5.1 Операционный усилитель
- •2.6.1.2 Асинхронная машина
- •2.6.1.3 Асинхронная машина с насыщением
- •2.6.1.4 Бесщеточная машина постоянного тока
- •2.6.1.5 Синхронная машина с внешним возбуждением
- •2.6.1.6. Синхронная машина с постоянным магнитом
- •2.6.1.7 Коммутируемая реактивная машина
- •2.6.2 Механические нагрузки
- •2.6.2.1 Нагрузка постоянного вращающего момента
- •2.6.2.2 Постоянная силовая нагрузка
- •2.6.2.3 Нагрузка постоянной скорости
- •2.6.2.4 Нагрузка общего типа
- •2.6.3 Коробка передач
- •2.6.4 Механическо-электрический блок сопряжения
- •2.6.5 Датчики скорости / вращающего момента
- •3 Компоненты схемы управления
- •3.1 Блоки передаточной функции
- •3.1.1 Пропорциональный регулятор
- •3.1.2 Интегратор
- •3.1.3 Дифференциатор
- •3.1.4 Пропорционально-интегральный регулятор
- •3.1.5 Встроенные фильтровые блоки
- •3.2 Вычислительный функциональный блок
- •3.2.1 Сумматор
- •3.2.2 Множитель. Делитель
- •3.2.3 Блок извлечения квадратного корня
- •3.2.4 Экспоненциальный (exp), логарифмический (log) функциональные блоки и блок возведения в степень (power)
- •3.2.5 Среднеквадратический блок
- •3.2.6 Модульные и знаковые функциональные блоки
- •3.2.7 Тригонометрические функции
- •3.2.8 Блок быстрого преобразования Фурье
- •3.3 Другие функциональные блоки
- •3.3.1 Компаратор
- •3.3.2 Ограничитель
- •3.3.3 Градиентный (dv/dt) ограничитель
- •3.3.4 Таблица данных
- •3.3.5 Блоки трапецеидального и прямоугольного сигнала
- •3.3.6 Блок дискретизации (выборки)
- •3.3.7 Блок округления значений
- •3.3.8 Блок временной задержки
- •3.3.9 Мультиплексор
- •3.3.10 Блок коэффициента несинусоидальности
- •3.4 Логические компоненты
- •3.4.1 Логические элементы
- •3.4.4 D триггер
- •3.4.5 Одновибратор
- •3.4.6 Счетчик длительности импульса
- •3.4.7 Аналого-цифровой (ацп) и цифро-аналоговый (цап) преобразователи
- •Модуль цифрового управления
- •3.5.1 Фиксатор нулевого порядка
- •3.5.2 Блок передаточной функции в z-области
- •3.5.2.1 Интегратор
- •3.5.2.2 Дифференциатор
- •3.5.2.3 Цифровые фильтры
- •3.5.3 Блок единичной задержки
- •3.5.4 Блок квантования
- •3.5.5 Кольцевой буфер
- •3.5.6 Блок свертки
- •3.5.7 Блок чтения памяти
- •3.5.8 Массив данных
- •3.5.9 Стек
- •3.5.10 Система многоэтапной дискретизации
- •3.6 Модуль SimCoupler
- •3.6.1 Установка в psim и Simulink
- •3.6.2 Тип решающей программы и выбор такта в Simulink
- •4 Другие компоненты
- •4.1 Файл параметров
- •4.2.4 Источник прямоугольного сигнала
- •4.2.5 Источник треугольного сигнала
- •4.2.6 Источник шагового напряжения/тока
- •4.2.7 Источник напряжения с кусочно-линейной характеристикой
- •4.2.8 Источник случайного напряжения
- •4.2.9 Источник математической функции
- •4.2.10 Источники, управляемые напряжением/током
- •4.2.11 Источники, управляемые нелинейным напряжением
- •4.3 Датчики напряжения/тока
- •4.4 Зонды и счетчики
- •4.5 Контроллер прерывания
- •4.5.1 Двухпозиционный регулятор переключения
- •Альфа-контроллер
- •4.5.3 Шим контроллер табличных данных
- •4.6 Функциональные блоки
- •4.6.1 Интерфейсный блок управления мощностью
- •4.6.2 Блок преобразования abc-dq0
- •4.6.3 Математические функциональные блоки
- •4.6.4 Внешний блок динамической библиотеки (ddl)
- •5 Описание анализа
- •5.1 Анализ переходных процессов
- •5.2 Анализ по переменному току
- •5.3 Параметры колебания
- •6 Проектирование принципиальных
- •6.1 Создание схемы
- •6.2 Редактирование схемы
- •6.3 Подсхема
- •6.3.1 Создание подсхемы в главной цепи
- •6.3.2 Создание подсхемы – внутри подсхемы
- •6.3.3 Соединение подсхемы в главной цепи
- •6.3.4 Другие характеристики подсхемы
- •6.2.4.1 Переход переменных от основной цепи к подсхеме
- •6.3.4.2 Настройка изображения подсхемы
- •6.3.4.3 Внесение подсхем в список элементов psim
- •6.4.5 Распечатка принципиальной схемы
- •6.5 Редактирование библиотеки psim
- •7 Обработка формы сигнала
- •7.1 Меню File
- •7.2 Меню Edit
- •7.3 Меню Axis
- •7.4 Меню Screen
- •7.5 Меню View
- •7.6 Меню Option
- •7.7 Меню Label
- •7.8 Перемещение данных
- •8 Сообщения об ошибке/предупреждения и
- •8.1 Проблемы моделирования
- •8.1.1 Выбор такта
- •8.1.2 Задержка при прохождении сигнала в логических схемах
- •8.1.3 Интерфейс между силовой схемой и схемой управления
- •8.1.4 Бпф анализ
- •8.2 Сообщения об ошибке/предупреждения
- •Отладка программы
4.6.4 Внешний блок динамической библиотеки (ddl)
Внешний блок динамической библиотеки позволяет пользователям писать код на языке программирования C/C++ или языке Fortant, и транслировать его в DDL, используя или Microsoft C/C++ или Borland C++ или Digital Visual Fortran, а также соединить все это с PSIM. Эти блоки могут использоваться или в силовом контуре или в цепи управления.
Рисунок:
Характеристика:
Параметр |
Описание |
File Name |
Имя DDL файла |
Узел, обозначенный точкой, предназначен для первого входа (в [0]). Имя DDL файла может быть произвольным. Однако, DLL файл должен находится в той же директории, что и файл описания схемы, использующий DLL файл.
Блок DDL принимает значения из PSIM на входе, выполняет вычисления и описывает значение на выходе. PSIM вызывает программу DLL в каждый такт моделирования. Однако, когда входы блока DLL подключены к одному из этих дискретных элементов (фиксатор нулевого порядка, элемент единичной задержки, дискретные интеграторы и дифференциаторы, функциональные блоки z-преобразования и цифровые фильтры), он вызывается только в дискретные моменты выборки.
Типовые файлы соответствуют программам Microsoft C/C++, Borland C++ и Fortran. Пользователи могут использовать эти файлы как шаблон для написания собственных программ. Все действия, как транслировать программу DLL и связать ее с PSIM, изложены в этих файлах и сетевой справке.
Пример:
Ниже приведенный пример показывает схему корректора коэффициента мощности с обратной связью по напряжению нагрузки. Входное напряжение используется для генерирования опорного тока. Управляющая схема реализуется в цифровой среде с частотой дискретизации 30 кГц. Схема вводится во внешний код С и состыковывается с силовой цепью через блок DDL.
На входе блока DDL – выбранное входное напряжение, ток индуктора и выходное напряжение. Один из выходов блока DDL – модуляция волны Vm , которая сравнивается с несущей волной для создания управляющего сигнала ШИМ для переключателя.
Часть исходного кода, которая находится в файле “pfc_vi_dll.c”, показана ниже. Как внутренняя токовая петля, так и внешняя петля напряжения, используют PI - контроллер. Для дискретизации контроллеров используется формула трапеций. Дискретизация с использованием прямого метода Эйлера также реализуется, но коды прокомментированы.
//Эта типовая программа осуществляет управление цепью “pfc-vi-dll.sch” в подпрограмме С. //Ввод: in[0] = Vin; in[1] = iL; in[2]=Vo //Вывод: Vm=out[0]; iref=out[1] //Вы можете изменять названия переменных (к примеру, от “t” до “Time”) //Но НЕ ИЗМЕНЯЙТЕ названия функции, число переменных, тип переменной и последовательность. //Переменные: // t: Время, пройденное от PSIM на величину // delt: Такт, пройденный в PSIM за величину // in: Входной массив, пройденный от PSIM ссылкой // out: Выходной массив, отправленный обратно к PSIM (следует заметить: величины out[*] могут быть видоизменены) // Максимальная длина входного и выходного массивов “in” и “out” составляет 20 // Предупреждение: Глобальные переменные над функцией simuser (t, delt, in, out) не допускаются!!! #include <math.h> __declspec(dllexport) void simuser (t, delt, in, out) //Следует отметить, что все переменные должны быть определены как “двойные” double t, delt; double *in, *out; { // Поместите ваш код здесь……….начало double Voref=10.5, Va, iref, iL, Vo, Vm, errv, erri, Ts= 33.33e-6; static double yv=0., yi=0., uv=0., ui=0.; //Ввод Va=fabs(in[0]); iL =in[1]; Vo=in[2]; //Внешний цикл errv=Voref-Vo; //Формула трапеций yv=yv+(33.33*errv+uv)*Ts/2.; iref=(errv+yv)*Va; //Внутренний цикл erri=iref-iL; //Формула трапеций yi=yi+(4761.9*erri+ui)*Ts/2.; Vm=yi+0.4*erri; //Сохранять прежние величины uv=33.33*errv; ui=4761.9*erri; //Вывод out[0]=Vm; out[1]=iref; //Поместите ваш код здесь……………конец }
|
