Беспроводная передача данных

Автор работы: Пользователь скрыл имя, 17 Мая 2012 в 18:08, дипломная работа

Краткое описание

Объектом исследования - является ЛВС, основанная на технологии Ethernet и ультразвуковой акустический тракт «ТРАК» фирмы “Votum”.
Цель работы - разработать программу на языке Delphi, для управления УЗ дефектоскопом с удаленного компьютера при помощи приложения «Клиент - Сервер».
В процессе работы проводились изучение работы ультразвукового акустического тракта «ТРАК».
В результате работы были расширены функциональные возможности УЗ дефектоскопа, в частности, разработано приложений типа «Клиент-Сервер», позволяющее удаленно управлять дефектоскопом и производить сбор данных через ЛВС

Содержание

Введение
Ультразвуковая дефектоскопия
1.1 Теневой метод ультразвуковой дефектоскопии
1.2 Эхо - импульсный метод ультразвуковой дефектоскопии
1.3 ''ТРАК'' Акустический модуль
Параллельный интерфейс: LPT-порт
2.1 Традиционный LPT-порт

Организации удаленного соединения.
3.1 Протоколы сети Интернет
3.2 Приложение Клиент-Сервер
Язык программирования - Delphi
4.1 Функциональные задачи при конструировании интерфейса
4.2 Компоненты среды программирования Delphi, использовынные для создания приложения «Клент-Сервер»
Заключение

Вложенные файлы: 1 файл

Перминов-диплом - исправления(Печать).doc

— 825.50 Кб (Скачать файл)

    4.2.2.1 Конфигурирование локальной сети: ip-адреса

     Если  в вашем распоряжении есть локальная  сеть, то удобно будет протестировать последующие программы в ней. В противном случае можно один и тот же компьютер использовать и в качестве сервера, и в качестве клиента. В этом случае адрес 127.0.0.1 (адрес локального хоста — localhost) всегда является адресом текущего компьютера. Если ваша сеть имеет сложную конфигурацию, попросите системного администратора установить необходимые IP-адреса, а если в сети всего пара связанных компьютеров, можно установить IP-адрес самостоятельно. Это четырехбайтное число, обычно представленное в виде четырех компонентов (называемых октетами), разделенных точками. Первый компонент (октет) определяет класс адреса, а само формирование таких адресов подчиняется достаточно сложной логике.

     Определенные IP-адреса зарезервированы для незарегистрированных внутренних сетей. Маршрутизаторы Интернета  игнорируют эти диапазоны адресов, так что можно проводить тестирование, не взаимодействуя с настоящей сетью. Например, «свободный» диапазон IP-адресов с 192.168.0.0 до 192.168.0.255 может использоваться для экспериментов с сетью менее чем из 255 компьютеров.

     4.2.2.2 Местные доменные имена

     Как найти соответствие между IP-адресом и доменным именем? В Интернете программа-клиент осуществляет поиск на сервере доменных имен (DNS). Но можно также использовать локальный файл HOSTS — текстовый файл, который можно легко отредактировать, чтобы получить удобные соответствия. В качестве примера можно посмотреть файл HOSTS.SAM, установленный в одном из подкаталогов каталога Windows (или в самом каталоге Windows, в зависимости установленной у вас версии системы). Вы можете переименовать его в HOSTS (без расширения), чтобы активизировать локальные соответствия.

     Что лучше использовать в программах — IP-адрес или имя хоста (доменное имя)? Имена хоста легче запомнить  и они не требуют изменений  при смене IP-адреса (по любой причине). С другой стороны, IP-адрес не требует  какого-либо взаимодействия с DNS, в то время как для имени хоста такая операция необходима (а она в Интернете отнимает много времени).

     4.2.2.3 Порты TCP

     Каждое TCP-соединение работает через порт, который представлен двухбайтным  числом. IP-адрес и порт TCP вместе определяют интернет-соединение, или сокет (socket). Различные процессы, выполняющиеся на одном компьютере, не могут использовать один и тот же сокет (порт).

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

     Таблица 6

Протокол  Порт 
HTTP (протокол передачи гипертекста) 80
FTP (протокол передачи файлов) 21
SMTP (простой протокол передачи почты)  25
POP3 (протокол POP, версия 3) 110
Telnet 23

 

     В файле SERVICES (еще одном текстовом  файле, аналогичном файлу HOSTS) перечислены  стандартные порты, используемые службами. Вы можете сами дополнять этот список, задавая вашей службе любое имя. Сокеты клиента всегда указывают номер порта или имя службы сокета сервера, с которым требуется устанавливать соединение.

     4.2.2.4 Подключения через сокеты

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

     Для поддержки этой модели существуют три  типа сокетных соединений.

    • Клиентское соединение инициируется клиентом и связывает локальный сокет клиента с удаленным сокетом сервера. Сокеты клиента должны описать сервер, с которым требуется установить соединение, указав его имя хоста (или его IP-адрес) и порт.
    • Слушающие соединения (listening connections) — пассивные серверные сокеты, ожидающие запросов клиента. Как только клиент делает новый запрос, сервер активизирует новый сокет, выделенный для этого конкретного соединения, и затем возвращается к слушанию. Слушающие серверные сокеты должны указать порт, предоставляющий реализуемую ими службу. (Клиент соединится через этот порт.)
    • Серверные соединения — это соединения, активизируемые серверами; они принимают запрос от клиента.

     Разница в типах подключения имеет  значение только на этапе установки  связи между клиентом и сервером. В дальнейшем (после того, как  связь установлена) обе стороны могут обмениваться друг с другом данными и запросами в произвольном порядке.

     Компоненты TcpClient и TcpServer являются наследниками ClientSocket и ServerSocket, соответственно расширяя их функциональность возможностью работы с тем или иным протоколом по выбору: IP, TCP, UDP или другим сетевым протоколом, а также за счет ряда дополнительных свойств и методов, упрощающих создание приложений на основе этих компонентов.

     Внешний вид палитр  Servers и  Clients приведен на рисунках ниже. 

     

Рисунок 9 Палитра компонетов Servers

Рисунок 10  Палитра компонетов Clients 

Заключение 

       В данной выпускной квалификационной работе мной на основе исследуемых  материалов по теме локально вычислительных сетей и протоколов сетевого обмена проведено:

     - освоен язык программирования Delphi;

     -изучен  параллельный интерфейс (LPT порт в режиме EPP);

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

    -расширены  функциональные возможности УЗ  дефектоскопа «ТРАК» фирмы «Votum» ( разработано приложение типа «Клиент-Сервер»). 

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

Список  использованных источников 

     1 Рабинер Л., Голуд Б. Теория и применение цифровой обработки сигналов: Пер. с англ. Под ред. Ю. Н. Александрова. - М.: Мир, 1978.

     2 Голямина И.П. Ультразвук. - М.: Советская энциклопедия, 1979.

     3 Колесников, Алексей Евгеньевич. Ультразвуковые измерения / А. Е. Колесников. - 2-е изд., доп. и перераб. - М. : Изд-во стандартов, 1982.

     4 Крауткремер, Йозеф. Ультразвуковой контроль материалов : Справочник; пер. с нем. / Й. Крауткремер, Г. Крауткремер. - М. : Металлургия, 1991. - 610-750 с.

     5 Алешин, Николай Павлович. Ультразвуковая дефектоскопия : Справочное пособие / Н. П. Алешин, В. Г. Лупачев. - Минск : Вышэйшая школа, 1987. - 271 с. : ил. - Библиогр.: с. 262-263.

     6 Дантеманн, Джефф. Программирование в среде Delphi : пер. с англ. / Дж. Дантеманн, Дж. Мишел, Д. Тейлор. - Киев : ДиаСофт Лтд, 1995. - 608 с.

     7 Культин, Никита. Программирование в Turbo Pascal 7.0 и Delphi : Cамоучитель / Н. Б. Культин. - 2-е изд. - СПб. : BHV, 2000. - 416 с. + Прил.: дискета. - Библиогр.: с. 401. - Предм. указ.: с. 402-404.

     8 Сухарев, Михаил В. Основы Delphi. Профессиональный подход / М. В. Сухарев. - СПб. : Наука и техника, 2004. - 596 с.

     9 Вадутов, Олег Самигулович. Математические основы обработки сигналов : лабораторный практикум / О. С. Вадутов ; Томский политехнический университет. — Томск : Изд-во ТПУ, 2001. — 67 с.

     10 Кенту, Марко. Delphi7 для Профессиналов;. — Санкт-Петербург : Изд-во ПИТЕР, 2007. — 234-349 с. 
 

Приложение А

Программа Клиента 

    unit Unit1; 

    interface 

    uses

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

      Dialogs, ExtCtrls, StdCtrls, Sockets, TeEngine, TeeFunci, Series,

      TeeProcs, Chart; 

    type 

      TForm1 = class(TForm)

        Host: TEdit;

        Port: TEdit;

        Label1: TLabel;

        Label2: TLabel;

        TcpClient1: TTcpClient;

        TcpServer1: TTcpServer;

        Button1: TButton;

        Button2: TButton;

        Button3: TButton;

        Button4: TButton;

        Timer1: TTimer;

        Chart1: TChart;

        Series1: TLineSeries;

        TeeFunction1: TAddTeeFunction;

Продолжение программы Клиента  

       Port2: TEdit;

       Label3: TLabel;

        procedure FormCreate(Sender: TObject);

        procedure Button1Click(Sender: TObject);

        procedure Button2Click(Sender: TObject);

        procedure Button3Click(Sender: TObject);

        procedure Button4Click(Sender: TObject);

        procedure TcpServer1Accept(Sender: TObject;

          ClientSocket: TCustomIpClient);

        procedure FormClose(Sender: TObject; var Action: TCloseAction);

        procedure Timer1Timer(Sender: TObject); 

      private

        { Private declarations }

      public

        { Public declarations }

      end; 

    var

      Form1: TForm1;

      Data: array [0..255] of integer;

      Activated, Stopped: boolean;

      Command: integer; 

    implementation 

    {$R *.dfm} 

 Продолжение программы Клиента  

    Procedure Draw(Data: array of integer);

    var

      i: integer;

    begin

      Form1.Series1.Clear;

      for i:=0 to 255 do

        Form1.Series1.AddXY(i,Data[i]);

    end; 

    procedure TForm1.FormCreate(Sender: TObject);

    begin

      TcpClient1.RemoteHost := Host.Text;

      TcpClient1.RemotePort := Port.Text;

      TcpServer1.LocalPort := Port2.Text;

      TcpServer1.Active := True;

    end; 

    procedure TForm1.Button1Click(Sender: TObject);

    begin

      TcpClient1.RemoteHost := Host.Text;

      TcpClient1.RemotePort := Port.Text;

      TcpServer1.LocalPort := Port2.Text;

    end; 

    procedure TForm1.Button2Click(Sender: TObject);

    var

    a: byte;

    begin

Продолжение программы Клиента

     

    a:=1;

      if TcpClient1.Connect then

        begin

          TcpClient1.SendBuf(a, 1);

          TcpClient1.Disconnect;

        end

      else

        MessageDlg('Не  удалось связаться с сервером.', mtConfirmation, [mbOk], 0);

Информация о работе Беспроводная передача данных