Автоматизированное рабочее место оператора радиостанции

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

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

ается кадр;кадра - номер кадра в цикле обмена;

Длина - количество информационных байт;

Информация*- последовательность информационных байт;

Контрольная сумма - контрольная сумма;

*- необязательные поля.

 

2.5.3Используемые подпрограммы

enumCommand - содержит список всех команд;

 

2.5.4Описание логики

Логика алгоритма представлена схематически в виде блок-схемы, представленной на рис. 2.5.

 

Алгоритм формирования команды

Рис. 2.5

 

2.6Описание контрольного примера

 

2.6.1Назначение

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

 

2.6.2Исходные данные

Для проверки системы просматриваются все её функции и возможные ситуации.

 

2.6.3Результаты испытания программы

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

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

 

 

ЗАКЛЮЧЕНИЕ

система алгоритм команда программа

В ходе выполнения выпускной квалификационной работы была разработана система автоматизации рабочего места оператора радиостанции. Система предназначена для работы с подключением радиостанции через интерфейс RS-232.

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

Разработанная система удовлетворяет всем требованиям, поставленным на стадии разработки.

 

СПИСОК ЛИТЕРАТУРЫ

 

1.Герберт Шилдт. С# Полное руководство. М.: изд-во Издательский дом Вильямс, 2010г. - 992с.

2.">Интернет-ресурс. Последовательный интерфейс RS-232:

.">Интернет-ресурс. Работа с RS-232 портом в C#:

.Сенилов М. А., Архипов И. О., Соболева В.П. Методические указания по выполнению выпускной работы бакалавра. Направление 230100.62 Информатика и вычислительная техника для студентов кафедры Программное обеспечение - Ижевск: Издательство ИжГТУ, 2010г. - 20с.

.Соболева В.П. Методические указания по оформлению курсовых и дипломных работ. - Ижевск: Изд-во ИжГТУ, 2008.- 25с.

.ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.

7.ГОСТ 19.505-79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению.

8.ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению.

.ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

 

ПРИЛОЖЕНИЕ 1

 

Тексты ОСНОВНЫХ АЛГАРИТМОВ

П1.1. Текст программы CRS232Port.cs:

using System;System.Collections.Generic;System.IO.Ports;System.Threading;NamotkaLibrary.Protocol;NamotkaLibrary.Protocol.Commands;NamotkaLibrary.Classes

{class CRS232Port : SerialPort

{

#region Delegatesdelegate void OnRecievedEventHandler(CCommand _command);delegate void GetFrameEventHandler(byte[] frame, bool isFrame, bool isCommand);

#endregionList _iamAccept;bool _killFrameToSend = false;

///

/// Очередь на прием кадров

///

//private List();

///

/// Очредь на посылку кадров

/// ();Thread _ThreadToSend;Thread _ThreadToRead;Thread _ThreadToCommand;byte _IndexFrame;bool isWaitForSend;

///

/// Класс конструктор для инициализации порта

///

///

/// Устройство, которому изначально отправляем кадры

/// Список устройств, которыми мы можем выступать, и на эти запросы должны откликаться

///

///

///

/// iamAccept, int baundRate, Parity parity,dataBits, StopBits stopBits)

: base(portName, baundRate, parity, dataBits, stopBits)

{

_iam = iam;

_iamAccept = iamAccept;.Info(string.Format("{0}: Инициализируем", portName));= 1;_timeout = 2560000 / baundRate; //примерно 23 мсек на посылку 256 байт при скорости в 115200 бит= (int) Math.Floor(_timeout);= (int) Math.Floor(_timeout);

//DataReceived += portDataReceived;+= portErrorReceived;+= portPinChanged;.Info(string.Format("{0}: Открываем", portName));.Info(ReadBufferSize.ToString());.Info(WriteBufferSize.ToString());

//DtrEnable = true;= false;= false;

///Инициализируем потоки на примем и итправку кадров();

//Сделано для того, чтобы поток на прием успел подгрузиться раньше отправки. (Для слабых машин)..Threading.Thread.Sleep(300);

_ThreadToSend = new Thread(ThreadToSend);

_ThreadToSend.Name = "Send " + _ThreadToSend.ManagedThreadId;

_ThreadToSend.Start();

_ThreadToRead = new Thread(ThreadToRead);

_ThreadToRead.Name = "Read " + _ThreadToSend.ManagedThreadId;

_ThreadToRead.Start();

}enumDevices Iam

{{ return _iam; }

}List IamAccept

{{ return _iamAccept; }

}byte IndexFrame

{{ return _IndexFrame; }

}event GetFrameEventHandler onGetFrame;event OnRecievedEventHandler onRecieved;virtual void OnReceived(CCommand _command)

{(onRecieved != null)(_command);

}void UpdateIndex()

{(_IndexFrame == 255)

_IndexFrame = 0;

_In