Построение ПХ процессов в среде Mathlab и в среде Delphi 7

Страницы работы

Содержание работы

Задание: 2

Рисунок 1 – заданная схема. 2

Рисунок 2 – вид нелинейности. 2

Таблица 1 – величины параметров. 2

Построение ПХ процессов в среде Mathlab: 2

Текст m-файла: 2

Рисунок 3 – схема, собранная с использованием библиотеки Simulink. 2

Рисунок 4 – графики ПХ процесса в среде Mathlab. 3

Построение ПХ процессов в среде Delphi7: 4

Рисунок 5  - преобразованная схема. 4

Система уравнений для преобразованной схемы: 4

Рисунок 6 – график ПХ процессов, построенный в Delphi7Текст программы для языка Delphi7: 5

Текст программы для языка Delphi7: 6


Задание:

Рисунок 1 – заданная схема

U

                                                                                                          Un

Рисунок 2 – вид нелинейности

Ra, Ом

Ta, с

Tm, с

KdF

Ic,А

Kнакл

Ограничение, В

Kn

Tn, с

a,o

Нечувствит., В

17

0,12

0,07

0,17

15

400

2

0,16

157

25

Таблица 1 – величины параметров

Построение ПХ процессов в среде Mathlab:

Текст m-файла:

Ra=17;  Ta=0.12;    Tm=0.07;        KdF=0.17;

Ua=220; Ic=15.0;     Knakl=10^10;   Ogran=400;

Kn=2; Tn=0.16;     a=157;          nech=25;

Рисунок 3 – схема, собранная с использованием библиотеки Simulink

Рисунок 4 – графики ПХ процесса в среде Mathlab


Построение ПХ процессов в среде Delphi7:

Для получения системы уравнений преобразуем заданную схему (Рисунок 1).

Рисунок 5  - преобразованная схема

   Система уравнений для преобразованной схемы:

U(i)=U(i-1)+(Kn/Tn)*(a-U(i-1)/Kn)*dt;

Если (U(i)≥nech), тогда Un(i)=Ogran, иначе Un(i)=0;

E(i)=w(i-1)*KdF;

Ua(i)=Un(i)-E(i);

Ia(i)=Ia(i-1)+(1/Ra/Ta)*(Ua(i)-Ia(i-1)*Ra)*dt;

w(i)=w(i-1)+(Ra/Tm/KdF)*(Ia(i)-Ic)*dt;

Рисунок 6 – график ПХ процессов, построенный в Delphi7
Текст программы для языка Delphi7:

unit Model1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart;

type

  TForm1 = class(TForm)

    Chart1: TChart;

    Series1: TLineSeries;

    Series2: TLineSeries;

    Series3: TLineSeries;

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

const

  Ra=17;       Ta=0.12;     Tm=0.07;     KdF=0.17;

  Ogran=400;   Kn=2;        dt=0.001;    nech=25;

  Tn=0.16;     a=157;       t=5000;

var

  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

var

    i:integer; Ic:real;

    U,Un,Ua,Ia,E,w:array[0..t]of double;

begin

Chart1.Series[0].Clear;

U[0]:=0; Un[0]:=0; Ia[0]:=0; w[0]:=0;

for i:=1 to t do

  begin

    if (i<2000) then Ic:=0 else Ic:=3;

    U[i]:=U[i-1]+(Kn/Tn)*(a-U[i-1]/Kn)*dt;

    if (U[i]>=nech) then Un[i]:=Ogran else Un[i]:=0;

    E[i]:=w[i-1]*KdF;

    Ua[i]:=Un[i]-E[i];

    Ia[i]:=Ia[i-1]+(1/Ra/Ta)*(Ua[i]-Ia[i-1]*Ra)*dt;

    w[i]:=w[i-1]+(Ra/Tm/KdF)*(Ia[i]-Ic)*dt;

    Chart1.Series[0].AddXY(i*dt,w[i],'',clRed);

    Chart1.Series[1].AddXY(i*dt,U[i],'',clGreen);

    Chart1.Series[2].AddXY(i*dt,Ia[i]*50,'',clLime);

    end;

end;

end.

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
103 Kb
Скачали:
0