Министерство образования и науки Российской Федерации
ФГБОУ ВО РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ
ГИДРОМЕТЕОРОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
(РГГМУ)
Институт Информационных систем и геотехнологий
КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ
БАКАЛАВРСКАЯ РАБОТА
На тему «Разработка программных комплексов для управления конкретными
объектами и процессами»
Исполнитель __________Мурясова Сабина Ринатовна ______________________
(фамилия, имя, отчество)
Руководитель ___________к.т.н., доцент кафедры ПИ_______________________
(ученая степень, ученое звание)
_____________________Попов Николай Николаевич_____________
____
(фамилия, имя, отчество)
«К защите допускаю»
Заведующий кафедрой _______________
(подпись)
_________________доктор технических наук, профессор___________________
(ученая степень, ученое звание)
_____________________Истомин Евгений Петрович_______________________
(фамилия, имя, отчество)
«___»__________20__г.
Санкт–Петербург
2020
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное бюджетное образовательное учреждение высшего
образования
«РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГИДРОМЕТЕОРОЛОГИЧЕСКИЙ
УНИВЕРСИТЕТ»
Кафедра Прикладной информатики
«УТВЕРЖДАЮ»
Заведующий кафедрой
Истомин Е.П.
«___»____________2020 года
Задание
на выпускную квалификационную работу
студенту Мурясовой Сабине Ринатовне________________________________
(фамилия, имя, отчество)
1. Тема
Разработка программных комплексов для управления конкретными объектами и
процессами.
закреплена приказом ректора Университета от «_____»____________2020 года, №
_______.
2. Срок сдачи законченной работы «____»____________2020 года.
3. Исходные данные к выпускной квалификационной работе:
Данные, полученные в ходе прохождения производственной преддипломной практики
4. Перечень вопросов, подлежащих разработке (краткое содержание работы (проекта):
ВВЕДЕНИЕ. Актуальность темы, цели и задачи выпускной квалификационной работы
Обзор задачи
Глава 1. Анализ предметной области
1.1. Структура и функции системы управления АНПА
1.2. Функциональная схема локальной вычислительной сети АНПА
1.3. Навигационные средства АНПА
1.4. Анализ автономных необитаемых подводных аппаратов с ПУ
1.5. Техническое задание
1.5.1 Требования назначения
1.5.2 Представление интерфейса
1.5.3 Технические требования ЭВМ для ПУ
Глава 2. Алгоритм работы программы
2.1 Структура главного окна
2.2 Возможности интерфейса
2.3 Модуль построения интерфейса
2.4 Внешний вид ПУ АНПА
2.5 Соединение с АНПА
2.6 Проверка готовности АНПА к работе
.
2.7 Включение опроса устройств АНПА
2.8 Включение основных цепей питания АНПА
2.9 Частная работа с каждым устройством
2.10 Структура вкладки ТОП
2.11 Работа с технологическими операциями
2.12 Создание и сохранение миссии
2.13 Загрузка и редактирование миссии
2.14 Работа с миссиями
Глава 3. Язык Delphi и компоненты для создания ПУ
3.1 Среда разработки
3.2 Система технического зрения
3.3 Вспомогательные компоненты
3.3.1 Async Professional
3.3.2 TeeChart
3.3.3 ZylGPSReceiver
Глава 4. Экономическая целесообразность разработки ПУ для АНПА
4.1 Экономическая целесообразность разработки ПУ для АНПА
4.2. Экономическая надежность разработки ПУ для АНПА
ЗАКЛЮЧЕНИЕ
Список использованных источников
5. Перечень материалов, представляемых к защите:
Пояснительная записка;
Презентация 13 слайдов.
6. Консультанты по работе с указанием относящихся к ним разделов работы:
6.1. _________________________________________________________________________
(Должность, фамилия, имя, отчество, глава №).
6.2. _________________________________________________________________________
(Должность, фамилия, имя, отчество, глава №).
7. Дата выдачи задания: «____»____________2020 года
Руководитель выпускной квалификационной работы
к.т.н. доцент кафедры ПИ Попов Николай Николаевич__
(должность, ученая степень, ученое звание, фамилия, имя, отчество)
(подпись)
Задание принял(а) к исполнению «____»____________2020 года
Студент Мурясова Сабина Ринатовна, группа ПИ-Б16-1-1______
(фамилия, имя, отчество, учебная группа)
(подпись)
ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
В настоящей пояснительной записке применяют следующие термины с
соответствующими определениями:
АНПА – Автономный необитаемый подводный аппарат;
АПА – Автономный подводный аппарат;
ПУ – Пульт управления;
ЭМИ – Электромагнитный искатель;
ЭВМ – Электронная вычислительная машина;
МНС – Морская навигационная система;
СТЗ – Система технического зрения;
RAD – Rapid Application Development;
ОО – Объектно – ориентированный;
ОС – Операционная система;
ПК – Персональный компьютер;
ЛВС – Локально - вычислительная сеть;
СПУ – Система программного управления;
ЭЛС – Эхолокационная система;
СБУН – Система бортового управления и навигации.
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ .......................................................................................................................................................... 6
Обзор задачи ......................................................................................................................................................... 8
Глава 1. Анализ предметной области ................................................................................................................... 9
1.1. Структура и функции системы управления АНПА .................................................................................... 10
1.2. Функциональная схема локальной вычислительной сети АНПА............................................................... 12
1.3. Навигационные средства АНПА ................................................................................................................. 13
1.4. Анализ автономных необитаемых подводных аппаратов ........................................................................... 14
1.5. Техническое задание.................................................................................................................................... 18
1.5.1 Требования назначения .............................................................................................................................. 18
1.5.2 Представление интерфейса ........................................................................................................................ 19
1.5.3 Технические требования ЭВМ для ПУ...................................................................................................... 19
Глава 2. Алгоритм работы программы............................................................................................................... 20
2.1 Структура главного окна .............................................................................................................................. 20
2.2 Возможности интерфейса ............................................................................................................................. 22
2.3 Модуль построения интерфейса ................................................................................................................... 23
2.4 Внешний вид ПУ АНПА............................................................................................................................... 31
2.5 Соединение с АНПА ..................................................................................................................................... 33
2.6 Проверка готовности АНПА к работе .......................................................................................................... 34
2.7 Включение опроса устройств АНПА ........................................................................................................... 35
2.8 Включение основных цепей питания АНПА ............................................................................................... 36
2.9 Частная работа с каждым устройством ........................................................................................................ 38
2.10 Структура вкладки ТОП ............................................................................................................................. 39
2.11 Работа с технологическими операциями .................................................................................................... 40
2.12 Создание и сохранение миссии .................................................................................................................. 41
2.13 Загрузка и редактирование миссии ............................................................................................................ 42
2.14 Работа с миссиями ...................................................................................................................................... 43
Глава 3. Язык Delphi и компоненты для создания ПУ....................................................................................... 45
3.1 Среда разработки .......................................................................................................................................... 45
3.2 Система технического зрения....................................................................................................................... 46
3.3 Вспомогательные компоненты ..................................................................................................................... 47
3.3.1 Async Professional ...................................................................................................................................... 47
3.3.2 TeeChart ...................................................................................................................................................... 48
3.3.3 ZylGPSReceiver .......................................................................................................................................... 49
Глава 4. Экономическая целесообразность и экономическая надежность разработки ПУ для АНПА ............ 50
4.1 Экономическая целесообразность разработки ПУ для АНПА .................................................................... 50
4.2. Экономическая надежность разработки ПУ для АНПА ............................................................................. 56
ЗАКЛЮЧЕНИЕ .................................................................................................................................................. 60
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТЧОНИКОВ ............................................................................................ 61
5
ВВЕДЕНИЕ
Автономные необитаемые подводные аппараты (АНПА) представляются
в наше время одними из наиболее многообещающих средств изучения и
освоения Мирового океана.
Уже сейчас АНПА применяются:
для исследования дна перед началом подводных работ;
для прокладывания подводных кабелей, в первую очередь, подо
льдом;
для обследования подводных сооружений, добывающих платформ
и трубопроводов;
для проведения глобальных подводных научных исследований в
областях гидрофизики, морской биологии, химии, геологии,
климатологии, подводная археологии;
для поиска затонувших кораблей и самолётов;
для поиска мин, со времен разных войн;
как средство ведения подводной войны.
В дальнейшем область применения АНПА будет только расширяться.
Управление необитаемой подводной техникой высочайшего уровня
сегодня невозможно без хорошего и качественного пульта, понятного для
большинства пользователей. Одной из самых обсуждаемых задач является
пользовательский интерфейс, который будет доступен и понятен для каждого.
Для того чтобы знать, как поведет себя автономный необитаемый подводный
аппарат (АНПА) под водой, необходимо иметь на борту множество
контрольно-измерительных средств с обратной связью. Изучение этого
оборудования и написания к нему программных модулей представляет
чрезвычайно
сложную
и
кропотливую
задачу.
Проведение
таких
исследований под водой весьма затруднительно как из экономических
соображений, так и в связи со статическим характером задачи. По своей сути
изучение, разбор протоколов и логики измерительных устройств на борту
является непростым заданием с последующей обработкой накопленных
6
данных. Для качественного написания программного обеспечения (ПО)
требуются длительное время, чтобы разобрать протоколы каждого устройства,
задать логику работы между собой и отладить это все на макете и реальном
оборудовании.
Главная задача пульта управления (ПУ) – это контроль двигателей,
получение данных с глубины по радиосвязи, гидроакустики и кабелю Ethernet.
В настоящее время для исследования задач отработки погружения,
всплытия и выполнения миссий под водой с ПУ необходимы испытательные
стенды/макеты. Стоимость изготовления такого стенда и время на его
создание достаточно высоки, поэтому естественным является желание
ограничиться предельно простыми устройствами, позволяющими качественно
и верно провести отладку ПУ. Таким устройством может послужить обычный
эмулятор COM-порта, выполняющий роль некого оборудования на борту и
отсылающий в ПУ нужные данные по протоколу.
В данной дипломной работе рассматривается общий алгоритм и
интерфейс ПУ для АНПА, с учетом специализированного оборудования на
борту, его протоколов и поведения в воде. Так же актуальна проблема
передачи данных на больших глубинах, до 10 000 метров.
Цель работы заключается в разработке программного обеспечения,
реализующего соединение с аппаратом по трем видам связи сказанных выше,
получение данных о нахождении аппарата по технологии GPS и в свободном
управлении/перемещении его под водой с обходом препятствий, и
нахождением металлическим объектов по средствам электромагнитного
искателя (ЭМИ).
7
Обзор задачи
Целью данной выпускной квалификационной работы является разработка
программы для управления автономным необитаемым подводным аппаратом.
Весь проект реализован на языке программирования Delphi.
В работе следует привести необходимые технические характеристики
аппарата. Также следует рассмотреть логику поведения при обнаружении
препятствий и металлических предметов.
Разработанная программа должна выполнять следующие задачи:
С помощью одного из трех видов связей установить соединений с АНПА,
указав в настройках IP-адрес для соединения по проводу или COM-порту для
соединения по маяку или Wi-Fi, когда аппарат на поверхности.
После установки соединения, произвести опрос всех устройств на борту
и убедиться в их правильном функционировании.
Менеджер миссий будет представлять окно составления/редактирования
задач для аппарата в воде и под водой в своем, уникальном формате.
Изначально на борту планируется минимальный набор оборудования:
Батарейные модули;
Гидролокатор бокового обзора;
Датчик глубины;
Датчик наличия воды;
Двигательно-рулевой комплекс;
Система управления питанием;
Электромагнитные искатели.
В процессе написания данной системы управления АНПА, разобрать
принцип работы каждого устройства и его протокол передачи данных.
Изучить поведение этого устройства в воде и составить некую логику
поведения в штатных и внештатных ситуациях. Дать оценку потребления
ресурсов программы и собрать под нее электронно-вычислительную машину
(ЭВМ).
8
Глава 1. Анализ предметной области
Автономный подводный аппарат (АПА) — роботизированный аппарат,
который имеет способность передвигаться под водой самостоятельно без
оператора. Такие аппараты являются частью большей группы подводных
аппаратов, называемых беспилотные подводные аппараты, этот класс
включает в себя не автономные дистанционно-управляемые подводные
аппараты – которые управляются и питаются с берега оператором (пилотом),
или с помощью дистанционного управления.
До относительно недавнего времени, АПА использовались лишь в
ограниченных
областях
технологий.
С
применения,
развитием
в
зависимости
технологий
от
обработки
имеющихся
данных
и
высокоэффективных источников питания, АПА стали использоваться чаще и
развиваться. По форме АНПА — это твердое тело, напоминающее торпеду,
перемещается под водой с целью сбора информации о рельефе и строении
верхнего слоя дна, о наличии на дне предметов и препятствий. Энергопитание
АНПА осуществляется от аккумуляторов или другого типа батарей. По массе
и размерам АНПА условно делят на «большие», «средние» и «малые». Такое
деление
соответствует в определенной мере
назначению аппаратов,
особенностям их конструкции и расходам на изготовление и эксплуатацию.
Классификация и виды АНПА представлены на рисунках 1, 2 .
Рисунок 1 – Виды АНПА
9
Рисунок 2 - Классификация по внешнему облику
Рисунок 3 - Расположение основных систем АНПА
1.1. Структура и функции системы управления АНПА
Общую структуру системы управления можно представить следующим
образом. Система содержит внутренний контур обратной связи по управлению и
внешний - по планированию. Соответственно имеется система управления нижнего
и верхнего уровня.
Система верхнего включает в свой состав планировщик,
10
который задаёт траекторию AНПА, используя последовательность команд. Далее
эти команды интерпретируются нижним уровнем системы управления. (рис.4)
Планировщик в совокупности с программой-заданием задаёт и цели для
системы управления нижнего уровня. Регуляторы, входящие в состав нижнего
уровня системы управления, служат для достижения целевых значений,
задаваемых планировщиков и также могут иметь различную структуру.
Контрольная аварийная система (КАС) тоже входит в состав нижнего уровня
системы управления. Оной из её задачи является оценка состояния аппарата и
реализации действий по восстановлению состояния подсистем аппарата, в случае
выхода их из строя. Как правило, КАС содержит эталонную модель
контролируемых процессов.
Поскольку основная задача аппарата - сбор информации, то необходимой
частью
системы
управления
является
диск
управляющего
компьютера.
Информация с помощью архиватора сохраняется в виде, пригодном для
последующего анализа.
Для реализации внешнего контура обратной связи в качестве устройств,
получающих информацию о внешней среде, используются в основном
различные эхолокационные приборы и приборы звуковидения.
Рисунок 4 – общая структура системы управления АНПА
11
1.2. Функциональная схема локальной вычислительной сети АНПА
Взаимодействие устройств в составе АНПА, их контроль и управление
реализуются на программно-аппаратном уровне в составе локальной
вычислительной сети (ЛВС). В общей структуре аппарата выделены базовые
системы, обеспечивающие его функционирование как носителя аппаратуры, и
информационно-поисковые системы.
Организующим ядром базовых систем является система программного
управления (СПУ), обеспечивающая управление движением, контрольноаварийные
и
поисковые
функции.
Для
формирования
управления
используются набор пилотажных датчиков и эхолокационная система (ЭЛС),
а для обеспечения безопасности служат аварийные датчики.
Движение организуется с помощью движительно-рулевого комплекса.
Дистанционное изменение миссии АНПА может осуществляться через
гидроакустическую систему связи. Эта же система также используется для
оперативного получения данных о текущем состоянии АНПА. Системы
поиска используются для обнаружения АНПА на поверхности после
окончания выполнения работ.
Вычислительные задачи на АНПА распределены меж бортовыми
компьютерами (комп системы бортового управления и навигации, комп
системы тех. зрения). Для взаимосвязи между пультовым оборудованием
постов Оператора и Навигатора с АНПА используются канал Ethernet.
Присутствие скоростного канала Ethernet дозволяет уменьшать время
подготовки АНПА к пуску и время на извлечение этих измерений опосля
завершения дел.
12
Рисунок 5 - Функциональный состав АНПА
1.3. Навигационные средства АНПА
Главной задачей системы бортового управления и навигации (СБУН)
считается определение местоположении и ориентации АНПА. Навигационная
программа производится как единичный процесс на бортовом комп-ре СБУН.
Для вычисления расположения и ориентации АНПА система обрабатывает
данные о текущем курсе, углах дифферента и наклона, скорости и
направленности перемещения, и глубине. Незыблемость функционирования
системы гарантируется и за счет резервирования средств измерений
отдельных навигационных характеристик.
Разработка средств навигационного обеспечения была и остается одной
из приоритетных в общей структуре работ, выполняемых при создании
подводных роботов. Как правило, в составе современных подводных
аппаратов используются навигационные комплексы, включающие бортовые
автономные,
гидроакустические
и
спутниковые
системы
навигации.
Навигационное оборудование в различных условиях работ решаются две
задачи.
Первая
заключается
в
достижении
13
максимальной
точности
навигационной привязки, характерной для поисковых работ и детального
обследования выделенных районов. Вторая состоит в контроле текущего
положения АПР, например, при выполнении перехода в район работ или
проведения обзорных гидролокационных съемок. [33]
Рисунок 6 - Навигационные средства АНПА
1.4. Анализ автономных необитаемых подводных аппаратов
Подводный планер
Аппарат выполняет и решает несколько задач по стратегической
разведке, сбору информации для общего восприятия окружающей подводной
и надводной обстановки, обеспечения связи и мониторинга экологической
обстановки.
Весит он около 80 кг, имеет длину около 1,8 м, а размах крыльев 1,4 м.
Обладает емкостью литиевых аккумуляторов 12МДж и максимальной
глубиной погружения 500 м, развивая при этом предельную скорость 0,5 м/с.
АНПА изображен на рисунке 7.
14
Рисунок 7 – Общий вид подводного планера
Автономный необитаемый подводный аппарат
Задача следующего аппарата состоит в проведении оперативного и
длительного наблюдения водной среды, включая замер гидробиологических,
гидрофизических, а так же гидрохимических параметров водной среды;
осмотр и обследование состояния подводной инфраструктуры: конструкций
установок газо- и нефтедобычи, газо- и нефтепроводов, кабельных трасс;
обследование частичных участков дна с помощью сбора гидроакустической и
фототелевизионной
информации;
освещение
подводной
обстановки;
проведение съемки рельефа морского дна; исследования топографии морского
дна и биосферы на глубинах до 600 м.
Длина такого аппарата доходит до 3800 м, а внутренний диаметр корпуса
194 мм. Обладает максимальной массой до 125 кг. Достигает горизонтальной
скорости прямолинейного движения в подводном положении до 2,5 м/с.
Аппарат может работать в автономном режиме до 8 часов, а диапазоны
рабочих глубин до 500 м. Так же АНПА может обмениваться данными
дистанционно с ПУ без подъема на судно по Wi-Fi связи.
Автономный
необитаемый подводный аппарат представлен на рисунке 8 ниже.
15
Рисунок 8 – общий вид автономного необитаемого подводного аппарата
Автономный необитаемый подводный аппарат «Гипероглиф»
АНПА «Гипероглиф» специализируется на обработке алгоритмов для
функционирования
системы
управления
гидроакустической
навигации,
связи
и
и
ее
тестировании,
мониторинга
систем
подстилающей
поверхности.
Аппарат обладает несколькими особенностями, такими как:
Сложная конструкция, выполняющая самостоятельно функции, что
позволяет «Гипероглифу» самому решать какое количество отсеков
оставить в зависимости от состава оборудования и программы
испытаний. Имеет возможность работать в нескольких режимах:
погруженном и полупогруженном;
Изготавливается из нескольких комплектующих (двигатель корпус,
система
автоматического
управления,
руль,
винт
в
насадке,)
собственного производства.
Диаметр аппарата достигает (по рулям) 446 мм, рабочая глубина
погружения составляет 30 м, а предельная 50 м. [10]
16
Рисунок 9 - Автономный необитаемый подводный аппарат
«Гипероглиф»
Глубоководный автономный аппарат «Витязь-Д»
Ниже представлен последний автономный необитаемый подводный
аппарат, который носит название «Витязь-Д».
Во время работы аппарата происходит обмен информацией между ПУ на
судне и непилотируемым аппаратом. Конструктивные элементы АНПА
собраны из сплавов, которые сделаны из титана. Вес аппарата значительно
снижается благодаря сферопластику, из которого состоят обводы. Благодаря
чему образуется обтекаемая форма. Для передвижения представленный
аппарат пускает в дело большое количество электронных двигателей: 4
маршевых и 10 подруливающих. [9]
АНПА «Витязь-Д» имеет большое количество устройств на борту, таких
как гидроакустические
средства
навигации
и
связи,
эхолоты,
локаторы бокового обзора, приборы для подачи света, внешние видеокамеры,
научные
и
исследовательские
оборудования,
предназначенные
для
наблюдений и замеров на глубине, а также для съёмки рельефа дна и
измерения гидрофизических параметров морской среды.
17
Одно из главных преимуществ аппарата - это возможность проводить
научные исследования на больших расстояниях, находясь на глубине до
10.000 м. [11]
В пульте управления задействованы основы искусственного интеллекта,
позволяя аппарату свободно преодолевать препятствия и решать другие
задачи передвижения. В этом заключается его главное отличие от других
аппаратов представленных сверху.
Рисунок 10 - Глубоководный автономный аппарат «Витязь-Д»
1.5. Техническое задание
1.5.1 Требования назначения
Пульт управления (ПУ) должен обеспечивать обмен информацией со
следующими системами АНПА:
высокоскоростная система информационного обмена;
гидроакустические средства связи, навигации и приведения;
система радиосвязи;
устройство контроля энергообеспечения.
ПУ должен обеспечивать совместную работу со следующими системами
АНПА:
18
система вычисления единого параметра глубины;
система единого времени;
GPS-модуль;
ЭМИ;
Эхолоты.
Интерфейс пульта должен быть удобен и понятен, как гражданскому
лицу, так и военнослужащему. Нужна гибкость в настройке внешнего вида ПУ
и его адаптация к сенсорным экранам. [7]
1.5.2 Представление интерфейса
Для создания интерфейса пультового ПО используются ячейки таблицы,
которые являются потомком TStringGrid. Любая ячейка таблицы может
содержать текст или виртуальную кнопку, которая занимает площадь ячейки
полностью или частично. При нажатии на кнопку она может быть переведена
в состояние "нажата", "отжата", "подсвечена" и т.п., в зависимости от ее типа
и текущего состояния. Если кнопка занимает площадь ячейки частично, то
ячейка может быть "подсвечена" независимо от кнопки. [33]
1.5.3 Технические требования ЭВМ для ПУ
Центральный процессор (ЦП) для выполнения вычислительных операций
начиная с модели Intel Core i3 не ниже 3-его поколения;
Объем ОЗУ не менее 4 Гб;
Объем видео - ОЗУ не менее 512 Мб;
SSD объемом не менее 256 Гб;
Подключение к внешним интерфейсам: 2 каналам Ethernet, каналу
RS-485, CAN и 2 USB-порта.
19
Глава 2. Алгоритм работы программы
2.1 Структура главного окна
Ввиду возможности объектно-ориентированного программирования, для
облегчения работы, можно разбить общую задачу на более мелкие, это
является совершенно естественным.
Работа с ПУ АНПА осуществляется посредством следующих основных
элементов главного окна, выделенных на рисунке 11:
- кнопок переключения режимов работы на панели режимов (5) - для
переключения вкладок в основной области (6);
- кнопок управления на левой панели управления (3) - для открытия
вспомогательных окон, управления соединением и обменом данными с
сервером, авариной остановки АНПА;
- кнопок управления на нижней панели управления (5) - для управления
логированием и сохранением изображений телекамер, активации чтения
специализированных данных и выставки признака того, что АНПА находится
в воде;
- интерфейсных элементов основной области (6) - в зависимости от
открытой вкладки;
дополнительных элементов управления в заголовочной части (1). [17]
20
Рисунок 11 – Главное окно
На панели режимов главного окна находятся:
- кнопка «Подготовка» открывает соответствующую вкладку, на которой
сведены основные операции, которые необходимо выполнить при начале
работы с АНПА: проверки готовности оборудования, целостности ПО,
синхронизация времени между ПУ АНПА и вычислителем, а также
первоначальна выставка МНС;
- меню «Устройство» содержит перечень устройств АНПА, при выборе
пункта которого открывается соответствующая вкладка; состав и функционал
каждой вкладки уникален и соответствует необходимым условиям для работы
с выбранным устройством;
- кнопка «ТОП» открывает соответствующую вкладку, на которой
реализован функционал для управления АНПА с помощью ТОП и
разработанных оператором миссий;
- меню «Дополнительно» позволяет перейти на технологические вкладки
главного окна: «Джойстик» - для ручного управления движением АНПА, а
21
также «Табло» и «Протокол» - вкладки, дублирующие соответствующие
вспомогательные окна в рамках главного окна;
- меню «Параметры» позволяет перейти на вкладки с настройками ПО:
«Сервер» - с настройками связи с сервером, «Опрос» - с настройками опроса
устройств АНПА, «Общие» - с общими настройками программы;
- кнопки со стрелками «>»/«<» и «^»/«v» отвечают за показ/скрытие левой
и нижней панелей управления.
На левой панели управления главного окна находятся:
- секция
кнопок
«Окн...»,
которые
отвечают
за
показ/скрытие
вспомогательных окон программы;
- секция кнопок и полей ввода «Сервер», которые отвечает за установку и
настройку соединения с сервером и параметров обмена:
«Соединение» - для принудительной установки/разрыва соединения (на
случай отказа функции автоматического соединения);
«ВзятьУпр» - для получения у РИОС прав на запись данных в устройства;
«ВыклОпрос» - для установки периодичности запросов данных с
устройств АНПА;
«ВСКД» - для выбора режима опроса устройств АНПА;
«СТОП АНПА» - для отправки команд аварийной остановки на борт
АНПА;
На нижней панели управления главного окна находятся:
кнопка «СохрЛог» - для сохранения лога;
кнопка «СохрИзобр» - для сохранения изображения, которое сделал наш
АНПА;
кнопка «АНПА В ВОДЕ».
2.2 Возможности интерфейса
Общие настройки программы можно изменить на вкладке «Параметры
приложения», на которую можно перейти, выбрав пункт «Общие» в
выпадающем меню, появляющемся при нажатии на кнопку «Параметры» на
22
панели режимов. Для подавляющего большинства случаев использования ПО
в изменении этих настроек нет необходимости.
Интерфейс ПО имеет гибкое управление с помощью колесика мыши:
имеется
возможность
уменьшать/увеличивать
шрифт
на
элементах
интерфейса, переключать жирность шрифта, изменять размеры некоторых
элементов.
Для полной инструкции по использованию данного функционала нужно
нажать правую кнопку мыши после наведения курсора на основную область
главного окна для вызова вспомогательного окна «Справка». Данное окно
может также содержать более подробную инструкцию для конкретных
элементов интерфейса ПО.
2.3 Модуль построения интерфейса
Весь интерфейс - это ячейки таблицы, которые были унаследованы ещё
от TStringGrid. С каждой ячейкой связана структура данных TCell, которая
определяет ее вид, свойства и текущее состояние. [10]
TCell = record;
CName:
CCapt:
string;
string;
// Имя ячейки
// Заголовок
CActType: TActType; // Тип действий
CState:
CBrush:
CFnt:
TCellState; // Состояние ячейки
TCellBrush; // Brush
TCellFont; // Font
CSpace:
TCellSpace; // Промежутки м/у кнопкой и границами ячейки
CAngle:
TCellAngle; // Угол поворота текста в градусах
CAlign:
UINT;
// Выравнивание текста ячейки
23
CMultLine: boolean;
// Текст в несколько строк
CShow3D:
// Отображение 3D
boolean;
CDrawBmp: TDrawBmp; // Тип отрисовки BMP
CMrgInd:
smallint; // Индекс зоны слияния
end;
При нажатии на ячейку выполняется действие, которое зависит от
значения поля CActType:
atText
atNotFix
atFix
atCycle
нет действий (т.е. нельзя нажать - просто ячейка с текстом);
нажатие на не фиксируемую кнопку;
нажатие на фиксируемую кнопку;
циклическое изменение содержимого ячейки из списка
значений;
atChoice
atEdit
вызов окна выбора нового содержимого ячейки;
вызов окна выбора или окна ввода нового содержимого ячейки
с помощью клавиатуры;
atInput вызов окна выбора или окна ввода нового содержимого ячейки
с помощью виртуальной клавиатуры.
Кроме того, при нажатии на ячейку вызывается метод объекта, который
задается параметром AExec процедуры заполнения фрейма - SetGrid. Вызов
процедуры инициализации SetGrid может быть выполнен несколько раз для
изменения свойств фрейма:
procedure SetGrid(
AColRow: string;
// Число столбцов и строк, ширина столбцов,
высота строк
AExec: TCExec;
// Процедура обработки нажатия "кнопки"
24
ACapt: string;
// Заголовки ячеек
ACDfn: string;
// Определение констант в параметрах
ABrush: string;
// Массив цветов для Brush
AFnt:
string;
// Массив цветов для Font
ASpace: string; // Промежутки между границами ячейки и "кнопкой"
AAngle: string;
// Массив углов поворота текста в градусах
AMrg:
string;
// Зоны слияния ячеек
AGrp:
string);
// Группы ячеек
Количество столбцов и строк таблицы и их относительные размеры
можно задать в процедуре инициализации, в форме строк, содержащих числа,
разделенные пробелами. Если строка параметра AColRow пустая, то
используются значения, установленные при размещении фрейма на форме, с
помощью среды. При этом, следует задать требуемые ColCount, RowCount и
временно
установить
FixedCols=1
и
FixedRows=1,
для
обеспечения
возможности менять ширину столбцов и высоту строк. По умолчанию,
размеры столбцов и строк формируются пропорционально их заданным
значениям таким образом, чтобы была использована вся площадь таблицы.
Если bColRowAjust = false, то автоподстройки размеров столбцов и строк
не
будет.
Если
bWColAjust
=
false,
то
ширина
столбцов
будет
пропорциональна ширине текста их содержимого, при одинаковой ширине
свободного пространства между текстом и границей столбца.
Параметры таблицы задается параметром AColRow, состоящим из трех
строк. Первая задает число столбцов и строк, вторая - массив относительной
ширины столбцов, а третья - массив относительной высоты строк. Например:
4 4
-40 60
25
12 20 15 15
Если длина массива параметра меньше размера таблицы, то для
оставшихся элементов будет использовано последнее значение массивапараметра. Если первое значение массива отрицательно, то элементы таблицы
заполняются значениями из массива циклически. Например, для создания
нескольких групп столбцов в таблице с ColCount = 9:
-10,20,30 --> ColWidths = (10,20,30,10,20,30,10,20,30)
Содержимое и свойства ячеек таблицы задаются параметром ACapt
построчно, т.е. ячейке таблицы iCol,iRow соответствует элемент данных с
номером k:
k := iRow*ColCount + iCol;
Разделителем полей данных для разных ячеек служит символ,
определенный в параметре фрейма sDlmCell (по умолчанию это обратный
слеш - "\"). Это позволяет использовать пробелы для визуального
выравнивания данных ячеек в соответствии с их расположением в таблице.
Например:
sCapt: string =
‘\N1;qwe;rty;;23M\ \ArUp;1BLF\ \Close;1BF\
\ArDn;1BRF\’+
‘\0 1;F11\
\1 1\
\N2;Default;Cycle;Choice;Input;;100Y\ \3 1\’+
‘\0 2;2T\
\1 2\
\<2 2>;F\
‘\Счет;2T\
\1 3\
\3 2;F23\’+
\2 3; ;QQ;WW;;M\ \3 3\’;
В параметре ACapt задаются следующие поля данных ячейки:
<имя>;<заг1>;..<загN>;;<парам1><парам2>
Для разделения полей данных служит символ, определенный в параметре
фрейма sDlmPrm (по умолчанию это точка с запятой - ";"), а поля "парам1" и
"парам2" отделены от начала параметра сдвоенным символом sDlmPrm.
26
При наличии в ACapt сдвоенного sDlmPrm первое поле трактуется как
имя ячейки, а остальные, до сдвоенного sDlmPrm, как элементы заголовка. Это
используется для ячеек с типом действия atChoice или atCycle, для ячеек,
имеющих несколько строк в заголовке, а также для ячеек с типом atEdit или
atInput, если они содержат элементы выбора.
В этих случаях сдвоенный sDlmPrm в ACapt используется как признак
наличия перед заголовком имени ячейки. Это требование должно выполняться
и при задании параметров ячейки по умолчанию с помощью параметра
sDfltCell.
Для прочих ячеек, имя ячейки может быть опущено. В этом случае, оно
совпадает с однострочным заголовком, а разделителем является одиночный
sDlmPrm:
<заголовок(=имя)>;<парам1><парам2>
Порядок следования полей "парам1" и "парам2" не важен.
парам1 - четырехразрядное десятичное число, определяющее индексы
массивов:
<индекс AAngle><индекс ASpace><индекс AFnt><индекс ABrush>
Если старшие разряды в парам1 отсутствуют, то они полагаются равными
нулю. Поле парам1 может быть опущено полностью.
"парам2" - комбинация параметров отрисовки, задаваемых одиночными
символами. Поле парам2 может быть опущено полностью. В этом случае,
ячейка будет содержать не фиксируемую кнопку с текстом на несколько строк.
При формировании параметров ячеек удобно использовать символьные
константы. Они должны быть заранее определены в параметре ACDfn в форме
строк вида:
<имя константы> <пробел> <число>
27
При отрисовке ячейки и "кнопки" в разных состояниях используются
массивы, которые формируются из параметров:
ABrush - цвета фона;
AFnt - цвета шрифта "кнопки";
ASpace - расстояния от границы ячейки до "кнопки" в пикселях;
AAngle - углы поворота текста ячейки.
Имена шрифтов в параметре AFnt выделяются символом sDlmCell (по
умолчанию это обратный слеш - "\"). Остальные поля разделяются
произвольным количеством пробелов.
Параметры, управляющие отрисовкой ячеек:
_CenterAlign = 'C';
// Выравнивание текста по центру
_LeftAlign
= 'L';
_RightAlign
= 'R';
// Выравнивание текста по правой границе
_MultLine
= 'M';
// Вывод текста в несколько строк
_Text
= 'T';
_NotFix
_Fix
// Выравнивание текста по левой границе
// Ячейка с текстом
= 'N';
= 'F';
// Ячейка с НЕфиксирующейся кнопкой
// Ячейка с фиксирующейся кнопкой
_Cycle
= 'Y';
// Циклический вывод заголовков
_Choice
= 'H';
// Вызов формы выбора содержимого ячейки
_InpNum
_Edit
= 'I';
= 'E';
// Ввод ячейки с вирт.числовой клавиатуры
// Редактирование содержимого ячейки в TEdit
_DrawBmp
= 'B';
// Отрисовка BMP на кнопке
_StretchBmp
= 'S';
// Отрисовка BMP на кнопке по StretchDraw
_Show3D
= 'D';
// Отображение 3D
Для эргономичного интерфейса количество различных сочетаний цветов
ячеек одной таблицы (для разных состояний кнопок) не должно быть
большим. Поэтому индексы элементов указанных массивов в парам1
ограничены одной десятичной цифрой.
Для случая, когда таблица должна содержать много разноцветных
кнопок, используется массив BrushClr (цвета отжатых кнопок), который
28
определяет цвет кнопок таблицы.
При этом цвет шрифта кнопок
автоматически выбирается контрастным цвету кнопки.
Для отрисовки BMP в ячейке задается параметр PtrBmpList, который
указывает на объект BmpList, содержащий список BMP. Выбор BMP
производится по совпадению имени BMP из списка BmpList с заголовком
ячейки. Параметр iAuxSpace управляет добавлением пустых пикселей
слева/справа от текста ячейки.
Для изменения параметров фрейма в процессе работы программы
используется процедура, которая формирует параметры заданной ячейки,
зависящие от sCapt:
procedure PrmSet(iCol, iRow: integer; sCapt: string; sDlm: string = '');
procedure PrmSet(sName: string; sCapt: string; sDlm: string = '');
Если параметр sDlm опущен, то в качестве разделителя используется
параметр фрейма sDlmPrm.
При
работе
с
тачскрином
событие
OnMouseUp
генерируется
автоматически сразу после события OnMouseDown. Для создания задержки во
времени между нажатием и отпусканием кнопки следует задать bTouchScr =
true (по умолчанию = false).
Для автоматического изменения размера шрифта при изменении высоты
таблицы следует задать параметр iGridH 0> 0. Параметр iGridH0 определяет
высоту таблицы, для которой масштаб шрифта равен единице. Параметр
dFntScale масштабирует размер шрифта независимо от высоты таблицы.
Зоны слияния ячеек используются для создания одной кнопки на площади
нескольких ячеек. Все ячейки одной зоны ведут себя как одно целое. Базовой
адресуемой ячейкой является левая верхняя.
Ячейки таблицы могут быть собраны в группы. Группа состоит из имени
группы и имен, входящих в нее ячеек. Ячейка может одновременно входить в
несколько групп. Группы могут быть использованы для исключения нажатия
более одной кнопки в группе с помощью вызова функции ReleaseInGrp в
обработчике нажатия кнопки:
29
// Внутри группы 'Упр' может быть только одна нажатая кнопка
if sGrp = 'Упр' then ReleaseInGrp(sGrp, iCol, iRow);
Ячейки таблицы могут быть объединены в зоны слияния. Зона слияния
ячеек ведет себя как единая ячейка, которая занимает площадь всей зоны. Зоны
слияния являются прямоугольными и задаются указанием левой верхней и
правой нижней ячеек в формате <номер столбца> <номер строки>. Зоны
слияния не должны пересекаться между собой.
Иногда, надо выбирать новое значение ячейки из ограниченного списка
и, в то же время, иметь возможность ввести новое значение. Для реализации
такого сценария, сделано так, что если поле CActType ячейки имеет значение
atInput или atEdit, а поле CCapt содержит несколько подстрок, разделенных
символами #13#10, то, при нажатии на ячейку левой кнопкой мыши, будет
вызвано окно выбора из заданного списка подстрок, т.е. как в случае atChoice.
Если же нажатие будет выполнено правой кнопкой мыши, то будет вызвано
окно ввода нового содержимого ячейки с помощью виртуальной клавиатуры
(atInput) или окно редактирования (atEdit).
Однако, для других типов ячеек, отличных от atInput и atEdit, нажатие
правой кнопки мыши приводит к отсылке следующего сообщения:
PostMessage(0, _WM_MRB, Integer(PChar(sFrameID)), 0); // _WM_MRB
= WM_USER + 3;
Оно может быть обработано приложением, например, для вывода
контекстной подсказки.
Кроме того, вновь введенное значение ячейки может быть добавлено в
список подстрок. Для этого следует нажать кнопку "добавить" (знак плюс в
квадратной рамке). Обратное действие - удаление элемента списка - может
быть выполнено, если параметру фрейма bUseDelInChoice присвоено значение
"TRUE". В этом случае, в окне выбора нового содержимого ячейки появляется
кнопка "удалить" (знак минус в квадратной рамке). При нажатии на нее
активизируется режим "удаление" так, что при выборе какого-либо элемента
выбора он удаляется из списка. [5]
30
Параметры фрейма могут быть загружены из файла конфигурации. В
этом случае, есть возможность изменять их значения (например, текст
заголовков). Поскольку заголовки связаны с именами ячеек, в таком случае
следует, либо использовать в работающей с фреймом программе адресацию по
положению ячеек, либо определить параметр фрейма sCAliases. Этот параметр
определяет множество альтернативных имен ячеек, которое не зависит от их
заголовков. Альтернативные имена ячеек имеют приоритет над именами,
заданными в заголовках. Параметр задается в виде строки, состоящей из
подстрок, разделенных символом sDlmCell. Например:
sСAliases1: string = '00\10\20\30\01\11\21\31\02\12\22\32\03\13\23\33';
2.4 Внешний вид ПУ АНПА
При
первом
запуске
программное
обеспечение
автоматически
настраивает размеры и положение своих окон под новое разрешение экрана.
После этого размеры и положение окон можно менять и настраивать по
усмотрению оператора - они сохранятся после закрытия программы.
Вид программы в отладочном состоянии (версия ПО ниже 1.00):
- главное окно с активной вкладкой «Подготовка»;
- на главном окне открыта левая панель управления;
- на левой панели управления нажата кнопка «ОкнПртк», отвечающая за показ
окна протокола;
- окно протокола открыто и расположено справа от главного окна;
- на окне протокола выбран режим отображения «1», обеспечивающий
отображение одного протокола.
Вспомогательные окна, изображенные на рисунке 12, ПО отображаются
при использовании соответствующих кнопок на левой панели управления
главного окна:
«ОкнПртк» открывает/закрывает окно протокола;
«ОкнТабло» открывает/закрывает окно табло с основной информацией об
АНПА, необходимой оператору;
«ОкнИзобр» открывает/закрывает окно с изображениями СТЗ;
31
«ОкнГраф» открывает/закрывает окно с графиком временной развертки
выбранных величин.
Рисунок 12 - Начало работы с ПО АУ СИО: все вспомогательные окна
программы
Окно
протокола
поддерживает
работу
с
двумя
протоколами,
отображаемыми в двух частях окна. На верхней панели окна (см. рис. 12)
можно выбрать режим отображения, удобный оператору:
- только 1й протокол (кнопка «1»);
- только 2й протокол (кнопка «2»);
- 1й слева/2й справа (кнопка «1L2R»);
- 1й сверху/2йснизу (кнопка «1T2B»).
Также
с
помощью
кнопки
«Парам»
осуществляется
доступ
к
расширенным настройкам протоколов.
1й протокол (фон голубого оттенка) условно является протоколом
приложения. В нем отображаются сообщения и ошибки, непосредственно
связанные с работой ПО, в том числе:
- информация о настройках программы и их изменении;
- подтверждения о выполнении команд оператора;
- сообщения оператору рекомендательного характера;
32
- ожидаемые ошибки при работе программы;
- неожиданные системные ошибки, и др.
2й протокол (фон зеленого оттенка) условно является протоколом обмена.
В нем отображаются сообщения о приеме/отправке данных при удаленном
подключении к АНПА, а также ошибки, связанные с сетевым обменом.
2.5 Соединение с АНПА
Для начала работы стоит убедиться, что настройки связи с сервером
установлены верно. Для этого нужно будет проверить соответствие IP-адресов
вычислителей и СТЗ, приведенных в протоколе приложения, а также
идентификатор вычислителя, на котором запущен сервер. [19]
В случае несоответствия настроек связи со штатными перейти на вкладку
«Параметры» главного окна программы, выбрав пункт «Сервер» в
выпадающем меню, появляющемся при нажатии на кнопку «Параметры» на
нижней панели главного окна, как показано на рисунке 13.
На данной вкладке ввести необходимые значения для каждого из
параметров и нажать кнопку «Применить». Проконтролировать применение
новых настроек связи в протоколе программы: должен появиться блок
сообщений с идентификатором «[RIOS]» и новыми настройками.
Если настройки связи с РИОС установлены верно, ПО автоматически
устанавливает соединение с РИОС на борту АНПА и осуществляет поиск
запущенных клиентов БСПУ и СТЗ.
При установке соединения с РИОС в заголовке главного окна загорается
зеленым соответствующий индикатор, как показано на рисунке 13, а в
протоколе программы появляется сообщение «Соединение установлено».
33
Рисунок 13 - Соединение с АНПА: вкладка с параметрами РИОС и
индикаторы соединения
При обнаружении запущенных на борту АНПА клиентов вычислителя
и/или СТЗ в заголовке главного окна загораются зеленым соответствующие
индикаторы.
2.6 Проверка готовности АНПА к работе
При запуске программы в главном окне отображается вкладка
«Подготовка» с интерфейсом, обеспечивающим проверку готовности АНПА к
работе, как показано на рисунке 14. [23]
Для проверки готовности оборудования нажать кнопку «Проверить» в
разделе «Готовность оборудования». В ходе этой проверки проводится опрос
оборудования и по результатам формируется отчет о его состоянии. В случае
успешного прохождения проверки соответствующие индикаторы меняют цвет
на зеленый и состояние на «ГОТОВ».
Для проверки целостности программного обеспечения АНПА и ПУ
АНПА нажать кнопки «Проверить» в разделе «Целостность программного
обеспечения». В ходе этой проверки анализируются рабочие каталоги с ПО,
34
сравниваются
контрольные
суммы
файлов,
проверяется
наличие
конфигурационных файлов и версии ПО. По результатам проверки
формируется отчет об итогах ее выполнения. В случае успешного
прохождения проверки соответствующие индикаторы меняют цвет на
зеленый.
Рисунок 14 - Вкладка «Подготовка» главного окна ПО АУ СИО
После
проведения
вышеуказанных
проверок
осуществить
синхронизацию времени АНПА и ПУ АНПА. Для этого в разделе
«Синхронизация времени» выбрать сетевой адрес сервера для синхронизации
(по
умолчанию
–
адрес
пульта
АУ
СИО)
и
нажать
кнопку
«Синхронизировать». По окончании синхронизации времени формируется
отчет об итогах ее выполнения. В случае успешного выполнения операции
соответствующий индикатор меняет цвет на зеленый.
2.7 Включение опроса устройств АНПА
Для обеспечения обмена, позволяющего получать измерительные данные
и управлять АНПА, необходимо включить опрос устройств АНПА. Для этого:
- установить период обмена в поле «Период»;
35
- выбрать метод обмена в поле «Клиент» (по умолчанию – «Драйвер»);
- перейти на вкладку «Параметры», выбрав пункт «Опрос» в выпадающем
меню кнопки «Параметры» на панели режимов главного окна, как показано на
рисунке 15;
- нажать кнопки «ОПРОС» напротив наименований устройств, данные
которых необходимо наблюдать ПУ АНПА;
- нажать кнопку «Записать настройки в вычислитель».
Рисунок 15 - Вкладка «Опрос» главного окна ПУ АНПА
2.8 Включение основных цепей питания АНПА
При аппаратном включении АНПА работает только один батарейный
модуль из четырех. Для включения других батарейных модулей нужно:
- активировать опрос батарейных модулей и системы управления
питанием;
- перейти
на
вкладку
«Система
управления
питанием»,
выбрав
соответствующий пункт в выпадающем меню кнопки «Устройство» на панели
режимов главного окна, как показано на рисунке 16;
36
- наблюдать значения напряжений и токов в колонках «U» и «I» для
«Батарейного модуля 1»; соответствующие ячейки должны быть подсвечены
зеленым;
- нажать кнопку «ВКЛ БАТ3/4», чтобы оправить команду на включение
батарейных модулей 3 и 4; в случае успешного выполнения команды кнопка
подсветится зеленым;
- спустя 3-5 секунд наблюдать значения напряжений и токов в колонках
«U» и «I» для «Батарейного модуля 3» и «Батарейного модуля 4»;
соответствующие ячейки должны быть подсвечены зеленым.
Рисунок 16 - Вкладка «Система управления питанием»
главного окна ПУ АНПА
Для продолжения работы необходимо включить питание основных
устройств АНПА. Для этого:
- выбрать в списке команд для «Батарейного модуля 3» команду
«PS_CMD_BAT3_KR_ON» и нажмите кнопку «Выполнить» для включения разрядного ключа батарейного модуля 3;
- нажать кнопку «ВКЛ ДРК» для подачи питания на двигатели АНПА; в
случае успешного выполнения команды кнопка подсветится зеленым;
37
- нажать кнопку «ВКЛ ТВК» для подачи питания на телекамеры; в случае
успешного выполнения команды кнопка подсветится зеленым;
- нажать кнопку «ВКЛ ГБО» для подачи питания на антенну ГБО; в случае
успешного выполнения команды кнопка подсветится зеленым;
- проконтролировать
успешное
выполнение
команды
включения
разрядного ключа батарейного модуля 3:
- перейти на вкладку «Батарейные модули», выбрав соответствующий
пункт в выпадающем меню кнопки «Устройство» на панели режимов главного
окна, как показано на рисунке 17;
- выбрать страницу с данными батарейного модуля 3, нажав кнопку «3»
на панели переключения страниц;
- наблюдать зеленую подсветку индикатора «SCU_FLG_RREL_ON».
Рисунок 17 - Вкладка «Батарейные модули» главного окна ПУ АНПА
2.9 Частная работа с каждым устройством
Батарейные модули;
Гидролокатор бокового обзора;
Датчик глубины;
38
Датчики наличия воды;
Датчик скорости звука;
Двигательно-рулевой комплекс;
Доплеровский лаг;
Инерциальная навигационная система;
Система управления питанием;
Телекамеры;
Управление подвесным оборудованием;
Электромагнитные искатели, электромагнитный лаг и эхолоты.
Рисунок 18 - Вкладка «ТОП» главного окна ПО АУ СИО:
1 – меню выбора ТОП, 2 – список параметров ТОП,
3 – кнопки управления ТОП, 4 – панель редактирования миссии,
5 – список ТОП миссии, 6 – кнопки управления миссией
2.10 Структура вкладки ТОП
Для
начала
работы
с
ТОП
и
миссиями
АНПА
перейти
на
соответствующую вкладку главного окна программы, нажав на кнопку «ТОП»
на панели режимов, как показано на рисунке 18.
39
На вкладке выделены следующие основные области:
- меню выбора технологических операций (1) по наименованию или
числовому идентификатору в клиенте БСПУ;
- список параметров выбранной технологической операции (2) с
возможностью редактирования и отправки на борт АНПА;
- кнопки
управления
выбранной
технологической
операцией
(3),
отправляющие команды запуска и остановки ТОП на борт АНПА;
- панель редактирования миссии (4), на которой представлены кнопки
добавления ТОП в миссию, изменения параметров уже добавленной ТОП,
удаления ТОП из миссии, очистки миссии, а также сохранения/загрузки
миссии из файла и считывания миссии с планшета;
- список ТОП миссии (5), в котором перечислены все ТОП, добавленные
в миссию, с указанием порядка их выполнения, типа ТОП и их параметров;
- кнопки управления миссией (6), отправляющие команды записи, запуска
и остановки миссии на борт АНПА.
2.11 Работа с технологическими операциями
Для
отработки
какой-либо
ТОП
выбрать
ее
в
меню
выбора
технологической операции по наименованию или числовому идентификатору
в клиенте вычислителя.
Если выбранная ТОП использует какие-либо параметры, их список
отобразится в соответствующей области вкладки «ТОП». Проверить
правильность
установленных
параметров.
В
случае
необходимости,
скорректировать нужные параметры с помощью соответствующих полей
ввода или выбора. Наблюдать сообщения о немедленной отправке
обновлённых параметров на борт АНПА в протоколе обмена.
Запустить технологическую операцию, нажав на кнопку «Выполнить
ТОП». Наблюдать сообщение о начале выполнения ТОП в протоколе обмена.
В случае успешного запуска ТОП кнопка «Выполнить ТОП» станет
неактивной.
40
Впоследствии чего, появится сообщение о прекращении выполнения
выбранной технологической операции нажать кнопку «Остановить ТОП».
Наблюдать сообщение о прекращении выполнения ТОП в протоколе обмена.
В случае успешной остановки ТОП кнопка «Выполнить ТОП» станет
активной.
Кнопка «Остановить ТОП» является активной только в том случае, если
у выбранной технологической операции есть парная ТОП, прерывающая ее
работу. Если такой парной ТОП нет, выполнение выбранной операции
прекращается по истечении заданного времени (автоматически) или с
помощью особой технологической операции «ОСТАНОВ АНПА», которую
необходимо выбрать в меню выбора технологической операции, после чего
нажать кнопку «Выполнить ТОП».
Во время выполнения технологической операции список параметров
остается активным. Для оперативного изменения какого-либо параметра
воспользоваться соответствующими полями ввода или выбора. Наблюдать
сообщения о немедленной отправке обновлённых параметров на борт АНПА
в протоколе обмена.
2.12 Создание и сохранение миссии
Миссией называется последовательность технологических операций с
привязанными
к
ним
структурами
заданных
параметров.
Миссии
программируются оператором и записываются на борт АНПА.
Для создания миссии нужно последовательно выбрать необходимые
технологические операции и задавать их параметры, завершая действие
нажатием одной из кнопок на панели редактирования миссии:
«Добавить шаг» - для добавления ТОП в миссию с флагом ожидания ее
завершения (пункт в списке ТОП миссии имеет бежевый оттенок);
«Добавить в фон» - для добавления ТОП в миссию без флага ожидания ее
завершения, т.е. с запуском ТОП в фоне работы других ТОП (пункт в списке
ТОП миссии имеет голубой оттенок);
41
«Добавить СТОП» - для добавления парной ТОП остановки выбранной
технологической операции (пункт в списке ТОП миссии имеет бежевый
оттенок и отметку «СТОП» перед наименованием).
Для сохранения набранной миссии в файл кликнуть правой клавишей
мыши на поле ввода наименования миссии на панели редактирования миссии,
как показано на рисунке 19, ввести наименование и закрыть окно ввода, нажав
кнопку «ОК». Затем нажать кнопку «Сохранить», расположенную сразу под
полем ввода наименования на панели редактирования миссии.
Рисунок 19 - Создание и сохранение миссии: 1 – поле и окно ввода
наименования миссии
2.13 Загрузка и редактирование миссии
Для загрузки набранной миссии из файла кликнуть левой клавишей мыши
на поле ввода наименования миссии на панели редактирования миссии, как
показано на рисунке 19, и выбрать нужную миссию в списке. ВНИМАНИЕ!
Миссия загрузится немедленно, несохраненная миссия в списке ТОП будет
утеряна!
42
Для редактирования миссии выбирать пункты в списке ТОП миссии и
пользоваться одной из кнопок на панели редактирования миссии:
«Ждать/В фон» - для изменения типа ТОП с без взведенного флага
ожидания завершения на со взведенным флагом, и наоборот (наблюдать
изменение цветовой индикации пункта);
«Изменить» - для сохранения новых параметров, заданных через список
параметров для выбранного пункта (наблюдайте перечисленные в скобках
после наименования ТОП параметры);
«Удалить» - для удаления выбранного пункта.
При выборе пункта в списке ТОП миссии, если выбран не ТОП остановки
(с отметкой «СТОП») и, если у выбранной ТОП имеются параметры, список
параметров заполняется привязанными к выбранному пункту данными. Эти
параметры можно изменять и сохранять, как указано выше.
Если требуется очистить список миссии для того, чтобы начать набор
заново, нажать кнопку «Очистить» на панели редактирования миссии.
2.14 Работа с миссиями
Действия по созданию и редактированию миссий, описанные в пп. 2.12 и
2.13, производятся локально на пульте ПУ АНПА и не имеют воздействия на
бортовое ПО АНПА.
Для того чтобы записать миссию на борт АНПА, нажать кнопку
«Записать миссию в АНПА». Наблюдать серию сообщений в протоколе
обмена, сопровождающую отправку каждого пункта списка ТОП миссии и
связанных с ним данных.
По завершению передачи миссии на борт АНПА программа запрашивает
отчет о статусе записи и выдает результат в протокол приложения. В случае
успешной записи в сообщении будет указано количество записанных пунктов
миссии, а в случае неудачи – требование повторить запись.
На борту АНПА одновременно может храниться только одна миссия. При
каждой команде на запись миссии предыдущая миссия, записанная на борт
АНПА, стирается и заменяется новой.
43
Для того чтобы отдать команду АНПА на выполнение миссии, нужно
нажать кнопку «ЗАПУСК МИССИИ». При этом программа запрашивает
информацию о записанной на борт АНПА миссии. Если на борту не записана
миссия, команда игнорируется, о чем выдается соответствующее сообщение в
протокол приложения.
В случае успешного запуска миссии наблюдать:
- сообщение о запуске миссии в протоколе обмена;
- сообщения о получении данных о статусе миссии в протоколе обмена;
- сообщения о статусе миссии в протоколе приложения и заголовочной
области главного окна программы;
- деактивацию кнопки «ЗАПУСК МИССИИ» и активацию кнопки
«ОСТАНОВКА МИССИИ».
Также на время выполнения миссии блокируются некоторые другие
элементы управления вкладки «ТОП».
Для того чтобы отдать команду АНПА на прекращение выполнения
миссии, нужно нажать кнопку «ОСТАНОВКА МИССИИ». Наблюдать
сообщения о прекращении выполнения миссии в обоих протоколах.
В случае возникновения непредвиденных ошибок или нештатного
поведения АНПА в ходе выполнения миссии воспользоваться кнопкой
аварийной остановки «СТОП АНПА» на левой панели управления главного
окна.
44
Глава 3. Язык Delphi и компоненты для создания ПУ
3.1 Среда разработки
Delphi является одним из более простых языков программирования.
Вначале создания он назывался Object Pascal. Но при создании разработки
Delphi 7.0, в официальных документах Borland получил уже наименование
Delphi для обозначения языка Objeсt Pasсal. [8]
Интерес к программированию вырос в двухтысячных годах. Многие
считают, что это произошло из-за совершенствования и введением в нашу
обыденную жизнь информационно-коммуникационных технологий.
Сейчас набирает популярность ряд ОС Windows среди пользователей.
Люди,
которые
имеют
свой
личный
ПК
и
только
хотят
начать
программировать в скором времени, все они имеют желание разрабатывать
программы в тех системах, которые сейчас более востребованы.
Пару лет назад разработчики со всех уголков мира могли только
воображать о написании персональных программ, действующих в среде
разработки Windows, так как несравненным средством разработки в то время
был Bоrlаnd C++ fоr Windows, очевидно направленный на специалистов,
имеющих основательные навыки и опыт, но никак не для начинающих.
Бешеное обновление вычислительной техники и нужда в результативных
средствах создания ПО вызвали приход систем программирования, которые
были направленны на "шуструю разработку", где выделяются Bоrlаnd Delphi
и Miсrоsоft Visuаl Bаsiс. Основой всех систем “шустрой разработки” (RАD
систем - сфера шустрой разработки приложений) находится технология
зрительного конструирования и прецедентного программирования. В этой
среде разработки система возлагает основную часть не на программиста, а на
себя, сохраняя разработчику работу по планировке диалоговых окон и
функций
отделки
событий,
избавляя
его
от
однотипной
работы.
Продуктивность разработчика при эксплуатации этой системы - невероятная!
[6]
45
Язык Delphi — жестко стандартизованный ОО-язык, где за начало взят
Object Pascal.
На данный момент программистам приемлема следующая разновидность
пакета Delphi - Borland Delphi 7 Studio. Она дает возможность воплощать в
жизнь самые разные платформы: от простых и несложных однооконных
разработок до платформ управления распределенными базами. В число пакета
входят разные вспомогательные программы, ручающиеся за дело с базами
данных, XML-документами, определения других задач, помощью технологии
.NET.
3.2 Система технического зрения
Система технического зрения (СТЗ) — это сенсорное устройство, которое
дает нам возможность заснять изображение высокого качества и его
последующую обработку с изменениями. Уже давно доказано, что система
технического зрения обладает огромной информативной ценностью и на более
чем 85% воздействует на ступень информативности заснятых сведений. [30]
Сегодня системы визуального контроля обширно используются в
различных отраслях науки, индустрии и техники. В частных случаях, они
востребованы для получения информации о местоположении, контроля
принадлежности объектов, распознания различных объектов всяких форм.
Отшлифовка полученных при СТЗ данных осуществляется в порядке от
высшего к низшему. Используются несколько видеопроцессоров для
уменьшения высоты помех изображения.
СТЗ дает максимальную гарантию эффективности производства.
Высококачественная система выполняет рост продуктивности, а также видное
облегчение реализации поставленного вопроса. Разумное применение таких
элементов визуального контроля, как СТЗ, дает возможность сохранить
количество использованных материалов, освещение и время работы. [31]
Работа этого устройства строится на использовании компьютерного
зрения. Компьютерное зрение несравнимо с человеческим. Оно воплощается
в действительность благодаря изучению компонентов изображения, сравнения
46
полученных сведений с ранее заложенными в базе и проведения быстрого и
качественного анализа.
Сама система применяет пару методов обработки информации:
преобразование закодированной информации в понятный для использования
вид, счет пикселей, сегментация, работа по контуру, распознавание с
помощью
символов,
сверка
шаблонов,
превращение
изображения
в
двухцветное черно-белое и др.
Нынешние СТЗ имеют ряд значительных преимуществ. Они имеют
понятный и незамысловатый интерфейс. Чтобы работать с обеспечением СТЗ
достаточно первоначальных знаний работы с оборудованием. Они имеют
хорошие рабочие характеристики. СТЗ имеет множество достоинств, таких
как высокая скорость работы, большая производительность, максимальная
точность измерений, работа в постояннодействующем режиме. [32]
3.3 Вспомогательные компоненты
3.3.1 Async Professional
Async Professional представляет собой набор инструментов для
коммуникации в Embarcadero Delphi, C ++ Builder, и среды ActiveX. Он дает
прямой доступ к последовательным портам, TAPI, и API Microsoft Speech. Он
поддерживает передачу факсов, эмуляцию терминала, VoIP, и др. [12]
Async Professional включает в себя прослойку библиотеки dlWnsock,
которая использует Winsock для сетевых и интернет-коммуникаций.
Async Professional реализует Winsock и состоит из двух компонентов.
TApdWinsockPort является компонентом, который заменяет компонент
TApdComPort и может быть размещен на форме во время разработки.
TApdWinsockPort включает в себя свойство для установки сетевого адреса,
номера порта и режима сокета (режим сервера или режим клиента).
TApdWinsockPort является производным от TApdCustomComPort и,
следовательно, наследует все его свойства и методы. Многие из этих свойств
и методов, не применимы к TApdWinsockPort при работе в режиме Winsock,
47
но сохраняются в компоненте потомка, так что TApdWinsockPort ведет себя
так же, как TApdComPort, когда свойство DeviceLayer не установлено в
dlWinsock. Свойства и методы, которые не относятся к операциям Winsock
(например, бод, бит данных, контроль четности и стоповый бит) просто
игнорируются, когда DeviceLayer установлен в dlWinsock. Некоторые Async
Professional компоненты (например, модем и TAPI компоненты) не
применяются при использовании прослойки dlWinsock. Работа с факсом через
Интернет не поддерживается, так как Интернет-факс использует другой
протокол, нежели faxmodems.
TApdSocket
является
низкоуровневым
компонентом,
который
обеспечивает доступ к большинству стандартных услуг Winsock. Этот
компонент используется внутри Async Professional. Глобальный экземпляр
этого компонента, ApdSocket, создаются для использования слоя Winsock в
коде инициализации модуля AwWnsock. В большинстве случаев вам не нужно,
но вы можете создать свой собственный экземпляр этого класса.
Поддержка Winsock в Async Professional не предназначена в качестве
полнофункциональной реализации Winsock. Скорее всего, он предназначен,
чтобы позволить выполнять основные операции передачи данных по
локальной сети или через Интернет.
3.3.2 TeeChart
TееChаrt VCL/FMX является подборкой элементов ради разработки
диаграмм и чертежей для следующих платформ: .NЕT, ActiveХ, COM, Bоrland
VCL / CLX, комфортабельный и приспособленный к их произведению. Дает
возможность компоновать чертежи и диаграммы разных образов: в настоящее
время, дельные, общенаучных и материальных приложений. К набору
TееChаrt относится достаточно много графических стилей в 2D и в 3D, 33
вероятных и математических функции, с вероятностью роста, прокручиванием
и 3D вращением. [13]
48
3.3.3 ZylGPSReceiver
ZylGPSReceiver - это Delphi компонент, который может обмениваться
данными в GPS-приемниками. Он работает с любым NMEA совместимым
приемником, подключенный к одному из последовательных портов. Его
можно использовать также и с устройствами USB, так как эти устройства, как
правило, перенаправляют все данные с устройства на последовательный COMпорт. С этим компонентом можно разработать надежные GPS-приложения на
Delphi. ZylGPSReceiver возвращает широту, долготу, высоту, скорость,
направление движения и многие другие параметры позиции. Можно
расширить этот класс для легкой обработки NMEA данных из любых
источников, файлы, сокеты, веб-сервисы и так далее. ZylUdpGPSReceiver
является расширением ZylCustomGPSReceiver и берет данные с UDP сокета.
ZylGPSReceiver использует Indy компонент. [14]
Возможные области применения:
Автомобильные GPS-навигаторы;
Навигация в морском флоте;
Поиск базовых точек в геодезии;
Отслеживание различных устройств;
Спорт и отдых;
Синхронизация времени.
49
Глава 4. Экономическая целесообразность и экономическая надежность
разработки ПУ для АНПА
4.1 Экономическая целесообразность разработки ПУ для АНПА
Проект разработка ПУ АНПА с поддержкой принятия решения начал
разрабатываться еще в начале прошлого году, начала интересоваться этой
темой, делать наброски и пока проект находится на стадии разработки. Данная
разработка представляет собой пульт управления автономным необитаемым
подводным аппаратом с пару основных функций:
определение глубины;
поиск предметов на глубине;
определение координат на поверхности воды и под водой;
выполнение заранее составленных миссий и заливка их на борт;
управление двигателями; обход препятствий;
фиксация изображений с телекамер.
Команда проекта состоит минимум из 6 человек, список, требования и
обязанности показаны в таблице 1.
Таблица 1. Состав команды проекта
Должность
Менеджер проекта
Требования
Обязанность
Высшее образование; Разработка ТЗ;
Опыт работы от 2 лет; Организация
процесса
Владение
разработки;
современными
Выявление рисков;
методиками
Управление
управления;
изменениями
Аналитические
требованиях;
навыки.
Мониторинг моральной
в
и рабочей атмосферы;
Разрешение
конфликтных ситуаций;
50
Ведение
проектной
документации и полной
отчетности по проекту.
Дизайнер
Знание RAD Studio Разработки интерфейса;
для
платформы Подготовка и нарезка
Windows;
дизайна
для
Владение
разработчиков.
графическим
редактором.
Системный программист
Высшее образование; Работа
Опыт
в
команде
c
тестировщиками,
программирования от дизайнерами;
5 лет;
программистами
Опыт
по
разработки техническому зрению.
программных
Постоянно
комплексов от 2 лет;
новые технологии.
Знание
английского
языка
на
изучать
уровне
технической
литературы;
Знание
нескольких
языков
программирования.
Опыт работы в RAD
Studio.
Тестировщик
Опыт работы;
Общая
Тестирование ПУ;
техническая Занесение отчетов в баг-
грамотность;
51
трекинговую систему.
Увлечение
приложениями
и
опыт
с
работы
платформами
RAD
Studio и Windows;
Ответственность,
аккуратность;
Знание
английского
языка;
Знание ПК на уровне
опытного
пользователя;
Легкая обучаемость.
Разработчик
системы Большой
технического зрения
опыт Обработка полученных
работы с задачами изображений с аппарата
машинного обучения и их анализ.
и
компьютерного
зрения,
включая
классический CV и
глубокое
обучение;
Хорошее знание С++;
Опыт
работы
с
библиотекой
OpenCV.
Математик – программист Опыт
работы
менее
3
Должен
не Вычислять
лет; коэффициенты
обладать движения
аппарата;
логическим
подборка
мышлением;
нужных формул;
52
для
техническим
уметь
использовать
интеллектом;
алгоритмические,
хорошей памятью;
программные
и
профессионал в своей технологические
сфере.
решения.
Стоит рассмотреть детально сам проект разработки. Проект рассчитан на
длительный срок, в отличие от мелких проектов. По плану весь проект
занимает около полугода, если у нас будет готовое оборудование для
тестирования и опытные работники. На данный момент проект находится на
стадии разработки. На рисунке 20 показана средняя заработная ставка каждого
сотрудника. Были использованы данные о минимальных ставках оплаты
труда.
Рисунок 20 - Стоимость работы сотрудника в час
Диаграмма Ганта представлена на рисунке 21 – 22, данная диаграмма
является одним из методов планирования проектов, которая используется для
иллюстрации графика работ по проекту.
53
Рисунок 21 - Базовый план
Рисунок 22 - Диаграмма Ганта
На диаграмме предусмотрены все этапы и соблюдена очерёдность,
причём каждый этап начинается только после завершения предыдущего. Как
показано, весь процесс разделён на 6 задач, каждая из которых имеет свои
подзадачи, с конкретным сроком выполнения. Вследствие данных были
сформированы затраты на трудовые ресурсы, которые составили 216 000
рублей.
Для того чтобы определить экономическую эффективность необходимо
сравнить таких два показателя как, расходы и доходы. Экономической
эффективностью является отношение величины выручки, к величине всех
расходов.
Ээф = П / З, где
54
(1)
Ээф – экономическая эффективность;
П – прибыль;
З – сумма всех затрат.
Чаще всего экономическую эффективность рассчитывают по данным за
год. Он определяется как разность между годовой прибылью и долей затрат,
на этот год.
Ээф = Эгод – (К * Е), где
(2)
Ээф – экономическая эффективность;
Эгод – годовой экономический эффект от реализации ПУ для АНПА;
К – затраты на реализацию;
Е – коэффициент затрат.
Критерии для принятия решения о создании проекта:
Э > 0; Е > Ен; Т < 1/Ен
Для того чтобы оценить экономическую эффективность необходимо
определить затраты на разработку программного комплекса и прибыль за год.
Разовые затраты на разработку программного комплекса составили 216 000
рублей, такое значение получилось с условием, что не будут затраты на съём
помещения и работа будет написана людьми, которых мы нанимаем. Осталось
посчитать предлагаемый доход за год после сдачи нашего проекта.
Так как ПУ пишутся в основном в закрытом доступе и это ГОС заказы, то
прибыли большой не будет, как с публикаций каких-либо приложений в
Google Play. Прибыль будет только от последующих предложений, которые
начнем получать после успеха нашей разработки. Заглянем в будущее и
возьмем примерную сумму, которую мы можем получить в будущем,
например, 600 000 рублей.
55
Таблица 2. Данные для расчета
К
Затраты
на
216 000
реализацию
Эгод
Прибыль за год
600 000
Ен
Коэффициент
0,14
затрат
Экономическая эффективность:
Ээф = 600 000 - (0,14 * 216 000) ≈ 570 000
Рассчитаем коэффициент экономической эффективности:
Е = Эгод / К
(3)
Е = 600 000 / 216 000 ≈ 2,7
Посчитаем срок окупаемости в годах:
Т = К/Эгод
(4)
Т = 216 000 / 600 000 ≈ 0,36
Следовательно, проект окупиться за год. Все критерии соответствуют
вышеизложенному условию, экономическая эффективность достаточно
высокая.
4.2. Экономическая надежность разработки ПУ для АНПА
Процесс расчета надежности нужен для того, чтобы узнать насколько
надежна представленная разработка. Для вычисления применяются методы,
которые базируются на расчете с использованием справочных материалов о
надежности элементов объекта, объектов, свойствах материалов и др.
Для вычисления надежности последовательных элементов применяется
формула:
Pc(t) = p1(t) * p2(t) * … * pn(t), где
(5)
pi(t)—вероятность безотказной работы i-го элементы системы.
Для вычисления надежности параллельных элементов применяются
формулы:
56
Qc(t) = q1(t) * q2(t) * … * qn(t)
(6)
Pc(t) = 1 – Qc(t)
Qc = qn
Pc = 1 - qn, где
qi(t)—вероятность отказа i-го элементы системы
Qc(t)—вероятность отказа системы целиком.
n—число элементов, соединенных параллельно
Для вычисления надежности отдельного элемента системы используется
формула экспоненциального закона распределения:
P(х) = 1 – F(x) = e –λx, где
(7)
λ—частота отказа. Известна заранее, или берется приблизительное
теоретическое значение.
x—время,
в
течение
которого
предполагается
бесперебойная
эксплуатация.
e—константа, приблизительно равна 2,71828.
Ниже
представлена
схема,
которая
показывает
структуру
разрабатывающегося комплекса с последовательным соединением связанных
элементов. В этом случае надежность системы определяется теоремой
умножения для зависимых событий. Если в этой диаграмме произойдет хоть
один отказ элемента, то случится отказ всей системы. Ниже приведена
структурная схема работы пульта управления, которая показывает связь и
работу ПУ с элементами аппарата.
Рисунок 22. Структурная схема надежности
57
Для расчета частоты отказа можно использовать формулу:
1
λ = , где
(8)
T
T—наработка на отказ. Для некоторых элементов аппаратуры данный
показатель известен.
Значения λ были приняты на основании теоретических сведений и
допусков:
λ (СУ) = 0,12 в год
λ (Движ.рул.косплекс) = 0,05 в год
λ (Гидроак.связи) = 0,12 в год
λ (Навигац.сист.) = 0,08 в год
λ (Поисково-измер. сист.) = 0,17 в год
λ (СТЗ) = 0,14 в год
Вычисляем вероятность безотказной работы в течение полугода (x = 0,5)
каждого отдельного элемента системы:
p СУ (0,5) = e - 0,12*0,5 = 0,941 – P1
p ДРК (0,5) = e - 0,05*0,5 = 0,975 – P2
p Гидракуст.связи (0,5) = e - 0,12*0,5 = 0,94 – P3
p Навигац.сист. (0,5) = e - 0,08*0,5 = 0,96 – P4
p Поиско-измер.сист (0,5) = e - 0,17*0,5 = 0,918– P5
p СТЗ (0,5) = e - 0,14*0,5 = 0,932 – P6
Таким образом, надежность системы для первого полугодия:
P системы = 0,941 * 0,975 * 0,94 * 0,96 * 0,918 * 0,932= 0,708
Вероятность возникновения крупного сбоя:
Q системы = 1 - P системы = 1 - 0,708 = 0,292
58
Таблица 3. Надежность системы
P2
P3
P4
P5
P6
P сист
0,5 год 0,941
0,975
0,94
0,96
0,918
0,932
0,708
1 год
0,886
0,951
0,886
0,923
0,843
0,869
0,496
2 года
0,786
0,904
0,786
0,852
0,711
0,755
0,255
3 года
0,697
0,86
0,697
0,786
0,6
0,657
0,129
P1
После проведенных расчетов можно сделать вывод, что до полугода
система будет работать стабильно и полностью выполнять свои функции. В
будущем уже понадобятся: немного обновлений, а также внедрение новых
технологий во все системы мониторинга и слежения. Это связано с тем, что с
каждым годом появляются обновленные версии устройств, от которых эта
система полностью зависит. Устройства, внедренные при сооружении
аппарата, изнашиваются и требуют замены. При правильной эксплуатации и
обслуживании системы надежность представленной разработки возрастет.
59
ЗАКЛЮЧЕНИЕ
В ходе выполнения дипломной работы была разработана программа,
позволяющая управлять и создавать миссии для необитаемого подводного
аппарата, с возможностью выполнения сложных задач на больших глубинах.
В работе приведены технические характеристики АНПА, рассмотрено
множество оборудования, связанного с подводной техникой и его управления
с пульта.
В работе были приведены необходимые технические характеристики
аппарата. Также были рассмотрены логика поведения при обнаружении
препятствий и металлических предметов.
Разработанная мной программа выполняет следующие задачи:
определение глубины;
поиск предметов на глубине;
определение координат на поверхности воды и под водой;
выполнение заранее составленных миссий и заливка их на борт;
управление двигателями;
обход препятствий;
фиксация изображений с телекамер.
В процессе написания данной системы управления АНПА, я разобрала
принцип работы каждого устройства и его протокол передачи данных.
Изучила поведение этих устройств в воде и составила логику поведения в
штатных и внештатных ситуациях. Дала оценку потребления ресурсов
программы и собрала под нее электронно-вычислительную машину.
60
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТЧОНИКОВ
1.
Агеев М.Д. Необитаемые подводные аппараты военного назначения / М.
Д. Агеев, Л. А. Наумов, Г. Ю. Илларионов. – Владивосток.: Дальнаука,
2005. -162 с.
2.
Свердлин Г. М. Гидроакустические преобразователи и антенны. / Г. М.
Свердлин – СПб.: Судостроение, 1980. - 200 с.
3.
Тюкачев Н.А. Программирование в Delphi для начинающих / К. С. Рыбак,
Е. Е. Михайлова. – СПб.: БХВ-Петербург, 2007. - 659 с.: ил.
4.
Гарнакерьян А. А. Радиолокация морской поверхности / А. А.
Гарнакерьян. – Ростов н./Д.: изд. Ростовского ун-та, 1978. - 144с.
5.
Одиночка (шаблон проектирования) [Электронный ресурс] / Материал из
Википедии
—
свободной
энциклопедии.
–
Режим
доступа:
https://ru.wikipedia.org/wiki/Одиночка_(шаблон_проектирования)
[Дата
обращения: 14.03.2020].
6.
ZylGPSReceiver 3.75 Delphi & C++Builder Component [Электронный
ресурс]. - Режим доступа: http://www.zylsoft.com/gpsrec.htm [Дата
обращения: 15.04.2020].
7.
Л.А. Мартынова, А.И. Машошин. Известия ЮФУ. Технические науки
Построение системы управления автономных необитаемых подводных
аппаратов на базе мультиагентной технологии: Учебное пособие/ Л.А.
Мартынова, А.И. Машошин.-Санкт – Петербург : АО «Концерн «ЦНИИ
«Электроприбор» , 2016. -39с.
8.
Что
такое
язык
Delphi?
[Электронный
доступа:http://bourabai.ru/einf/Delphi/Intro/index.htm
ресурс].
-
Режим
[Дата
обращения:
ГЛУБОКОВОДНЫЙ
АППАРАТ
10.022.2020].
9.
АВТОНОМНЫЙ
ПОДВОДНЫЙ
«ВИТЯЗЬ-Д». [Электронный ресурс]. - Режим доступа: http://bastionkarpenko.ru/underwater-vityaz-d/ ВТС «БАСТИОН» [Дата обращения:
28.05.2020 г.]
61
10.
Морская
робототехника
[Электронный
(Состояние,
ресурс].
проблемы,
пути
Режим
-
развития)
доступа:
https://portnews.ru/upload/basefiles/1813_pkpachtpaplpopgpo.pdf
[Дата
обращения: 17.03.2020 г.]
11. «Витязь-Д» — российский автономный необитаемый подводный аппарат
[Электронный
ресурс].
Режим
-
доступа:
https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%82%D1%8F%D0%B
7%D1%8C-%D0%94[Дата обращения: 10.05.2020 г.]
12. Вальвачев А. Н, Сурков К. А, Сурков Д. А, Четырько Ю. М.
Программирование на языке Delphi: Учебное пособие/ А. Н Вальвачев, К.
А Сурков, Д. А Сурков, Ю. М Четырько. 2005. – 20 с.
13. Культин Н.Б. Основы программирования в Delphi 7: Учебное пособие/
Н.Б Культин. - СПБ: БХВ – Петербург, 2002. – 315 с.
14. Архангельский А. Я. Программирование в Delphi 7: Учебное пособие/ А.
Я Архангельский. -М: ЗАО Издательство БИНОМ,2003. -768 с.
15. Кэнту М. Delphi 7: Для профессионалов: Учебное пособие/ М. Кэнту. –
Санкт-Петербург: Программирование, 2011. – 149 с.
16. Грекул В.И., Управление внедрением информационных систем: Учебник/
В.И Грекул. - Интуит. РУ, БИНОМ. ЛЗ, 2008. - 201 с.
17. Система управления - наиболее сложная часть автономных необитаемых
подводных аппаратов: Учебник/ Мартынова Л. А., Машошин А. И.,
Пашкевич И. В., Соколов А. И.- Морская радиоэлектроника, 2015. №
4(54). 23-32 с.
18. Интегрированная
система
управления
автономного
необитаемого
подводного аппарата: 8-я Всерос. мультиконференция по проблемам
управления/ Мартынова Л. А., Машошин А. И., Пашкевич И. В., Соколов
А. И.- Дивноморское: Т. 3. С., 2015. 191-193 с.
19. Агеев М. Д. Автономные подводные роботы. Системы и технологии:
Учебное пособие/ М. Д. Агеев - М.: Наука, 2005. - 398 c.
62
20. Ржевский Г. А., Скобелев П. О. Как управлять сложными системами?
Мультиагентные технологии для создания интеллектуальных систем
управления предприятиями: Учебное пособие/ Г. А. Ржевский, П. О.
Скобелев. - Самара: Офорт, 2015. - 290 с.
21. Лукомский Ю.А., Чугунов В.С., Системы управления морскими
подвижными объектами: Учебное пособие/ Ю.А. Лукомский., В.С.
Чугунов, -Москва, 1988. – 213 с.
22. Семенюта Н.Ф., История цифровой телекоммуникации - от телеграфа до
Интернета: Учебное пособие/ Н.Ф. Семенюта.- Горячая Линия - Телеком,
2017. – 48 с.
23. Войтов
В.Д.,
Автономные
необитаемые
подводные
аппараты:
Учебник/В.Д. Войтов. – Москва: Моркнига, 2015. – 50 с.
24. Войтов Д. В., История глубоководных погружений: Учебное пособие/
В.Д. Войтов. – Москва: Моркнига, 2019. – 241 с.
25. Соколова Ю. С., Жулева С. Ю., Разработка приложений в среде Delphi. В
2 частях. Часть 2. Компоненты и их использование: Учебное пособие для
вузов/ Ю. С. Соколова, С. Ю. Жулева, - Москва, 2011. – 62 с.
26.
Пестриков В., Маслобоев А., Delphi на примерах: Учебник/ В. Пестриков,
А. Маслобоев. - Санкт – Петербург: BHV, 2005. – 215 с.
27. Джулиан Бакнелл, Фундаментальные алгоритмы и структуры данных в
Delphi: Учебное пособие/ Бакнелл Джулиан. – Санкт – Петербург, 2013. –
34 с.
28.
Клетте Р., Компьютерное зрение. Теория и алгоритмы: Учебник/Р.
Клетте. – Москва: ДМК Пресс, 2019. – 312с.
29.
Агаджанян Г.М., Красницкий А.П., Корнеев В.Н. Информатика и
технология. Система технического зрения: Учебное пособие/ Г.М.
Агаджанян, А.П. Красницкий, В.Н. Корнеев. -ОНТИ Пущинского
научного центра РАН, 1996. – 97 с.
63
30. Сборник докладов 65-ой международной молодежной научно технической конференции молодежь, наука, инновации: Сборник
докладов. – Владивосток: Мор. гос. ун-т, 2017. – 653 с.
31. TStringGrid/ru [Электронный ресурс]. - Режим доступа:
https://wiki.freepascal.org/TStringGrid/ru [Дата обращения: 05.03.2020 г.]
32. Навигационный комплекс автономного подводного робота и особенности
его применения в условиях Арктики. Ю.В.Ваулин, А.В. Инзарцев, А.В.
Каморный, Л.В.Киселев, Ю.В. Матвиенко, Н.И.Рылов, Р.Н. Рылов.
Подводные исследования и робототехника. 2008. № 1(5). -24-31 с.
33. Перспективы применения средств оптической локации для определения
местоположения автономного необитаемого подводного аппарата. С. П.
Ширшнѐв. Навигация и гидрография 2017 №47. Санкт- Петербург:
Государственный
научно-исследовательский
навигационного
гидрографический институт Министерства обороны РФ, 2017. — 105 с.
64
Отзывы:
Авторизуйтесь, чтобы оставить отзыв