Автоматизированное рабочее место оператора радиостанции
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ается кадр;кадра - номер кадра в цикле обмена;
Длина - количество информационных байт;
Информация*- последовательность информационных байт;
Контрольная сумма - контрольная сумма;
*- необязательные поля.
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