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

Цель создания системы и критерии эффективности ее функционирования. Состав типовых проектных решений и пакетов прикладных программ, применяемых в системе. Описание алгоритма вывода координат и отправки команды. Описание программы формирования команды.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 08.07.2012
Размер файла 2,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

_CommandList.Add(enumCommand.Version, typeof (cmdVersion));

_CommandList.Add(enumCommand.Testing, typeof (cmdTesting));

_CommandList.Add(enumCommand.Unknown, typeof (cmdUnknown));

_CommandList.Add(enumCommand.FileStart, typeof(cmdFileStart));

_CommandList.Add(enumCommand.FileHeader, typeof(cmdFileHeader));

_CommandList.Add(enumCommand.SessionResult, typeof(cmdSessionResult));

_CommandList.Add(enumCommand.StartSession, typeof(cmdStartSession));

_CommandList.Add(enumCommand.WriteFile, typeof(cmdWriteFile));

_CommandList.Add(enumCommand.WriteFileSend, typeof(cmdWriteFileSend));

_CommandList.Add(enumCommand.FormatFlash, typeof(cmdFormatFlash));

_CommandList.Add(enumCommand.ReadFile, typeof(cmdReadFile));

_CommandList.Add(enumCommand.ReadFileRecieve, typeof(cmdReadFileRecieve));

_CommandList.Add(enumCommand.TimeInstall, typeof(cmdTime));

_CommandList.Add(enumCommand.StartMode, typeof(cmdStartMode));

_CommandList.Add(enumCommand.ModeControl, typeof(cmdModeControl));

_CommandList.Add(enumCommand.DirectoryRequest, typeof(cmdDirectoryRequest));

_CommandList.Add(enumCommand.Control, typeof(cmdControl));

_CommandList.Add(enumCommand.Crash, typeof(cmdCrash));

_CommandList.Add(enumCommand.DataReceived, typeof(cmdDataReceived));

_CommandList.Add(enumCommand.TurnOff, typeof(cmdTurnOff));

_CommandList.Add(enumCommand.DKMChar, typeof(cmdDKMChar));

_CommandList.Add(enumCommand.MSK128Power, typeof(cmdMSK128Power));

_CommandList.Add(enumCommand.ModeInfo, typeof(cmdModeInfo));

_CommandList.Add(enumCommand.ReTune, typeof(cmdReTune));

_CommandList.Add(enumCommand.C1TCHR, typeof(cmdC1TCHR));

_CommandList.Add(enumCommand.GetCoord, typeof(cmdCoord));

_CommandList.Add(enumCommand.RecVoice, typeof(cmdRecVoice));

_CommandList.Add(enumCommand.RecLengthReq, typeof(cmdRecLengthReq));

_CommandList.Add(enumCommand.RecLength, typeof(cmdRecLength));

_CommandList.Add(enumCommand.CallRecieve, typeof(cmdCallRecieve));

_CommandList.Add(enumCommand.CallSend, typeof(cmdCallSend));

_CommandList.Add(enumCommand.TangetKey, typeof(cmdTangetKey));

_CommandList.Add(enumCommand.WriteProtocol, typeof(cmdWriteProtocol));

_CommandList.Add(enumCommand.PlayVoice, typeof(cmdPlayVoice));

_CommandList.Add(enumCommand.Telemet, typeof(cmdTelemet));

_CommandList.Add(enumCommand.Bluetooth, typeof(cmdBluetooth));

}

/// <summary>

/// Создает команду по ее номеру

/// </summary>

/// <param name="_indexCommand"></param>

/// <returns></returns>

public static CCommand GetCommand(enumCommand _indexCommand)

{

if (_CommandList.ContainsKey(_indexCommand))

{

Type t = _CommandList[_indexCommand];

return (CCommand) Activator.CreateInstance(t);

}

if (onErrorReceived != null)

onErrorReceived(null, string.Format("Команда с индексом {0} не найдена!", _indexCommand.ToString())); //ъотели заменить на следующую строку

//OnErrorReceivedCCommand(string.Format("Команда с индексом {0} не найдена!", _indexCommand.ToString()));

throw new CException("Команда не найдена!");

}

/// <summary>

/// получаем данные с определенного байта и определенное количество

/// </summary>

/// <param name="body"></param>

/// <param name="from"></param>

/// <param name="count"></param>

/// <returns></returns>

public static byte[] GetData(byte[] body, int from, int count)

{

if (body.Length < from + count)

{

return new byte[0];

}

byte[] _body = new byte[count];

for (byte i = 0; i < count; i++)

_body[i] = body[i+from];

return _body;

}

/// <summary>

/// Посылка подготовленой команды

/// Посылка может осуществляться несколькими фреймами

/// </summary>

/// <returns></returns>

public virtual bool Send(CRS232Port _Port, byte? index)

{

if (_Frames.Count > 0 && _Port.IsOpen)

{

if (index != null)

{

_Frames[0].Index = index;

}

else

{

_Frames[0].Index = _Port.IndexFrame;

_Port.UpdateIndex();

}

_Frames[0].State = enumState.Send;

m_Port = _Port;

m_Port.Send(_Frames[0]);

return true;

}

return false;

}

public static bool sendTicket(CCommand _command)

{

CLog.Info(_command.m_Port.PortName + ": Посылка тикета для команды " + _command.Name);

return sendTicket(_command.m_Port, _command._Frames[0].FromDevice, _command._Frames[0].ToDevice, _command._Frames[0].Index, _command);

}

public static bool sendTicket(CRS232Port _port, enumDevices _to, enumDevices _from, byte? _Index, CCommand _command)

{

try

{

CFrame _packetInQueue = _port.GetCurrentFrameToSend();

if (_packetInQueue == null)

{

CLog.Info(_port.PortName + ": Не найден кадр на который отправляем подтверждение.");

//return false;

}

CCommand ticket = CCommand.GetCommand(enumCommand.Ticket);

ticket.TimeOutToSend = 0; //не ждать ответа вообще.

ticket.MaxTryToSend = 0;

ticket.CompleteRequired = false;

ticket.CompleteRequiredTime = 0;

ticket.Action = enumAction.Send;

CProtocol.Send(_port, _to, _from, _Index, ticket);

}

catch (Exception _ex)

{

CLog.Error(_ex);

}

return true;

}

public static bool sendComplete(CCommand _command)

{

CLog.Info(_command.m_Port.PortName + ": Посылка готово для команды " + _command.Name);

return sendComplete(_command.m_Port, _command.fromDevice, _command.toDevice, null);

}

public static bool sendComplete(CRS232Port _port, enumDevices _to, enumDevices _from, byte? _Index)

{

cmdComplete cmdComplete = (cmdComplete)CCommand.GetCommand(enumCommand.Complete);

cmdComplete.Action = enumAction.Send;

cmdComplete.State = enumState.Initialize;

cmdComplete.TimeOutToSend = 300;

cmdComplete.MaxTryToSend = 3;

cmdComplete.CompleteRequired = false;

cmdComplete.CompleteRequiredTime = 0;

cmdComplete.Data = new byte[3];

cmdComplete.Data[0] = 0;

cmdComplete.Data[1] = 0;

cmdComplete.Data[2] = 0;

_Index++;

CProtocol.Send(_port, _to, _from, _Index, cmdComplete);

//ChangeStatus("Посылаем команду 'Готово', в ответ на команду 'Данные'.");

bool _wait = true;

try

{

while (_wait)

{

switch (cmdComplete.State)

{

case enumState.TicketReceived:

//ChangeStatus.CurrentStatus = "Получена квитанция на команду 'Готово'.";

_wait = false;

break;

case enumState.Error:

//ChangeStatus.CurrentStatus = "Ошибка: На команду 'Готово' не пришла квитанция.";

//TODO: Сделать обработку этого места и вывод события!!!! Иначе тут валится!

cmdComplete.onError();

if (onErrorReceived != null)

onErrorReceived(null, string.Format("Ошибка: На команду {0}, {1}, не пришла квитанция.", cmdComplete.Frames[0].Index.ToString(), cmdComplete.Name)); // хотели заменить на следующую строку

//OnErrorReceivedCCommand(string.Format("Ошибка: На команду {0}, {1}, не пришла квитанция.", _Index.ToString(), cmdComplete.Name));

throw new Exception(string.Format("Ошибка: На команду {0}, {1}, не пришла квитанция.", cmdComplete.Frames[0].Index.ToString(), cmdComplete.Name));

break;

default:

System.Threading.Thread.Sleep(1);

break;

}

}

}

catch (Exception _ex)

{

CLog.Error(_ex);

}

return true;

}

}

}

ПРИЛОЖЕНИЕ 2

РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММ

Интерфейс ввода пароля

Рис.П.2.1

Ошибка ввода пароля

Рис.П.2.2

Сообщение при трехкратном ошибочном вводе пароля

Рис.П.2.3

Работа программы в автономном режиме

Режим ТЛФ

Рис.П.2.4

Режим ТЛГ

Рис.П.2.5

Режим УКВ

Рис.П.2.6

Режим Сервис

Рис.П.2.7

Режим Глонасс

Рис.П.2.8

Установка частот

Рис.П.2.9

ПРИЛОЖЕНИЕ 3

РУКОВОДСТВО ОПЕРАТОРА

П. 3.1. Назначение программы

Программа предназначена для автоматизации работы оператора радиостанции.

Программа предназначена для выполнения следующих функций:

- Запуск и настройка режимов работы радиостанции;

- Передача и получение произвольных данных размером не более 32кб;

- Получение координат в метрах или градусах, при подключении к радиостанции модуля GPS/Глонасс;

П.3.2. Условия применения программы

Требования к техническому обеспечению рабочего места пользователя системы:

1) Изделие “Намотка - КС”

2) ПК со следующими минимальными характеристиками:

а) процессор с частотой 1 ГГц и выше;

б) объем ОЗУ 512 МБ;

в) свободное пространство на жестком диске не менее 100 МБ;

г) видеокарта обеспечивающая разрешение не хуже 800x600x16;

д) наличие последовательного порта с интерфейсом RS-232;

е) Монитор;

ж) клавиатура;

з) мышь.

П.3.3. Пуск программы

Запуск программы происходит при запуске файла SPOPO.EXE.

П.3.4. Команды оператора

Для запуска программы необходимо ввести пароль (форма ввода пароля представлена на рис. П.3.1) после чего будет доступна для работы основная форма программы(основная форма программы представлена на рис. П.3.3). Если отсутствует подключение радиостанции к ПК, то возможно осуществлять работу в автономном режиме.

Форма ввода пароля

Рис.П.3.1

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

Частоты приема/передачи для КВ диапазона вводятся с шагом 0,1 кГц в диапазоне от 2 до 29999,9 кГц. В противном случае выводиться предупреждающая надпись и предлагается правильно повторить ввод частот.

Частоты приема/передачи для УКВ диапазона вводятся с шагом 12,5 КГц в диапазоне 52-82 МГц и 100-174 МГц. В противном случае выводиться предупреждающая надпись и предлагается правильно повторить ввод частот.

При выборе «ЗПЧ» окна ПРМ и ПРД становятся неактивными. Предлагается ввести номер ЗПЧ в диапазоне 1-64 как показано на рис. П.3.2. При нажатии кнопки «Установить» происходит настройка приемо-передатчика на введенные значения частот.

Установка частот ЗПЧ

Рис.П.3.2

Основная форма программы

Рис.П.3.3

Для вывода координат радиостанции необходимо нажать кнопку «Запрос координат» на вкладке Глонасс(вкладка Глонасс показана на рис.П.3.4).

Вкладка Глонасс

Рис.П.3.4

П.3.5. Сообщения оператору

Сообщения, выдаваемые при работе программы, и необходимая реакция на них описана в таблице П.3.1.

Таблица П.3.1

Сообщения оператору

Сообщение

Действие

Устройство не подключено

Проверить подключение устройства

Устройство не опознано

Проверить модель устройства в соответствии с требованиями

Введен неверный пароль

Ввести пароль снова

Пароль введен неверно, войти со стандартным паролем

Войти с верным паролем, либо войти в режим «по умолчанию»

Размещено на Allbest.ru


Подобные документы

  • Разработка программы тестирования для выявления акцентуаций типа человека в среде Delphi и Microsoft Access. Проектирование алгоритма реализации модели. Описание программы и модулей, руководство пользователя. Меры обеспечения информационной безопасности.

    дипломная работа [2,7 M], добавлен 15.06.2012

  • Разработка проектных решений по созданию автоматического рабочего места менеджера сервисного центра для ООО "Пионер". Проектирование структуры базы данных. Логическая структура программы. Схема работы с программным продуктом, особенности его установки.

    дипломная работа [1,9 M], добавлен 11.02.2013

  • Постановка задачи, системные требования, требования к входным данным и выходным формам. Описание пользовательского интерфейса, применяемых алгоритмов и их реализация. Определение логической и функциональной структуры программного продукта, его алгоритм.

    дипломная работа [1,1 M], добавлен 03.07.2014

  • Практический опыт и проблемы внедрения систем автоматизированного составления расписания. Описание исходных данных для разработки функционала программы. Описание структуры разделов пользовательского интерфейса. Модуль проверок корректности расписания.

    курсовая работа [3,6 M], добавлен 26.09.2014

  • Разработка проектных решений по созданию автоматизированной системы управления "модератор сайта". Проектирование структуры базы данных. Выбор среды разработки. Описание программного средства. Разработка web-сайта на примере ЗАО Молкомбинат "Адыгейский".

    дипломная работа [1,8 M], добавлен 09.02.2013

  • Развитие интегрированных пакетов прикладных программ, механизмы, такие, как OLE и OpenDoc, обеспечивающие их совместную работу. Анализ наиболее известных комплексов, состоящих из прикладных программ, работающих как самостоятельно, так и интегрированно.

    реферат [24,2 K], добавлен 03.03.2012

  • Общая характеристика предприятия, анализ существующей системы управления. Проект программы "Автоматизированное рабочее место кассира в отделе контроля и сбора выручки", в современной объектно-ориентированной интерактивной среде Delphi 7 фирмы Borland.

    дипломная работа [771,5 K], добавлен 10.10.2011

  • Главная идея LaTeX, возможности системы. Структура документа - текстового файла, содержащего специальные команды языка разметки. Формат текста и вспомогательные программы. Отображение математических и других формул, символы функций и исходные команды.

    курсовая работа [704,6 K], добавлен 21.02.2015

  • Классификация пакетов прикладных программ. Microsoft Office как популярный пакет, предназначенный для решения задач автоматизации офиса. Пример формирования калькуляции стоимости выпечных изделий на хлебозаводе с помощью табличного процессора MS Excel.

    курсовая работа [1,3 M], добавлен 05.06.2013

  • Определение общих требований к организации автоматизированного рабочего места. Создание модели автоматизированного рабочего места менеджера фирмы "Информстиль". Разработка базы данных и описание алгоритма программы по учету продаж вычислительной техники.

    дипломная работа [2,9 M], добавлен 03.07.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.