Автоматизированная система управления складом. Блок автоматизацииРефераты >> Программирование и компьютеры >> Автоматизированная система управления складом. Блок автоматизации
Блок интерфейса пользователя содержит в себе диалог (главное Windows окно программы) пользователя с программой, а также диалоги о корректировки издания (предполагается полное изменение того или иного издания) и информации о программе. Опишем передачу одной команды пошагово.
1. После ввода пользователем отправки информации о необходимом издании начинает работу блок дешифрации. В нем формируется команда (в нашем случае это строка, типа описанного ранее в пункте 3) и передается в блок работы с параллельным портом.
2. Этот блок передает всю команду по одному элементу на шину порта RS232, далее он ждет подтверждения. Если подтверждения не было в течении определенной задержки, то команда будет передана еще дважды. В том случае, что подтверждение не пришло ни разу высвечивается сообщение о неисправности данного микроконтроллера. Если же подтверждение пришло, то информация считывается с шины аналогично пересылке, формируясь в строку. Далее снова начинается работа блока дешифрации команд.
3. На данном этапе команда разбирается на ее составляющие и проверяется на корректность.
4. При правильности полученной команды, соответствующее сообщение отображается на главном окне программы (отображение работы ПК и сети).
5.2. Структуры данных.
Все глобальные переменные описаны в модуле Unit1.
Список изданий и заказчиков представляет собой двумерный массив. Поток чтения и записи информации. А также интерфейс представлен типом Tform:
type
TForm1 = class(TForm)
Memo1: TMemo;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
exit: TButton;
clear: TButton;
o_prog: TButton;
go_izd: TButton;
pom_izd: TButton;
show_izd: TButton;
clear_izd: TButton;
clear_prot: TButton;
ComboBox1: TComboBox;
StringGrid1: TStringGrid;
procedure clear_izdClick(Sender: TObject);
procedure clearClick(Sender: TObject);
procedure exitClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure pom_izdClick(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure show_izdClick(Sender: TObject);
procedure clear_protClick(Sender: TObject);
procedure go_izdClick(Sender: TObject);
procedure o_progClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;{Form1}
Во втором модуле описан диалог об изменении издания, тип данных имеет вид:
type
TForm2 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
ok: TButton;
cancel: TButton;
procedure cancelClick(Sender: TObject);
procedure okClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
В четвертом модуле описан диалог , предоставляющий информацию о программе:
type
TForm4 = class(TForm)
Memo1: TMemo;
Panel1: TPanel;
exit: TButton;
procedure exitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
5.3.Описание модулей.
Модуль Unit1.
В нем содержатся функции реализующие работу с интерфейсом, а также инициализации потока ввода/вывода данных.
\
procedure show_izdClick(Sender: TObject);- высвечивает информацию об указанном издании;
procedure clear_izdClick(Sender: TObject); - противоположная первой;
procedure pom_izdClick(Sender: TObject); - дает возможность изменить информацию об издании;
procedure clearClick(Sender: TObject); - очищает поле ввода;
procedure clear_protClick(Sender: TObject);- очищает окно наблюдения за ходом выполнения;
procedure ComboBox1Change(Sender: TObject);- производит манипуляции с кнопками;
procedure FormCreate(Sender: TObject); - создает интерфейс;
procedure exitClick(Sender: TObject); - реализует выход из программы;
procedure o_progClick(Sender: TObject);- вызывает диалог описания работы программы;
procedure o_progClick(Sender: TObject); - реализует пересылку информации от ПК к микроконтроллерам.
Также в этом модуле имеется несколько вспомогательных функций:
procedure Katalog_Init; - инициализирует массив изданий (в нашем случае заполняется произвольно);
procedure NastroikaHandle;- настраивает порт на дальнейшую работу.
Модуль Unit2, этот модуль реализует диалог коррекции издания, поэтому имеет лишь 2 функциональных возможности:
procedure cancelClick(Sender: TObject); - отклонить изменения;
procedure okClick(Sender: TObject);- принять изменения.
Модуль Unit3. Реализует пересылку команды и ее считывание.
procedure Write_Comm( nom,kol:integer);- создает команду и отсылает ее.;
function Read_Comm(var stroka:string; nom,kol:integer):boolean;- возвращает информацию об удачной пересылке данных, и коррекции полученной от микроконтроллера информации;
procedure WriteString(result:string);- побайтно передает команду;
procedure ReadString(var result:string);- побайтно принимает команду.
Модуль Unit4. Реализует диалог с информацией о работе программы.
Имеет всего одну процедуру:
procedure exitClick(Sender: TObject);- реализует закрытие диалога.
6. Тестирование.
Для проверки правильного написания и функционирования программного обеспечения ЭВМ воспользуемся терминалом. Подключим два ПК, через COM-порты, друг с другом, с помощью шины RS-232. На одном из ПК запустим полученную в ходе работы программу, на втором откроем окно терминала. Посылая информацию с первого ПК на второй, будет виден ход работы в терминальном окне. Прием информации программой тестируется аналогично.
Чтобы проверить правильность работы всех поставленных задач соединили ПК с микроконтроллером и параллельно присоединили к ним терминал. Так будет отчетливо виден ход выполнения поставленных задач.
В ходе тестирования все ошибки будут исправлены. Таким образом можно добиться более точного и стабильного функционирования, полученного программно обеспечения.
7. Заключение, вывод.
В результате проделанной работы было создано программное обеспечение, которое решало поставленную задачу. Оно было установлено в сеть микроконтроллеров и отлажено. Были испробованы различные варианты работы и пересылки данных, посредством контроля потоком информации.
Работу можно считать завершенной, дальнейших изысканий по ней проводиться не будет.
8. Список используемой литературы.
1. Delphi7 Наиболее полное руководство, в подлиннике/Под общей редакцией А. Д. Хомоненко, СПб: БХВ – Петербург: 2003 – 1216с.
2. Руководство по микроконтроллерам в 2-х томах/М. Предко: Постмаркет: 2001 - 904с.
3. Описание микроконтроллера/ с сайта http://atmel.com.
4. Описание дисплея/ с сайта http://holtek.com.