Компьютеризация процесса производства хлеба

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    819,51 Кб
  • Опубликовано:
    2012-09-03
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Компьютеризация процесса производства хлеба

Задание на курсовой проект

Разработать визуализацию процесса производства хлеба. Отразить текущее численное значение технологических параметров.

Разработать базу данных хранения значений технологических параметров с системой управления базой данных с отображением графического изменение значений технологических параметров.

Рассчитать комбинированную систему регулирования расхода воды(в качестве управляющего воздействия давление воды в трубопроводе):

Произвести идентификацию каналов по управлению и возмущению по имеющимся экспериментальным кривым разгона методом наименьших квадратов:


Произвести оптимизацию настроек регулятора по каналу управления в составе одноконтурной схемы (выбрать из ПИ, ПД регуляторов);

Расчет цифрового компенсатора в комбинированной системе из условия инвариантности;

Провести анализ полученной системы регулирования.

Содержание

Введение

. Технология производства хлеба

. Описание визуализации

. Описание базы данных технологических параметров

. Синтез цифровой комбинированной системы регулирования

.1 Описание объекта управления

.2 Идентификация объекта управления

.3 Расчет оптимальных настроек регулятора

.4 Расчет цифрового компенсатора

. Анализ АСР

Приложение

база данное цифровое регулирование

Введение

В России хлеба потребляют традиционно много - в среднем до 330 г в сутки. В периоды экономической нестабильности потребление хлеба неизбежно возрастает, так как хлеб относится к наиболее дешевым продуктам питания. В хлебе содержатся многие важнейшие пищевые вещества, необходимые человеку; среди них белки, углеводы, витамины, минеральные вещества, пищевые волокна. За счет потребления хлеба человек почти наполовину удовлетворяет свою потребность в углеводах, на треть - в белках, более чем наполовину - в витаминах группы В, солях фосфора и железа. Хлеб из пшеничной обойной или ржаной муки почти полностью удовлетворяет потребность в пищевых волокнах. Усвояемость хлеба в значительной мере связана с его органолептическими показателями, в первую очередь такими, как вкус, аромат, разрыхленность мякиша, которые формируют понятие качества хлеба. Качество хлеба обусловлено составом и свойствами компонентов, входящих в его состав, а также процессами, протекающими в тесте при его созревании и выпечке тестовых заготовок.
Современное хлебопекарное производство характеризуется высоким уровнем механизации и автоматизации технологических процессов производства хлеба, внедрением новых технологий и постоянным расширением ассортимента хлебобулочных изделий, а также широким внедрением предприятий малой мощности различных форм собственности. Все это требует от работников отрасли высокой профессиональной подготовки, знания технологии и умения выполнять технологические операции по приготовлению пшеничного и ржаного теста, по разделке и выпечке различных видов изделий.

1. Технология производства хлеба

В необходимых пропорциях добавляются вода, дрожжи и мука в тестомесильную машину. После перемешивания, закваска отправляется в первый тестоприготовительный аппарат. Необходимое количество времени закваска выдерживается в тестоприготовительном агрегате. Две части закваски проходят дальше по линии, одна часть закваски возвращается на начальную стадию и используется вместо дрожжей. После приготовления закваски к ней добавляются солевой раствор, пищевые добавки мука и другие необходимые компоненты. Полученное тесто выдерживается во втором тестоприготовительном агрегате. Далее тесто делится и направляется в печь.

2. Описание визуализации

Для наглядного отображения технологического процесса средствами среды Borland Delphi 7.0 была разработана следующая технологическая схема:


На ней изображены основные технологические аппараты и материальные, энергетические потоки. На схеме представлены:

Терморегулятор дилатометрического типа;

Дозатор весового типа для жидких компонентов;

Тестомесильная машина А2-ХТМ с планетарным движением рабочего органа;

Зеленое мигание обозначает поступление компонента из одного аппарата в другой.

Рядом с соответствующими аппаратами расположены поля ввода, где отображается текущее значение технологического параметра.

3. Описание базы данных технологических параметров

Для хранения и просмотра значений технологических параметров была разработана база данных, состоящая из таблицы баз данных Paradox7. Она хранится на жестком диске в файле mybd.db в той же папке, где хранится программа.

Структура таблицы имеет вид:

Таблица разработана средствами Database Desktop, где ее структура имеет вид:


Базу данных текущих значений и графики по расходу воды и давлению воды можно просмотреть на вкладке «Показания датчиков»:

4. Синтез цифровой комбинированной системы регулирования

.1 Описание объекта управления

В качестве объекта управления выберем давление воды в трубопроводе. Для того, чтобы обеспечить оптимальное давление при выводе системы на новое заданное значение или функционировании системы в стабильном режиме, необходимо скомпенсировать колебания расхода воды, изменяя давление воды.

Для синтеза системы управления разработана комбинированная система регулирования вида:


где yz - заданное значение параметра;- выход системы регулирования, полученное значение параметра;, Wop - передаточные функции объекта по каналу возмущения и по каналу управления, соответственно;, Up - выход компенсатора и регулятора, соответственно;- суммарное управляющее воздействие регулятора и компенсатора;- измеряемое возмущение, действующее на систему.

.2 Идентификация объекта управления

Синтез объекта управления по каналу возмущения и по каналу управления произведем по имеющимся экспериментальным кривым разгона с помощью метода наименьших квадратов. Каждую кривую идентифицируем конечно разностным уравнением первого и второго порядка и выберем лучшее уравнение по критерию Фишера.

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

Произведем расчет коэффициентов этой модели исходя из условия:

,

Исходя из условия существования экстремума функции двух переменных, необходимым условием минимума  является выполнение условий:

.

Таким образом, требуется решить систему уравнений:

 


Обозначим суммы соответствующими переменными:

, , ,

, , ,

и запишем систему уравнений в другом виде:

Для проверки адекватности модели при отсутствии параллельных опытов рассчитаем критерий Фишера сравнением остаточной дисперсии  и дисперсии относительно среднего :

, где , ,

 - среднее значение выхода объекта,

 - значения отклика, рассчитанные по модели,= 300 - объем выборки,= 2 - число связей, наложенных на выборку, равное числу определенных коэффициентов в уравнении.

Если F больше некоторого критического (табличного) значения Fp, то модель близка к описанию объекта, т.е. она адекватна объекту:

, где  - число степеней свободы для дисперсий  и  соответственно, p - уровень значимости.


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

Произведем расчет коэффициентов этой модели исходя из условия:

,

Исходя из условия существования экстремума функции трех переменных, необходимым условием минимума  является выполнение условий:

.

Таким образом, требуется решить систему уравнений:

 


Обозначим суммы соответствующими переменными:

, , , ,

, , , ,

, , , ,

и запишем систему уравнений в другом виде:

Для проверки адекватности модели при отсутствии параллельных опытов рассчитаем критерий Фишера сравнением остаточной дисперсии  и дисперсии относительно среднего :

, где , ,

 - среднее значение выхода объекта,

= 300 - объем выборки,= 3 - число связей, наложенных на выборку, равное числу определенных коэффициентов в уравнении.

Если F больше некоторого критического (табличного) значения Fp, то модель близка к описанию объекта, т.е. она адекватна объекту:

, где р=1%,  =>.

В результате идентификации получены следующие параметры модели:


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

4.3 Расчет оптимальных настроек регулятора

Для синтеза цифровой системы регулирования необходимо выбрать регулятор и вычислить его оптимальные настройки для данных значений параметров объекта. Сделаем выбор между ПИ и ПД регулятором по критерию интегральной квадратичной ошибки.

Качество регулирования оценивают по реакции замкнутой системы на ступенчатое изменение задающего воздействия. Наиболее общим критерием качества регулирования является интегральная квадратичная ошибка:

. (1)

Рассмотрим алгоритм оптимизации настроек цифрового ПИ - регулятора для объекта второго порядка. Модель замкнутой цифровой АСР можно представить в виде системы уравнений:

 (2)

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

, (3)

где m = 2 - порядок цифрового регулятора.

Для оптимизации настроек q1,q2 цифрового ПИ - регулятора воспользуемся численным методом - градиентным методом с пошаговым поиском оптимума. Поиск оптимума производится в два этапа. На первом - находятся численные значения частных производных (3) по каждой настройке, которые определяют направление градиента в исходной точке (на j-том шаге приближения).

На втором этапе осуществляется шаг по каждой настройке в направлении, обратном направлению градиента:

, (4)

где j - номер текущей итерации приближения оптимуму;

 - коэффициенты шага на j-той итерации приближения по каждой настройке;

 - норма градиента: . (5)

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

Стратегия изменения коэффициента шага определяется в соответствии с правилом:

 (6)

Момент окончания поиска оптимума определяется при выполнении условий:  или , (7)

где  - заданная точность вычисления точки экстремума.

Чтобы получить численные значения частных производных критерия, необходимо рассчитать переходной процесс (ПП) замкнутой ЦСР по уравнениям (2) при подаче единичного воздействия на вход системы. С помощью квазианалитических рекуррентных выражений находим частные производные:

 (8)

Для расчета численных значений производных по системе (8) надо принять начальные условия:

  (9)

Для ПД - регулятора справедливы все вышеприведенные формулы, кроме системы (2) и системы (8), которые примут вид:

(10) (11)

Выбор начальных значений настроек регуляторов осуществим в соответствии с системами (А) и (Б):

для ПИ- и ПД - регуляторов они будут одинаковы:

, например, .

Для оценки качества переходных процессов при использовании различных регуляторов рассчитаем следующие критерии:

Время регулирования: , где  - номер такта, для которого выполняется проверяемое условие при изменении i от N до mc с шагом -1: .

Перерегулирование: , где А1 - максимальное отклонение выхода объекта от задания .

Коэффициент затухания: , где  - второй максимум выхода объекта.

Статическая ошибка: , где  - значение выхода объекта на N-м такте (установившееся значение).


.4 Расчет цифрового компенсатора

Расчет цифрового компенсатора в комбинированной системе из условия инвариантности позволяет практически полностью компенсировать влияние возмущающего воздействия на управляемый параметр при точном описании динамики объекта.

Для этого нужно получить дискретные передаточные функции каналов объекта, а затем, используя условие инвариантности, вывести передаточную функцию компенсатора:

, (*)

где - дискретная передаточная функция возмущающего канала; - дискретная передаточная функция основного канала



Для нашей системы:


5. Анализ АСР

После рассмотрения различных примеров функционирования системы регулирования можно сделать следующие выводы о ее функционировании:

Наличие компенсатора в системе делает кривую переходного процесса при расчете по заданию более гладкой и уменьшает интегральную квадратичную ошибку;

Наличие компенсатора в системе уменьшает амплитуду колебаний переходного процесса при расчете по возмущению в пять раз;

Время регулирования переходного процесса при расчете по заданию с компенсатором совпадает с временем регулирования при проведении оптимизации настроек данного регулятора.

Приложение

Листинг программы

Unit1;

interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, Menus, OleCtrls, DB,, Grids, DBGrids, StdCtrls, Mask, DBCtrls,Math, ComCtrls,, TeEngine, Chart, Series; :array[1..57] of real=(0,0,0,0,0,0.05,0.08,0.1,0.12,0.15,0.2,0.25,0.27,0.3,0.35,0.4,0.45,0.5,0.6,0.65,0.75,0.8,0.89,0.95,1.05,1.15,1.23,1.32,1.4,1.51,1.62,1.75,1.9,2.05,2.2,2.37,2.55,2.8,3.1,3.37,3.68,3.95,4.25,4.45,4.77,4.81,4.93,4.98,5.05,5.08,5.13,5.15,5.19,5.2,5.22,5.23,5.23);:array[1..45] of real=(0,0,0,0,0,0,0,0,0.01,0.02,0.025,0.035,0.05,0.085,0.1,0.125,0.15,0.175,0.22,0.26,0.315,0.35,0.42,0.45,0.51,0.565,0.61,0.655,0.725,0.77,0.81,0.85,0.88,0.915,0.94,0.975,0.985,1.01,1.015,1.02,1.022,1.025,1.025,1.025,1.025);= 300; du=5; dv=8;= class(TForm): TPageControl;: TTabSheet;: TTabSheet;: TTabSheet;: TPageControl;: TTabSheet;: TTabSheet;: TTabSheet;: TLabel;: TLabel;: TRadioButton;: TRadioButton;: TRadioButton;: TRadioButton;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TChart;: TLineSeries;: TLineSeries;: TRadioButton;: TRadioButton;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TChart;: TLineSeries;: TLabel;: TButton;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TTimer;: TChart;: TChart;: TLineSeries;: TLineSeries;: TDBGrid;: TImage;: TImage;: TImage;: TImage;: TLabel;: TLabel;: TLabel;: TLabel;: TShape;: TShape;: TShape;: TShape;: TShape;: TShape;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TButton;: TTimer;: TTimer;: TTimer;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TLabel;: TTable;: TDataSource;Time: TTimeField;Fdrogy: TFloatField;Tvody: TFloatField;Pvody: TFloatField;Fvody: TFloatField;: TLabel;: TLabel;: TLabel;: TTimer;RadioButton1Click(Sender: TObject);RadioButton2Click(Sender: TObject);RadioButton3Click(Sender: TObject);RadioButton4Click(Sender: TObject);RadioButton6Click(Sender: TObject);RadioButton5Click(Sender: TObject);Button1Click(Sender: TObject);FormCreate(Sender: TObject);Timer1Timer(Sender: TObject);Timer2Timer(Sender: TObject);Button4Click(Sender: TObject);Timer4Timer(Sender: TObject);Timer5Timer(Sender: TObject);Timer6Timer(Sender: TObject);

{ Private declarations }

{ Public declarations };mas=array[1..NN] of real;: TForm1;,Fu2,Fv1,Fv2,Spi,Spd:real;,bu1,au12,au22,bu2,av11,bv1,av12,av22,bv2,au1,au2,au3,bu,av1,av2,bv:real;pi,q1pi,q2pi,q0pd,q1pd,q2pd,q0,q1,q2:real;,k2,k3,k4,k5:real;,nv,k,mc,m,dk:integer;

{$R *.dfm}TForm1.RadioButton1Click(Sender: TObject);n, i: integer;,Res,u:mas;, k12, p1, k21, k22,p2,, Sy, Sost: real;.Series1.Clear;.Series2.Clear;:= 1;i:=1 to n+du do y[i]:= 0;i:=n+du+1 to 57 do y[i]:=exp1[i-1];i:=58 to NN do y[i]:=5.23;i:=1 to n-1 do u[i]:=0;i:=n to NN do u[i]:=2.85;:= 0; k12:= 0; p1:= 0;:= 0; k22:= 0; p2:= 0;i:=(n+du+1) to NN do:= k11+y[i-1]*y[i-1];:= k12+u[i-1-du]*y[i-1];:= p1+y[i]*y[i-1];:= k22+sqr(u[i-1-du]);:= k21+y[i-1]*u[i-1-du];:= p2+y[i]*u[i-1-du];;:=(p1*k22-p2*k12)/(k11*k22-k21*k12);:= (k11*p2-p1*k21)/(k11*k22-k21*k12);i:= 1 to n+du do begin[i]:= 0;.Series1.AddXY(i,y[i],'',clred);.Series2.AddXY(i,Res[i],'',clgreen);;i:= n+du+1 to NN do begin[i]:= au11*Res[i-1]+bu1*u[i-1-du];.Series1.AddXY(i,y[i],'',clred);.Series2.AddXY(i,Res[i],'',clgreen);;:= 0;i:=n+du to NN do ySr:=ySr+Res[i];:= ySr/(NN-1);:= 0; Sost:= 0;i:=n+du to NN do:=Sy+sqr(Res[i]-ySr);:=Sost+sqr(y[i]-Res[i]);;:= Sy/(NN-1); Sost:= Sost/(NN-3);:= Sy/Sost;.Label4.Caption:='a1='+FloatToStrf(au11,ffgeneral,9,2);.Label5.Caption:='a2=0';.Label6.Caption:='b='+FloatToStrf(bu1,ffgeneral,9,2);.Label7.Caption:='F='+FloatToStrf(Fu1,ffgeneral,9,2);;TForm1.RadioButton2Click(Sender: TObject);n, i: integer;,Res,u:mas;, k12,k13,p1,k21,k22,k23,p2,k31,k32,k33,p3,, Sy, Sost: real;.Series1.Clear;.Series2.Clear;:=2;i:=1 to n+du do y[i]:= 0;i:=n+du+1 to 57 do y[i]:=exp1[i-2];i:=58 to NN do y[i]:=5.23;i:=1 to n-1 do u[i]:=0;i:=n to NN do u[i]:=2.85;:= 0; k12:= 0; k13:= 0; p1:= 0;:= 0; k22:= 0; k23:= 0; p2:= 0;:= 0; k32:= 0; k33:= 0; p3:= 0;i:=(n+du+1) to NN do:= k11+y[i-1]*y[i-1];:= k12+y[i-1]*y[i-2];:= k13+u[i-1-du]*y[i-1];:= p1+y[i]*y[i-1];:= k22+sqr(y[i-2]);:= k23+y[i-2]*u[i-1-du];:= k33+sqr(u[i-1-du]);:= p2+y[i]*y[i-2];:= p3+y[i]*u[i-1-du];;:= k12; k31:= k13; k32:= k23;:=(p1*k22*k33-p1*k23*k32-p2*k12*k33+p2*k13*k32+p3*k12*k23-p3*k13*k22)/

(k11*k22*k33-k11*k23*k32-k21*k12*k33+k21*k13*k32+k31*k12*k23-k31*k13*k22);:=(k11*p2*k33-k11*k23*p3-k21*p1*k33+k21*k13*p3+k31*p1*k23-k31*k13*p2)/

(k11*k22*k33-k11*k23*k32-k21*k12*k33+k21*k13*k32+k31*k12*k23-k31*k13*k22);:=(k11*k22*p3-k11*p2*k32-k21*k12*p3+k21*p1*k32+k31*k12*p2-k31*p1*k22)/

(k11*k22*k33-k11*k23*k32-k21*k12*k33+k21*k13*k32+k31*k12*k23-k31*k13*k22);i:= 1 to n+du do begin[i]:= 0;.Series1.AddXY(i,y[i],'',clred);.Series2.AddXY(i,Res[i],'',clgreen);;i:= n+du+1 to NN do begin[i]:= au12*Res[i-1]+au22*Res[i-2]+bu2*u[i-1-du];.Series1.AddXY(i,y[i],'',clred);.Series2.AddXY(i,Res[i],'',clgreen);;:=0;i:=n+du to NN do ySr:=ySr+Res[i];:= ySr/(NN-1);:= 0; Sost:= 0;i:=n+du to NN do:=Sy+sqr(Res[i]-ySr);:=Sost+sqr(y[i]-Res[i]);;:= Sy/(NN-1); Sost:= Sost/(NN-4);:= Sy/Sost;Fu1<Fu2 then begin au1:=au12;au2:=au22;bu:=bu2;nu:=2;endbegin au1:=au11;au2:=0;bu:=bu1;nu:=1;end;.Label4.Caption:='a1='+FloatToStrf(au12,ffgeneral,9,2);.Label5.Caption:='a2='+FloatToStrf(au22,ffgeneral,9,2);.Label6.Caption:='b='+FloatToStrf(bu2,ffgeneral,9,2);.Label7.Caption:='F='+FloatToStrf(Fu2,ffgeneral,9,2);;TForm1.RadioButton3Click(Sender: TObject);n, i: integer;,Res,u:mas;, k12, p1, k21, k22,p2,, Sy, Sost: real;.Series1.Clear;.Series2.Clear;:=1;i:=1 to n+dv do y[i]:= 0;i:=n+dv+1 to 45 do y[i]:=exp2[i-1];i:=46 to NN do y[i]:=1.025;i:=1 to n-1 do u[i]:=0;i:=n to NN do u[i]:=-2;:= 0; k12:= 0; p1:= 0;:= 0; k22:= 0; p2:= 0;i:=(n+dv+1) to NN do:= k11+y[i-1]*y[i-1];:= k12+u[i-1-dv]*y[i-1];:= p1+y[i]*y[i-1];:= k22+sqr(u[i-1-dv]);:= k21+y[i-1]*u[i-1-dv];:= p2+y[i]*u[i-1-dv];;:=(p1*k22-p2*k12)/(k11*k22-k21*k12);:= (k11*p2-p1*k21)/(k11*k22-k21*k12);i:= 1 to n+dv do begin[i]:= 0;.Series1.AddXY(i,y[i],'',clred);.Series2.AddXY(i,Res[i],'',clgreen);;i:= n+dv+1 to NN do begin[i]:= av11*Res[i-1]+bv1*u[i-1-dv];.Series1.AddXY(i,y[i],'',clred);.Series2.AddXY(i,Res[i],'',clgreen);;:= 0;i:=n+dv to NN do ySr:=ySr+Res[i];:= ySr/(NN-1);:= 0; Sost:= 0;i:=n+dv to NN do:=Sy+sqr(Res[i]-ySr);:=Sost+sqr(y[i]-Res[i]);;:= Sy/(NN-1); Sost:= Sost/(NN-3);:= Sy/Sost;.Label4.Caption:='a1='+FloatToStrf(av11,ffgeneral,9,2);.Label5.Caption:='a2=0';.Label6.Caption:='b='+FloatToStrf(bv1,ffgeneral,9,2);.Label7.Caption:='F='+FloatToStrf(Fv1,ffgeneral,9,2);;TForm1.RadioButton4Click(Sender: TObject);n, i: integer;,Res,u:mas;, k12,k13,p1,k21,k22,k23,p2,k31,k32,k33,p3,, Sy, Sost: real;.Series1.Clear;.Series2.Clear;:=2;i:=1 to n+dv do y[i]:= 0;i:=n+dv+1 to 45 do y[i]:=exp2[i-2];i:=46 to NN do y[i]:=1.025;i:=1 to n-1 do u[i]:=0;i:=n to NN do u[i]:=-2;:= 0; k12:= 0; k13:= 0; p1:= 0;:= 0; k22:= 0; k23:= 0; p2:= 0;:= 0; k32:= 0; k33:= 0; p3:= 0;i:=(n+dv+1) to NN do:= k11+y[i-1]*y[i-1];:= k12+y[i-1]*y[i-2];:= k13+u[i-1-dv]*y[i-1];:= p1+y[i]*y[i-1];:= k22+sqr(y[i-2]);:= k23+y[i-2]*u[i-1-dv];:= k33+sqr(u[i-1-dv]);:= p2+y[i]*y[i-2];:= p3+y[i]*u[i-1-dv];;:= k12; k31:= k13; k32:= k23;:=(p1*k22*k33-p1*k23*k32-p2*k12*k33+p2*k13*k32+p3*k12*k23-p3*k13*k22)/

(k11*k22*k33-k11*k23*k32-k21*k12*k33+k21*k13*k32+k31*k12*k23-k31*k13*k22);:=(k11*p2*k33-k11*k23*p3-k21*p1*k33+k21*k13*p3+k31*p1*k23-k31*k13*p2)/

(k11*k22*k33-k11*k23*k32-k21*k12*k33+k21*k13*k32+k31*k12*k23-k31*k13*k22);:=(k11*k22*p3-k11*p2*k32-k21*k12*p3+k21*p1*k32+k31*k12*p2-k31*p1*k22)/

(k11*k22*k33-k11*k23*k32-k21*k12*k33+k21*k13*k32+k31*k12*k23-k31*k13*k22);i:= 1 to n+dv do begin[i]:= 0;.Series1.AddXY(i,y[i],'',clred);.Series2.AddXY(i,Res[i],'',clgreen);;i:= n+dv+1 to NN do begin[i]:= av12*Res[i-1]+av22*Res[i-2]+bv2*u[i-1-dv];.Series1.AddXY(i,y[i],'',clred);.Series2.AddXY(i,Res[i],'',clgreen);;:=0;i:=n+dv to NN do ySr:=ySr+Res[i];:= ySr/(NN-1);:= 0; Sost:= 0;i:=n+dv to NN do:=Sy+sqr(Res[i]-ySr);:=Sost+sqr(y[i]-Res[i]);;:= Sy/(NN-1); Sost:= Sost/(NN-4);:= Sy/Sost;Fv1<Fv2 then begin av1:=av12;av2:=av22;bv:=bv2;nv:=2;endbegin av1:=av11;av2:=0;bv:=bv1;nv:=1;end;.Label4.Caption:='a1='+FloatToStrf(av12,ffgeneral,9,2);.Label5.Caption:='a2='+FloatToStrf(av22,ffgeneral,9,2);.Label6.Caption:='b='+FloatToStrf(bv2,ffgeneral,9,2);.Label7.Caption:='F='+FloatToStrf(Fv2,ffgeneral,9,2);;TForm1.RadioButton6Click(Sender: TObject);eps = 0.001;i,Npp,m,i0,j: integer;,u,yz,dUq0,dUq1,dyq0,dyq1: Array[1..1000] of Extended;,q:array[0..1] of real;,dSq0,dSq1,dSq0S,dSq1S: Extended;,pm,fi,dl:real;.Series3.Clear;:= 0.01;:=2;[0]:=0.2; q[1]:=-0.3;i:= 1 to nu+du do y[i]:= 0;i:= 1 to nu-1 do u[i]:= 0;i:= nu to 1000 do u[i]:= 1;[nu+du+1]:= au1*y[nu+du]+au2*y[nu+du-1]+ bu*u[nu];:=nu+du+1;abs(y[Npp]-y[Npp-1])>0.001 do:=Npp+1;[Npp]:=au1*y[Npp-1]+au2*y[Npp-2]+bu*u[Npp-1-du];;:=Npp+100;nu>m+1 then i0:=nu else i0:=m+1;i:= 1 to i0-1 do[i]:=0; u[i]:= 0;[i]:=0; dUq1[i]:=0;;i:= 1 to i0+du do[i]:=0;[i]:=0; dyq1[i]:=0;;i:=i0 to Npp do yz[i]:=1;:= 1;[0]:= 0; H[1]:= 0;true doi:= i0+du+1 to Npp do[i-du-1]:= q[0]*(yz[i-du-1]-y[i-du-1])+q[1]*(yz[i-1-du-1]-y[i-1-du-1]);[i]:= au1*y[i-1]+au2*y[i-2]+bu*u[i-1-du];;i:=i0 to i0+du do begin[i]:=yz[i]-y[i]-q[0]*dyq0[i]-q[1]*dyq0[i-1];[i]:=-q[0]*dyq1[i]+yz[i-1]-y[i-1]-q[1]*dyq1[i-1];;i:=i0+du+1 to Npp do begin[i]:=au1*dyq0[i-1]+au2*dyq0[i-2]+bu*dUq0[i-1-du];[i]:=au1*dyq1[i-1]+au2*dyq1[i-2]+bu*dUq1[i-1-du];[i]:=yz[i]-y[i]-q[0]*dyq0[i]-q[1]*dyq0[i-1];[i]:=-q[0]*dyq1[i]+yz[i-1]-y[i-1]-q[1]*dyq1[i-1];;:=0;dSq1:=0;i:=i0 to Npp do begin:=dSq0+(yz[i]-y[i])*(-dyq0[i]);:=dSq1+(yz[i]-y[i])*(-dyq1[i]);;:=dSq0*2;dSq1:=dSq1*2;:=sqrt(sqr(dSq0)+sqr(dSq1));norma<eps then break;j=1 then begin[0]:= 1/(m+1);[1]:= 1/(m+1); endbegindSq0*dSq0S>0 then H[0]:=2*H[0] else H[0]:= H[0]/3;dSq1*dSq1S>0 then H[1]:=2*H[1] else H[1]:= H[1]/3; end;:=j+1;S:=dSq0; dSq1S:=dSq1;[0]:= q[0]-H[0]*dSq0/norma;[1]:= q[1]-H[1]*dSq1/norma;;pd:=q[0];pd:=q[1];:=0;i:=i0 to Npp do:=Spi+sqr(yz[i]-y[i]);:=Npp;abs((yz[i]-y[i])/yz[i])<0.05 do i:=i-1;:=i+1;:=i0;y[i]>=y[i-1] do i:=i+1;:=y[i-1]-yz[i-1];y[i]<=y[i-1] do i:=i+1;y[i]>=y[i-1] do i:=i+1;:=(pm+1-y[i-1])/(pm+1)*100;:=yz[Npp]-y[Npp];.Label16.Caption:=FloatToStrf(tr,ffgeneral,9,2);.Label17.Caption:=FloatToStrf(pm,ffgeneral,9,2);.Label18.Caption:=FloatToStrf(fi,ffgeneral,9,2);.Label19.Caption:=FloatToStrf(dl,ffgeneral,9,2);i:=1 to Npp do.Series3.AddXY(i,y[i],'',clred);;.Label8.Caption:='q0='+FloatToStrf(q0pd,ffgeneral,9,2);.Label9.Caption:='q1='+FloatToStrf(q1pd,ffgeneral,9,2);.Label15.Caption:=FloatToStrf(Spd,ffgeneral,9,2);;TForm1.RadioButton5Click(Sender: TObject);eps = 0.001;i,Npp,m,i0,j: integer;,u,yz,dUq0,dUq1,dyq0,dyq1: Array[1..1000] of Extended;,q:array[0..1] of real;,dSq0,dSq1,dSq0S,dSq1S: Extended;,pm,fi,dl:real;.Series3.Clear;:= 0.01;:=2;[0]:=0.2; q[1]:=-0.3;i:= 1 to nu+du do y[i]:= 0;i:= 1 to nu-1 do u[i]:= 0;i:= nu to 1000 do u[i]:= 1;[nu+du+1]:= au1*y[nu+du]+au2*y[nu+du-1]+ bu*u[nu];:=nu+du+1;abs(y[Npp]-y[Npp-1])>0.001 do:=Npp+1;[Npp]:=au1*y[Npp-1]+au2*y[Npp-2]+bu*u[Npp-1-du];;:=Npp*2;nu>m+1 then i0:=nu else i0:=m+1;i:= 1 to i0-1 do[i]:=0; u[i]:= 0;[i]:=0; dUq1[i]:=0;;i:= 1 to i0+du do[i]:=0;[i]:=0; dyq1[i]:=0;;i:=i0 to Npp do yz[i]:=1;:= 1;[0]:= 0; H[1]:= 0;true doi:= i0+du+1 to Npp do[i-du-1]:= u[i-1-du-1]+q[0]*(yz[i-du-1]-y[i-du-1])+q[1]*(yz[i-1-du-1]-y[i-1-du-1]);[i]:= au1*y[i-1]+au2*y[i-2]+bu*u[i-1-du];;i:=i0 to i0+du do begin[i]:=dUq0[i-1]+yz[i]-y[i]-q[0]*dyq0[i]-q[1]*dyq0[i-1];[i]:=dUq1[i-1]-q[0]*dyq1[i]+yz[i-1]-y[i-1]-q[1]*dyq1[i-1];;i:=i0+du+1 to Npp do begin[i]:=au1*dyq0[i-1]+au2*dyq0[i-2]+bu*dUq0[i-1-du];[i]:=au1*dyq1[i-1]+au2*dyq1[i-2]+bu*dUq1[i-1-du];[i]:=dUq0[i-1]+yz[i]-y[i]-q[0]*dyq0[i]-q[1]*dyq0[i-1];[i]:=dUq1[i-1]-q[0]*dyq1[i]+yz[i-1]-y[i-1]-q[1]*dyq1[i-1];;:=0;dSq1:=0;i:=i0 to Npp do begin:=dSq0+(yz[i]-y[i])*(-dyq0[i]);:=dSq1+(yz[i]-y[i])*(-dyq1[i]);;:=dSq0*2;dSq1:=dSq1*2;:=sqrt(sqr(dSq0)+sqr(dSq1));norma<eps then break;j=1 then begin[0]:= 1/(m+1);[1]:= 1/(m+1); endbegindSq0*dSq0S>0 then H[0]:=2*H[0] else H[0]:= H[0]/3;dSq1*dSq1S>0 then H[1]:=2*H[1] else H[1]:= H[1]/3; end;:=j+1;S:=dSq0; dSq1S:=dSq1;[0]:= q[0]-H[0]*dSq0/norma;[1]:= q[1]-H[1]*dSq1/norma;;pi:=q[0];pi:=q[1];:=0;i:=i0 to Npp do:=Spi+sqr(yz[i]-y[i]);:=Npp;abs((yz[i]-y[i])/yz[i])<0.05 do i:=i-1;:=i+1;:=i0;y[i]>=y[i-1] do i:=i+1;:=y[i-1]-yz[i-1];y[i]<=y[i-1] do i:=i+1;y[i]>=y[i-1] do i:=i+1;:=(pm+1-y[i-1])/(pm+1)*100;:=yz[Npp]-y[Npp];.Label16.Caption:=FloatToStrf(tr,ffgeneral,9,2);.Label17.Caption:=FloatToStrf(pm,ffgeneral,9,2);.Label18.Caption:=FloatToStrf(fi,ffgeneral,9,2);.Label19.Caption:=FloatToStrf(dl,ffgeneral,9,2);i:=1 to Npp do.Series3.AddXY(i,y[i],'',clred);;.Label8.Caption:='q0='+FloatToStrf(q0pi,ffgeneral,9,2);.Label9.Caption:='q1='+FloatToStrf(q1pi,ffgeneral,9,2);.Label15.Caption:=FloatToStrf(Spi,ffgeneral,9,2);;TForm1.Button1Click(Sender: TObject);.Label26.Caption:='Ui = k1*U(i-1) + k2*U(i-2) + k3*f(i-dx+d) + k4*f(i-1-dx+d) + k5*f(i-2-dx+d)';.Label21.Caption:='k1 = '+FloatToStrf(k1,ffgeneral,7,2);.Label22.Caption:='k2 = '+FloatToStrf(k2,ffgeneral,7,2);.Label23.Caption:='k3 = '+FloatToStrf(k3,ffgeneral,7,2);.Label24.Caption:='k4 = '+FloatToStrf(k4,ffgeneral,7,2);.Label25.Caption:='k5 = '+FloatToStrf(k5,ffgeneral,7,2);;TForm1.FormCreate(Sender: TObject);;:=0;bu1:=0;:=0;au22:=0;bu2:=0;:=0;bv1:=0;:=0;av22:=0;bv2:=0;:=0;Fu2:=0;:=1.849951;:=-0.8542294;:=0.007966254;:=1.747375;:=-0.7589386;:=-0.005997361;:=av1;:=av2;:=-bv/bu;:=au1*bv/bu;:=au2*bv/bu;:=1.66118007;:=-1.63456743;:=2;nv:=2;:=dv-du;:=2;.DatabaseName:=ExpandFileName('');.Active:=true;:=1;.DataSet.Edit;.DataSet.ClearFields;;TForm1.Timer2Timer(Sender: TObject);.Caption:= TimeToStr(Time);;TForm1.Button4Click(Sender: TObject);

begin.Caption:='Начался процесс подачи воды';.Caption:='Начался процесс подачи дрожжей';

timer4.Enabled:=true;.Enabled:=true;:=0;;TForm1.Timer1Timer(Sender: TObject);Fdrogy,Tvody,Pvody,Fvody:real;.Last;:=1+random(100)/50;:=25+random(100)/50;:=65+random(100)/50;:=32+random(100)/50;.Insert;Time.AsDateTime:=Time;Fdrogy.AsFloat:=Fdrogy;Tvody.AsFloat:=Tvody;Pvody.AsFloat:=Pvody;Fvody.AsFloat:=Fvody;.Post;.BottomAxis.Maximum:=Table1.RecordCount-1;.BottomAxis.Minimum:=Table1.RecordCount-1-200;.BottomAxis.Maximum:=Table1.RecordCount-1;.BottomAxis.Minimum:=Table1.RecordCount-1-200;.AddXY(Table1.RecordCount-1, Table1.Fields[3].AsFloat, '', clDefault);.AddXY(Table1.RecordCount-1, Table1.Fields[4].AsFloat, '', clDefault);;TForm1.Timer4Timer(Sender: TObject);i:integer;(mc);shape2.Brush.Color=clgreen then shape2.Brush.Color:=clwhiteshape2.Brush.Color:=clgreen;shape1.Brush.Color=clgreen then shape1.Brush.Color:=clwhiteshape1.Brush.Color:=clgreen ;shape3.Brush.Color=clgreen then shape3.Brush.Color:=clwhiteshape3.Brush.Color:=clgreen;mc>=40 then begin.Caption:='Процесс подачи воды завершен';.Caption:='Процесс подачи дрожжей завершен';.Enabled:=false;.Enabled:=false;

timer5.Enabled:=true;.Caption:='Начался процесс подачи закваски в тестомесильную машину';

end;;TForm1.Timer5Timer(Sender: TObject);(mc);shape4.Brush.Color=clgreen then shape4.Brush.Color:=clwhiteshape4.Brush.Color:=clgreen;shape5.Brush.Color=clgreen then shape5.Brush.Color:=clwhiteshape5.Brush.Color:=clgreen ;mc>=20 then begin.Caption:='Процесс подачи закваски завершен';.Enabled:=false;.Enabled:=true;:=0;;;TForm1.Timer6Timer(Sender: TObject);(mc);shape6.Brush.Color=clgreen then shape6.Brush.Color:=clwhiteshape6.Brush.Color:=clgreen;

if mc>=20 then begin.Caption:='Начался процесс подачи закваски далее на линию';

timer6.Enabled:=false;:=0;

end;

en.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!