Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по моделированию.doc
Скачиваний:
24
Добавлен:
07.11.2018
Размер:
934.91 Кб
Скачать

1.2.3 Моделирование системы по разностным уравнениям в среде программирования Delphi 7

Для моделирования в среде программирования Delphi 7 требуется составить систему разностных уравнений по заданной структурной схеме (представленной на рисунке 1). Для составления данной системы необходимо преобразовать исходную структурную схему, разбив её блоки на элементарные звенья. Преобразованная структурная схема представлена на рисунке 1.5.

Рисунок 1.5 – Структурная схема с разбиением элементов на элементарные блоки

По данной структурной схеме составим систему разностных уравнений:

(1)

Для удобства реализации данной системы уравнений в среде программирования Delphi 7 перейдём к обозначениям, которые были приведены в таблице 1.2. Так же ведём дополнительные, перечисленные в таблице 1.3.

Таблица 1.3– Таблица кодирования параметров

На схеме

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 одинаковы.