- •Введение
- •Основные сведения о системе MatLab simulink
- •Непрерывные блоки (Continuous)
- •Дискретные блоки (Discrete)
- •Математические блоки (Math)
- •Нелинейные блоки (Nonlinear)
- •Сигналы и системы (Signals and Systems)
- •Виртуальные приборы для наблюдения и регистрации процессов (Skins)
- •Источники сигналов (Sources)
- •Источники электрической энергии (Electrical Sources)
- •Библиотека силовых элементов полупроводниковых преобразователей (Power Electronics)
- •Библиотека электрических машин (Machines)
- •Лабораторная работа № 1 Цифровое Моделирование схемы электропривода с двигателем постоянного тока
- •1.1 Общая постановка задачи
- •1.2 Пример выполнения задания
- •1.2.1 Постановка задачи и исходные данные
- •1.2.2 Моделирование системы по структурной схеме в MatLab simulink
- •1.2.3 Моделирование системы по разностным уравнениям в среде программирования Delphi 7
- •1.3 Указания к составлению отчёта
- •1.5 Контрольные вопросы
- •Лабораторная работа № 2 моделирование двигателя переменного тока
- •2.1 Общая постановка задачи
- •2.2 Краткие теоретические сведения
- •2.3 Программа работы и порядок её выполнения
- •2.4 Указания к составлению отчёта
- •2.5 Контрольные вопросы
- •Библиографический список
- •Приложение а Задание для лабораторной работы №1
- •Задание для лабораторной работы №2
- •654007, Г. Новокузнецк, ул. Кирова, 42
1.2.3 Моделирование системы по разностным уравнениям в среде программирования Delphi 7
Для моделирования в среде программирования Delphi 7 требуется составить систему разностных уравнений по заданной структурной схеме (представленной на рисунке 1). Для составления данной системы необходимо преобразовать исходную структурную схему, разбив её блоки на элементарные звенья. Преобразованная структурная схема представлена на рисунке 1.5.
Рисунок 1.5 – Структурная схема с разбиением элементов на элементарные блоки
По данной структурной схеме составим систему разностных уравнений:
(1)
Для удобства реализации данной системы уравнений в среде программирования Delphi 7 перейдём к обозначениям, которые были приведены в таблице 1.2. Так же ведём дополнительные, перечисленные в таблице 1.3.
Таблица 1.3– Таблица кодирования параметров
На схеме |
|
|
Uн |
|
I |
В программе |
dU |
dt |
Un |
dUn |
Ia |
Ниже приведено подробное описание этапов составления программы для расчета и построения графиков переходных процессов по системе уравнений (1).
1) Запускаем Borland Delphi 7. Раскрывается окно «новой формы» (Form1) и «инспектора объектов» (Object Inspector).
2) Из вкладки Additional на панели стандартных компонентов выбираем компонент типа TChart (специальный компонент, предназначенный для построения графиков и диаграмм).
3) Устанавливаем объект Chart 1 на «форму» и двойным нажатием левой кнопки мыши открываем его для редактирования.
4) Выбираем вкладку Series и нажимаем на кнопку Add. В раскрывшемся окне с различными типами графиков отключаем опцию 3D. Выбираем Line («график») и нажимаем OK.
5) Закрываем окно Editting Chart 1.
6) Двойным щелчком на пустом пространстве формы необходимо получить заготовку процедуры TForm1.FormCreate, которая будет выполняться при запуске приложения.
7) Дополняем текст программы в Unit 1 до приведенного ниже образца:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, //Перечисление необходимых
Classes, Graphics, Controls, Forms, // для работы программы
Dialogs, TeEngine, Series, ExtCtrls, // модулей
TeeProcs, Chart; // модулей
const
n=5000; //Число точек на графике
dt=0.001; //Время между точками расчёта
alpha=170; Ktp=0.8; Ttp=0.06; UB=300; K=1.5; Ra=6; Koc=0.2; Ta=0.08; Tm=0.05; //Основные параметры системы
type //Раздела описания типов
TForm1 = class(TForm) //описание типа формы
Chart1: TChart; //описание объекта Chart1
Series1: TLineSeries; //описание объекта Series1
procedure FormCreate(Sender: TObject); //описание процедуры
//создания
end;
var Form1: TForm1; //описание объекта формы
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); //описание
//основной процедуры
var //объявление раздела описания локальных переменных
i:integer; //описание переменной «счётчика»
a,dU,U,Un,dUn,Ia,w,Ic:array[0..n] of real; //описание исполь-
//зуемых массивов
begin
Chart1.Series[0].Clear; //Очистка графика
for i:=0 to 3000 do Ic[i]:=0; //Задание нагрузки, которая
for i:=3000 to 5000 do Ic[i]:=9; //прикладывается через 3 секунды
U[0]:=0; U1[0]:=0; Un[0]:=0; Un1[0]:=0; Ia[0]:=0; w[0]:=0; Ia1[0]:=0;
//Обнуление всех переменных
for i:=1 to n do //Вычислительный цикл
begin
dU[i]:=alpha+U[i-1]/Ktp;
U[i]:=U[i-1]+Ktp/Ttp*dU[i]*dt;
if U[i]>0 then
if U[i]>UB then Un[i]:=UB else Un[i]:=K*U[i]
else Un[i]:=0;
dUn[i]:=Un[i]-Ia[i-1]*Ra-w[i-1]*Koc;
Ia[i]:=Ia[i-1]+1/Ra/Ta*dUn[i]*dt;
w[i]:=w[i-1]+Ra/Koc/Tm*(Ia[i]-Ic[i])*dt;
Сhart1.Series[0].AddXY(i*dt,w[i],'',clRed); //Добавление точки
//на график
end;
end;
end.
8) Сохраняем программу.
9) Запускаем программу нажатием на кнопку F9. В результате на экране появляется график переходного процесса скорости.
Результат работы программы представлен на рисунке 1.6.
Рисунок 1.6 – Пример работы программы для построения переходного процесса скорости
Графики, полученные путём моделирования по структурной схеме в среде MatLab Simulink и путём моделирования по разностным уравнениям в среде Delphi 7 одинаковы.