Создание программного модуля, позволяющего сохранить данные аварийного буфера на верхнем уровне и представить их в табличной и графической форме

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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

Заключение

В результате выполнения дипломного проекта был создан программный модуль визуализации данных аварийного буфера АСУТП, реализованный в среде объектного программирования DELPHI 3.0. Модуль обладает всем необходимым набором функций, позволяющим успешно решать возложенную на него задачу при работе в составе программного обеспечения АСУТП.

Для обеспечения нормальной работы всего пакета программ верхнего уровня требуется персональный компьютер с достаточно высоким быстродействием, класса не ниже Pentium. Но для выполнения только задачи визуализации и анализа базы данных достаточно ПК с процессором серии I486, что позволит более оптимально использовать имеющийся парк ПК, при этом немаловажно и то, что модуль визуализации можно использовать отдельно от пакета программного обеспечения АСУТП.

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

Приложение

main;, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,, Db, DBTables, Grids, DBGrids, ExtCtrls, TeEngine, Series,, Chart, DBChart, TeeFunci;= class(TForm)_graf: TButton;_tab: TButton;: TButton;: TGroupBox;: TGroupBox;_tab1: TLabel;_number: TLabel;_channel: TLabel;_channel: TLabel;_rec: TButton;_of_channel: TComboBox;: TDBChart;: TLineSeries;: TGroupBox;_graf: TButton;: TCheckBox;: TLabel;: TLabel;: TCheckBox;_table: TTable;: TTable;: TDataSource;Index: TAutoIncField;Date_Time: TDateTimeField;Numberofchannel: TSmallintField;: TDBGrid;: TDataSource;: TTable;: TDBGrid;Time: TStringField;U1: TIntegerField;N1: TIntegerField;U2: TIntegerField;N2: TIntegerField;U3: TIntegerField;N3: TIntegerField;Ms: TIntegerField;: TAverageTeeFunction;: TLineSeries;Visible_grafClick(Sender: TObject);FormActivate(Sender: TObject);FormResize(Sender: TObject);EnableColumn;DisableColumn;Number_of_channelChange(Sender: TObject);Del_recClick(Sender: TObject);new_channel;Visible_tabClick(Sender: TObject);

//procedure CloseClick(Sender: TObject);

{ Private declarations }

{ Public declarations };: TMform;,j: boolean; //flag of size: string; //number of visible columnstest1, graf;

{$R *.DFM}TMform.CloseClick(Sender: TObject);;;TMform.Visible_grafClick(Sender: TObject);Mform.height=255 then Mform.height:=525Mform.height:=255;;TMform.FormActivate(Sender: TObject);:=2; //trable channel.height:=255;.width:=488;:=true;:=true;_tableU1.visible:=false;_tableN1.visible:=false;_tableU2.visible:=false;_tableN2.visible:=false;_tableU3.visible:=false;_tableN3.visible:=false;

...

..._tableU80.visible:=false;_tableN80visible:=false;:=inttostr(64);;TMform.FormResize(Sender: TObject);i=true then:=false:=succ(i);;TMform.DisableColumn;strtoint(col) of

:_tableU1.visible:=false;_tableN1.visible:=false;;

:_tableU2.visible:=false;_tableN2.visible:=false;;

:_tableU3.visible:=false;_tableN3.visible:=false;

...

...

...

:_tableU80.visible:=false;_tableN80.visible:=false;;;;;TMform.EnableColumn;strtoint(Number_of_channel.text) of

:_tableU1.visible:=true;_tableN1.visible:=true;;

:_tableU2.visible:=true;_tableN2.visible:=true;;

:_tableU3.visible:=true;_tableN3.visible:=true;;

...

...

...

:_tableU80.visible:=true;_tableN80.visible:=true;;;;TMform.Number_of_channelChange(Sender: TObject);;;:=Number_of_channel.text;_channel;;TMform.Del_recClick(Sender: TObject);_table.Delete;;TMform.new_channel;: integer;: tlocateoptions;

//u: tfield;:=0;:=Number_of_channel.text;_table.first;_table.first;(d,Mast_table.fieldbyname(Index).AsInteger);_table.Locate(Index,d,s);d:=1 to 10 do_table.edit;_table.Fields[0]:=Detail_table.Fields[2];_table.Fields[1]:=Detail_table.Fields[2*(strtoint(col))+2];_table.post;_table.next;_table.next;;;TMform.Visible_tabClick(Sender: TObject);Mform.width=488 then Mform.width:=736Mform.width:=488;;TMform.FormActivate(Sender: TObject);:=2; //trable channel.height:=255;.width:=488;:=true;:=true;_tableU1.visible:=false;_tableN1.visible:=false;_tableU2.visible:=false;_tableN2.visible:=false;_tableU3.visible:=false;_tableN3.visible:=false;

...

..._tableU80.visible:=false;_tableN80visible:=false;:=inttostr(64);;TMform.FormResize(Sender: TObject);i=true then:=false:=succ(i);;TMform.DisableColumn;strtoint(col) of

:_tableU1.visible:=false;_tableN1.visible:=false;;

:_tableU2.visible:=false;_tableN2.visible:=false;;

:_tableU3.visible:=false;_tableN3.visible:=false;

...

...

...

:_tableU80.visible:=false;_tableN80.visible:=false;;

end.