Скоро защита?
Меню Услуги

Использование ГННС технологии для определения пространственного местоположения беспилотного летательного аппарата. Часть 3

или напишите нам прямо сейчас:

Написать в WhatsApp Написать в Telegram

Страницы: 1 2 3 4 5


2.3 Модель определения пространственного места положения беспилотного летательного аппарата

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

Общий вид систем дифференциальных уравнений.

Системой дифференциальных уравнений будем называть совокупность уравнений, связывающих независимую переменную, неизвестные функции и их производные.

Рассмотрим системы уравнений первого порядка специального вида относительно искомых функций

Решением системы  (4.2) называется совокупность функций

которые при подстановке в каждое уравнение системы обращают их в тождество.

Покажем суть метода Эйлера для решения дифференциального уравнения вида:

Представим приближенно

где Δx – достаточно малая величина. Подставим это выражение (22) в уравнение (21). Получаем

Данная формула является рекуррентным выражением, с помощью которого по вычисленному значению  y(x) вычисляется y в следующей точке.

Сформируем рекуррентное соотношение для решения системы дифференциальных уравнений вида:

Рекуррентная схема метода Эйлера для решения такой системы дифференциальных уравнений будет иметь вид:

 

Рассмотрим модификации метода Эйлера.

Неявный метод Эйлера. Если на правой границе интервала использовать точное значение производной от решения (т.е. тангенса угла наклона касательной), то получается неявный метод Эйлера первого порядка точности.

В общем случае нелинейное относительно  уравнение (26) численно решается с помощью одного из методов например, методом Ньютона или его модификациями.

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

Этот метод имеет второй порядок точности.

Неявный метод Эйлера-Коши. Если на правой границе интервала использовать точное значение производной к решению (т.е. тангенса угла наклона касательной), то получается неявный метод Эйлера-Коши (метод трапеций) второго порядка точности.

Метод Эйлера-Коши с итерационной обработкой. Комбинация (26), (27) и (28) дает метод формально второго порядка точности, но более точного в смысле абсолютной величины погрешности приближенного решения, чем исходные методы.

Метод Эйлера-Коши с итерационной обработкой представляет собой реализацию метода простой итерации для решения нелинейного уравнения (28) в неявном методе Эйлера.

Первый улучшенный метод Эйлера.

Данная модификация метода Эйлера имеет второй порядок точности.

Методы Рунге-Кутта. Все рассмотренные выше явные методы являются вариантами методов Рунге-Кутта. Семейство явных методов Рунге-Кутта р-го порядка записывается в виде совокупности формул

Параметры ai, bij, ci подбираются так, чтобы значение  , рассчитанное по соотношению (4.13) совпадало со значением разложения в точке точного решения в ряд Тейлора с погрешностью .

Приведем расчетные схемы моделей всех этапов взлета БЛА, которые будут реализованы в составе описанного в Главе 3 комплекса программ «СТАРТ».

Расчетная схема решения системы уравнений (2) на интервале времени с начальными условиями (9) и шагом интегрирования Δt будет иметь вид:

При реализации этой схемы в правую часть ее первого выражения подставляется соотношения (1), (5) – (8).

Применение схемы (32) начинается подстановкой в её правые части начальных значений (9) и продолжается с рекуррентным (последовательным) использованием присваивания:

До момента времени t = t1.

Математическая модель (11) представляется следующей расчетной схемой:

Реализация этой схемы с шагом интегрирования  производится после подстановки в неё выражений (1), (5) — (8), (12), (13) и использовании начальных условий (14).

В процессе вычисления на интервале времени  значений функций , , ,  используется операция присваивания (33).

Расчетная схема модели (16) записывается как:

Здесь, для её конкретизации используются выражения (5) – (8), (12), (13)

Вычисление по этой схеме на интервале времени  с шагом  начинаются с начальных значений (17), и завершаются в момент времени t выполнения граничного условия (15).

Отметим, что для получения необходимой точности моделирования шаг интегрирования  систем дифференциальных уравнений движения БЛА должен быть достаточно малой величиной порядка сек.

 

Глава 3. РЕАЛИЗАЦИЯ СИСТЕМЫ НА ОСНОВЕ ГНСС ТЕХНОЛОГИИ ДЛЯ ОПРЕДЕЛЕНИЯ ПРОСТРАНСТВЕННОГО МЕСТА ПОЛОЖЕНИЯ БЕСПИЛОТНОГО ЛЕТАТЕЛЬНОГО АППАРАТА

3.1 Реализация системы с использованием ГНСС технологии

Во время разработки системы на основе ГНСС технологии для определения пространственного места положения беспилотного летательного аппарата возникает проблема компоновки вычислительной системы БАС и реализации её в виде программно-аппаратного комплекса. Часто при макетировании разработчик сталкивается с тем что аппаратно система управления реализуется с использованием всего одной системы на кристалле или микроконтроллера что зависит от размеров и энергоустановки БПЛА. Для решения этой задачи можно применить одно из трех наиболее распространенных решений — это КА, ОСРВ или использование виртуальной машины, способной принимать задачи на выполнение с наземной станции в виде, байт-кода, который будет выполнятся на борту. Так же не исключается их комбинированное применение. При физической реализации системы в виде имитационной модели и стендов, изначально были использованы готовые решения, такие как ardupilot и отечественный блок управления МБЛА F4BY. Однако возникли следующие проблемы этих систем:

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

Таким образом, принято решение делать свою систему управления. При разработке данной системы очень важна масштабируемость и универсальность блоков, так как реализация может быть выполнены как в виде системы распределенных блоков, которые сами являются блоками с вычислителями и периферией, так и в виде всей системы реализованной в виде одного микроконтроллера: в котором будет критично развертывать громоздкую систему в виду малого количества памяти и возможно отсутствия необходимых вспомогательных блоков процессора таких как арифметический сопроцессор, MMU и т.д. Полученная модель изображена на рис.9. Итоговая модель системы информационного взаимодействия состоит из блока управления и универсального блока с возможностью реализации как на борту БПЛА так и вне бортовых узлах всей БАС. Блок управления: организует работу периферии, обрабатывает полетное задание, формирует команды для периферии. Блок управления переносим и в случае невозможности его реализации на борту может находится вне борта при использовании радиоканала. Универсальный блок может принимать команды от блока управления и формировать сигналы управления на исполнительные устройства. Так же может служить для приема данных от датчиков и формировать ответы блоку управления о состоянии ЛА по приборам. Модель с использованием ОСРВ широко используется современными разработчиками и является удобным для систем, требующих многозадачность. На сегодняшний день существует большое количество разработанных и развивающихся проектов, как FreeRTOS или QNX и прочих. Каждый процесс в блоке, реализуется в соответствии с его выполняемой функцией в устройстве, для реализации использовались 2 семейства микроконтроллеров ARM-архитектуры: это STM32F427 с архитектурой Cortex-M4F и отечественный микроконтроллер К1921ВЕ4 той же архитектуры, для реализации блока управления. Для универсальных блоков применены контроллеры STM32F103 и отечественный К1986ВЕ, оба микроконтроллера имеют архитектуру Cortex-M3. Из-за схожести архитектур и достаточного материала, и документации отечественных микроконтроллеров, программный проект переносим с отличиями в низкоуровневой части.

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

КП «СТАРТ» разработан с использованием модульного принципа построения прикладного программного обеспечения (ПО). Этот принцип позволяет при модификации ПО изменять (перекодировать) только отдельные компоненты (модули) эксплуатируемых комплексов программ. Модульная структура комплекса программ «СТАРТ» приведена на Рис. 10. Для удобства модификации КП его прикладным модулям присвоены имена, обозначающие их функционалы.

Рис. 10. Модульная структура комплекса программ «СТАРТ»

На данном рисунке (Рис. 10) изображена структура решения КП «СТАРТ». Решение состоит из двух проектов

  • ProjectSTART – главный проект решения, содержащий точку входа программы (класс Program.cs), а также коллекцию форм Active Forms:
    • EnterForm – форма авторизации в КП «СТАРТ». Содержит выпадающий список пользователей, состоящий из ФИО сотрудников, предварительно зарегистрировавшихся в системе. Дата входа – текущая дата авторизации пользователя на момент сессии. Пароль – пароль пользователя системы. Кнопка «Войти», после нажатия которой происходит вход в систему.
    • ReferenceTool – справочная форма, предназначенная для пользователя, который знакомится с системой. Данная форма предоставляет краткий экскурс работы КП «СТАРТ», так же предоставляется видеоматериал взлета беспилотного летательного аппарата на Российском полигоне, для общего представления взлета БЛА.
    • MainForm – главная форма КП «СТАРТ», содержащая основную логику работы программы. Данная форма содержит три рабочие вкладки. Вкладка «Исходные данные», вкладка «Моделирование» и вкладка «Результаты».
  • ProjectSTART.Lib – вспомогательный проект решения, является библиотекой классов. Содержит три категории, такие как «Init», «SourceData», «Modeling».
  • «Init» — папка, содержащая единственный класс статический Init.cs для инициализации пользователей в системе.
  • «SourceData» — папка, содержащая класс SourceData.cs для хранения первоначальной конфигурации БЛА и показаний окружающей среды, а также класс User.cs, описывающий объекты пользователей.
  • «Modeling» — папка, содержащая класс BLAProperty.cs, описывающий объект БЛА, а также класс Modeling.cs – главный класс моделирования, содержащий реализацию этапов взлета БЛА.

3.2 Выбор и интеграция в систему, протокола передачи между компонентами беспилотной авиационной системы

Реализация с использованием программных прерываний является наиболее быстрой и простой. Программу или программно-аппаратный комплекс наиболее удобно описать в виде состояний переключающихся в зависимости от приходящих условий. Это можно заметить особенно при работе с микроконтроллерами или такими системами разработки как arduino. После описания функций в заголовке программы, запускать их в зависимости от изменения состояния системы, которое мы будем проверять в бесконечном цикле while() или loop() (рис 11). В отличии от модели с применением ОСРВ, в программных прерываниях процессы не блокируются менеджером задач, а выполняются по мере удовлетворения тех или иных условий указанных разработчиком. В данном же случае в зависимости от приходящих тиков от таймера микропроцессорной системы и условий приходящих с датчиков или внешних устройств.

Рис. 11. Пример реализации программных прерываний на примере arduino с применением millis().

Очень удобно пользоваться подобным видом описания на примере arduino, но при реализации для описанных выше микроконтроллеров подобной функции не существует, поэтому метод arm_millis() был реализован вручную (рис. 12).

Рис. 12. Метод millis(), реализованный для работы с програмными прерываниями: а) файл millis.h, б) millis.cpp

Для получения данных о таймере мы обращаемся к описанию startup_xxx.s для соответствующего микроконтроллера, этот код выполненный чаще на ассемблере предоставляется разработчиком для своего микроконтроллера. Код содержит описание векторов прерываний (рис. 13), вектор прерывания – это таблица, куда контроллер обращается во время получения событий на неотложное выполнение операций. В данном случае при событии от таймера контроллер обратится к строке Systick_Handler, если он прописан у нас в коде, то микроконтроллер начнет выполнять то, что было прописано под этой записью. Для получения времени таймера мы получаем значение из регистра, где хранится текущий счет таймера и отнимаем у него единицу, полученное значение сохраняем в беззнаковой целочисленной 32-х битной переменной, объявленной заранее.

Рис. 13. Файл startup.s, предоставляется с библиотекой разработки, файл содержит вектора прерываний и описание аппаратных абстракций

Рис. 14. Граф переходов по значению состояний, прописанных в области состояний программного кода блока, как универсального так и управления.

Как видно из рис. 14, условием перехода от одного состояния в другое является результат разности предыдущих тиков таймера с настоящим и их соответствие выделенному времени и логическое результат логического «И» с условием перехода на то или иное состояние в зависимости от команды отданной блоком управления универсальному блоку.

3.3 Алгоритм функционирования

Проверяем на истинность выражение «Исходные данные не были сохранены?»

  • Ложь. Сохранить изменения значений внешних условий. Указать флаг сохранения в значение «истина». Выход из функции.
  • Истина. Проверяем на истинность выражение «После сохранения, изменение характеристик БЛА будет недоступно. Изменение внешних условий будут доступны. Сохранить данные?». Пользователю необходимо произвести ответ, нажав «Да»(истина) либо «Нет»(ложь).
  • Истина. Указать флаг сохранения в значение «истина». Вызов процедуры UnableTextBoxes(). Проинформировать пользователя об успешном сохранении. Выход из функции.
  • Ложь. Выход из функции.

Иллюстрация алгоритма изображена на рис. 15.

Рис. 15. Иллюстрация алгоритма

Алгоритм обработчика кнопки «Сбросить изменения».

Проверяем на истинность выражение «После сброса изменений, все изменения, которые вы совершали исчезнут. Вы уверены, что хотите сбросить изменения?». Пользователю необходимо произвести ответ, нажав «Да»(истина), либо «Нет»(ложь).

  • Истина. Указать флаг сохранения в значение «ложь». Вызов процедуры ЕnableTextBoxes(). Вызов процедуры InitSourceData(Model model). Проинформировать пользователя об успешном сбросе. Выход из функции.
  • Ложь. Выход из функции.

Иллюстрация алгоритма изображена на рис. 16.

Рис. 16. Иллюстрация алгоритма

Алгоритм обработчика кнопки «Моделировать»

Проверяем на истинность выражение «Произведено ли моделирование?»

  • Истина. Уведомление пользователя. Выход из функции.
  • Ложь. Вызов моделирования первого этапа model.Stage1(). Сохранение значений первого этапа. Вызов моделирования второго этапа model.Stage2(). Сохранение значений второго этапа. Вызов моделирования третьего этапа model.Stage3(). Сохранение значений третьего этапа. Проверка зацикленности и неверных данных для расчета:
    • Истина. Уведомление пользователя «Моделирование невозможно, проверьте исходные данные». Выход из функции.
    • Ложь. Выход в основной поток функции.

Цикл для итерационного построения графика представления по полученным координатам взлет БЛА. Проверяем на истинность выражение «Введены ли данные о препятствии?»:

  • Истина. Построение препятствия. Вызов функции IsCrashed():
  • Истина. Уведомление пользователя об неудачном взлете. Рекомендации пользователю о возможных решениях неудачного взлета. Выход из функции.
  • Ложь. Уведомление пользователя об удачном взлете. Выход в основной поток функции.
  • Ложь. Выход в основной поток функции.

Построение дублирующего графика представления.

Иллюстрация алгоритма изображена на рис. 17.

Алгоритм обработчика кнопки «Показать анимацию».

Проверяем на истинность выражение «Моделирование не было произведено?»:

  • Истина. Уведомление пользователю «Сначала произведите моделирование!». Выход из функции.
  • Ложь. Выход в основной поток функции.

Проверяем на истинность выражения «имя кнопки “Остановить анимацию” ?»:

  • Истина. Переименовать кнопку «Показать анимацию». Отключение таймера timer Выход из функции.
  • Ложь. Выход в основной поток функции.

Рис. 17. Иллюстрация алгоритма

Вызов события timer1_Tick.

Рис. 18. Вызов события timer1_Tick

Алгоритм реализации вспомогательной функции «IsCrashed(List<BLAProperty> list)». Получаем в качестве входного параметра коллекцию объектов типа BLAProperty, каждый объект которой хранит информацию о конкретной координате точки. Устраиваем цикл для прохода по коллекции объектов. Проверяем выражение «Значение высоты Y препятствия больше или равно значению высоты Y точки И Значение дальности Х препятствия меньше или равно значению дальности Х точки»:

  • Истина. Возврат значения «истина».
  • Иначе. Проверяем на истинность выражение «Значение высоты Y препятствия больше или равно значению Y точки И значение высоты Y препятствия меньше или равно значению Y следующей точки»:
  • Истина. Нахождение углов сравниваемых треугольников.
  • Проверяем истинность выражения «Угол А меньше угла B»?
  • Истина. Возврат значения «истина».
  • Ложь. Возврат значения «лож».
  • Ложь. Возврат значения «ложь»

Рис. 19. Алгоритм реализации вспомогательной функции

Метод Эйлера интегрирования уравнений движения беспилотного летательного аппарата при взлете с МПУ.

Иллюстрация алгоритмов функций Stage1(), Stage2(), Stage3() изображена на рисунке 20 слева направо.

Рис. 20 Иллюстрация алгоритмов функций Stage1(), Stage2(), Stage3()

3.4 Реализация системы с использованием программных прерываний

Предлагаемый комплекс программ (КП) «СТАРТ» можно использовать для моделирования траектории полета БЛА, в зависимости от условий внешней среды, а также для анализа возможности столкновения, взлетающего БЛА с естественными препятствиями (лес, возвышенности, здания и др.) в его окрестностях. Данный комплекс реализовывался с помощью возможностей так называемого «защищенного кода», каждый метод класса использует конструкцию try-catch для нахождения нежелательных ошибок, которая не позволяет сессии экстренно завершиться. Кроме того, использовались правила именования переменных, свойств, методов с целью наиболее качественной реализации.

Рассмотрим класс главной формы MainForm.cs. В данной классе реализуются обработчики кнопок панели главной формы, вспомогательные процедуры.

Кнопка «Сохранить» (обработчик кнопки SaveChangesBtn_Click()) отвечает за сохранение введенной конфигурации БЛА, а также факторов внешней среды. Обработчик данной кнопки задает вопрос-подтверждение пользователю о сохранении введенных исходных данных. При согласии сохранить конфигурацию обработчик активирует процедуру UnableTextBoxes(), сохраняет введенную конфигурацию в новый экземпляр класса Modeling, и уведомляет пользователя об успешном сохранении.

Кнопка «Сбросить изменения» (обработчик кнопки ResetChangesBtn_Click()) производит сброс установленных значений исходных данных до первоначальных. Обработчик данной кнопки задает вопрос-подтверждение пользователю о сбросе исходных данных до первоначальных. При согласии сбросить конфигурацию обработчик активирует процедуру EnableTextBoxes(), сбрасывает введенную конфигурацию до первоначальной модели класса Modeling, и уведомляет пользователя об успешном сбросе.

Кнопка «Моделировать» (обработчик кнопки Go_Click()) производит математическое моделирование взлета БЛА. Полученные значения иллюстрируются с помощью графика в верхней части экрана, при этом происходит заполнение данных таблицы промежуточных результатов. При попытке произвести моделирование с той же конфигурацией происходит отображения сообщения о том, что моделирование уже произведено, с целью экономия ресурсов системы. Если же моделирование производится с новой конфигурацией, то с помощью экземпляра класса Modeling осуществляется поочередный вызов функций (stage1(), stage2(), stage(3)) поэтапного моделирования взлета беспилотного летательного аппарата.

Кроме того, результирующие значения системы дифференциальных уравнений, записываются поэтапно и отображаются в таблице промежуточных результатов. Одновременно с вычислениями производится оценка решения систем дифференциальных уравнений. Исключаются такие ошибки как большие погрешности измерений, а также перехват вечного цикла, происходящего из-за неверно введенной конфигурации. Далее в обработчике, используя цикл прохождения по элементам коллекции BLAProperty.GetList, происходит пошаговое построение координат точки БЛА на графике представлений. После этого происходит проверка о существовании барьера. Если координаты барьеры были введены, то происходит поэтапное построение барьера в график представлений. Одной из главных задач моделирования является выяснение удачного или неудачного взлета БЛА. Для решения данной задачи происходит вызов функции IsCrashed(), если взлет неуспешен пользователю предлагаются возможные решения данной ситуации, а именно увеличение угла наклона направляющих МПУ или же увеличение дистанции до препятствия путем передвижения мобильной пусковой установки на более дальнюю дистанцию. Если же взлет произведен удачно, обработчик уведомляет об этом пользователя и дублирует все вычисления во вкладку «Результаты» вместе с построением графика.

Кнопка «Показать анимацию» (обработчик кнопки AnimationBtn_Click()) отвечает за начало и остановку анимированного представления результатов математического моделирования взлета БЛА. Обработчик кнопки осуществляет проверку о существовании хотя бы единой модели взлета. Если моделирования произведено не было, обработчик выдаст сообщение об исключительной ситуации. Если же моделирование было произведено обработчик запускает таймер timer1_Tick для анимированной иллюстрации изменения координат точки беспилотного летательного аппарата. Построение будет циклически производится до тех пор, пока пользователь повторно не нажмет кнопку «Показать анимацию» либо не перейдет на другую вкладку. Также необходимо учесть, что в момент произведения анимации кнопка переименовывается и выглядит как «Остановить анимацию».

Кнопка «Стереть» (обработчик кнопки DeleteGraph_Click()) производит очищение графика представления, а также таблицы промежуточных результатов, исходные данные не изменяются.

Кнопка «Сохранить в файл» (обработчик  кнопки SaveToFile()) логически завершает работу сессии, сохраняя в текстовый файл результаты математического моделирования в виде таблицы промежуточных результатов и таблицы исходных данных, а также сохраняет скриншот результирующего графа в ту же папку. С помощью объекта класса StreamWriter создается записывающий поток, для осуществления записи из таблиц вкладки «Результаты» в текстовый файл, расположенный на пути «/«корень проекта»/modeling/result.txt». График сохраняется по пути «/«корень проекта»/modeling/graph.png» в .png формате.

Кнопка «Справка» (обработчик кнопки referenceToolStripMenu_Click()) отображает модальную форму ReferencesTools, предназначение которой указано в структуре комплекса программ «СТАРТ».  Обработчик данной кнопки осуществляет создание нового экземпляра формы ReferencesTools.

Конструктор MainForm(User user, Date date) инициализирует главную форму MainForm. Данный конструктор в качестве параметров принимает объект пользователя, а также дату авторизации пользователя на момент сессии. Значения данных параметров присваиваются логическим элементам формы. В частности, ФИО пользователя высвечивается в верхней части menuBar, и также, включая дату сессии, отображается во вкладке «Результаты». Кроме того, данный конструктор инициализирует начальную конфигурацию свойств результирующего графика.

Событие «Timer1_Tick» происходит каждые 100 мили-секунд после момента первого вызова. Цель данного события итерационно иллюстрировать изменение координат точки беспилотного летательного аппарата на графике представления.

Событие «TabControl_Selected» происходит каждый раз при нажатии любой вкладки («Исходные данные», «Моделирование», «Результаты»). Данное событие не позволяет пользователю переходить на вкладки «Моделирование» и «Результаты» без сохранения исходных данных. Таким образом система фиксирует исходные данные для точного моделирования, исключая случайное изменение данных. Так же без произведения моделирования происходит запрет перехода на вкладку «Результаты».  После выполнения обязательных процедур запрет на ограничение каких-либо вкладок сбрасывается.

Событие «textbox_KeyPressed» происходит каждый раз, когда пользователь пытается ввести данные в текстбоксы вкладки «Исходные данные». Данное событие осуществляет валидацию введенных данных.

Вспомогательная процедура «ClearGraph()» используется для многократного использования с целью очистки графика представления.

Вспомогательная функция «IsCrashed(List<BLAProperty> list)» предназначена для определения фактического столкновения беспилотного летательного аппарата с преградой, расположенной в указанных пользователем координатах. Возвращает истину в случае столкновения БЛА с преградой. Данная функция в качестве параметра принимает список объектов класса BLAProperty, таким образом происходит возможность получать доступ к свойствам объекта через элемент коллекции в цикле. Данная функция возвращает false – признак столкновения в случае, если при все наборе координат БЛА найдется такая координата, у которой значение перемещения по оси Х будет больше чем значение перемещения по оси X преграды и значение высоты по оси Y будет меньше чем значение высоты Y преграды. В то же время необходимо понимать, что существует ситуация, когда координаты точек траектории полета БЛА не удовлетворяют выше сказанному условию. Эта ситуация происходит, если две соседние точки, находятся по разные стороны преграды, а отрезок(траектория полета), заключенный между этими точками проходит сквозь препятствие, что является неудачным взлетом. Решение данной ситуации возможно с помощью сравнения углов. Конкретная реализация представлена в приложении 1 «тексты программного комплекса».

Вспомогательная процедура «InitSourceData(Modeling model)» представляет собой функцию-инициализатор, вызываемую в самом начале работы формы MainForm для заполнения текстовых полей вкладки «Исходные данные».

Вспомогательная процедура «UnableTextBoxes()» является функцией отключения доступности редактирования заданных внутри нее текстбоксов.

Вспомогательная процедура «EnableTextBoxes()» является обратной функцией функции UnableTextBoxes() и предназначена для активирования доступности редактирования заданных внутри нее текстбоксов.

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


Страницы: 1 2 3 4 5

или напишите нам прямо сейчас:

Написать в WhatsApp Написать в Telegram

Комментарии

Оставить комментарий

 

Ваше имя:

Ваш E-mail:

Ваш комментарий

Валера 14 минут назад

добрый день. Необходимо закрыть долги за 2 и 3 курсы. Заранее спасибо.

Иван, помощь с обучением 21 минут назад

Валерий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Fedor 2 часа назад

Здравствуйте, сколько будет стоить данная работа и как заказать?

Иван, помощь с обучением 2 часа назад

Fedor, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Алина 4 часа назад

Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения

Иван, помощь с обучением 4 часа назад

Алина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Алена 7 часов назад

Добрый день! Учусь в синергии, факультет экономики, нужно закрыт 2 семестр, общ получается 7 предметов! 1.Иностранный язык 2.Цифровая экономика 3.Управление проектами 4.Микроэкономика 5.Экономика и финансы организации 6.Статистика 7.Информационно-комуникационные технологии для профессиональной деятельности.

Иван, помощь с обучением 8 часов назад

Алена, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Игорь Петрович 10 часов назад

К утру необходимы материалы для защиты диплома - речь и презентация (слайды). Сам диплом готов, пришлю его Вам по запросу!

Иван, помощь с обучением 10 часов назад

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

Инкогнито 1 день назад

У меня есть скорректированный и согласованный руководителем, план ВКР. Напишите, пожалуйста, порядок оплаты и реквизиты.

Иван, помощь с обучением 1 день назад

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

Илья 1 день назад

Здравствуйте) нужен отчет по практике. Практику прохожу в доме-интернате для престарелых и инвалидов. Все четыре задания объединены одним отчетом о проведенных исследованиях. Каждое задание направлено на выполнение одной из его частей. Помогите!

Иван, помощь с обучением 1 день назад

Илья, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Alina 2 дня назад

Педагогическая практика, 4 семестр, Направление: ППО Во время прохождения практики Вы: получите представления об основных видах профессиональной психолого-педагогической деятельности; разовьёте навыки использования современных методов и технологий организации образовательной работы с детьми младшего школьного возраста; научитесь выстраивать взаимодействие со всеми участниками образовательного процесса.

Иван, помощь с обучением 2 дня назад

Alina, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Влад 3 дня назад

Здравствуйте. Только поступил! Операционная деятельность в логистике. Так же получается 10 - 11 класс заканчивать. То-есть 2 года 11 месяцев. Сколько будет стоить семестр закончить?

Иван, помощь с обучением 3 дня назад

Влад, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Полина 3 дня назад

Требуется выполнить 3 работы по предмету "Психология ФКиС" за 3 курс

Иван, помощь с обучением 3 дня назад

Полина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Инкогнито 4 дня назад

Здравствуйте. Нужно написать диплом в короткие сроки. На тему Анализ финансового состояния предприятия. С материалами для защиты. Сколько будет стоить?

Иван, помощь с обучением 4 дня назад

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

Студент 4 дня назад

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

Иван, помощь с обучением 4 дня назад

Студент, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Олег 5 дня назад

Преддипломная практика и ВКР. Проходила практика на заводе, который занимается производством электроизоляционных материалов и изделий из них. В должности менеджера отдела сбыта, а также занимался продвижением продукции в интернете. Также , эту работу надо связать с темой ВКР "РАЗРАБОТКА СТРАТЕГИИ ПРОЕКТА В СФЕРЕ ИТ".

Иван, помощь с обучением 5 дня назад

Олег, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Анна 5 дня назад

сколько стоит вступительные экзамены русский , математика, информатика и какие условия?

Иван, помощь с обучением 5 дня назад

Анна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Владимир Иванович 5 дня назад

Хочу закрыть все долги до 1 числа также вкр + диплом. Факультет информационных технологий.

Иван, помощь с обучением 5 дня назад

Владимир Иванович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Василий 6 дней назад

сколько будет стоить полностью закрыть сессию .туда входят Информационные технологий (Контрольная работа, 3 лабораторных работ, Экзаменационный тест ), Русский язык и культура речи (практические задания) , Начертательная геометрия ( 3 задачи и атестационный тест ), Тайм менеджмент ( 4 практических задания , итоговый тест)

Иван, помощь с обучением 6 дней назад

Василий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф

Марк неделю назад

Нужно сделать 2 задания и 1 итоговый тест по Иностранный язык 2, 4 практических задания и 1 итоговый тест Исследования рынка, 4 практических задания и 1 итоговый тест Менеджмент, 1 практическое задание Проектная деятельность (практикум) 1, 3 практических задания Проектная деятельность (практикум) 2, 1 итоговый тест Проектная деятельность (практикум) 3, 1 практическое задание и 1 итоговый тест Проектная деятельность 1, 3 практических задания и 1 итоговый тест Проектная деятельность 2, 2 практических заданий и 1 итоговый тест Проектная деятельность 3, 2 практических задания Экономико-правовое сопровождение бизнеса какое время займет и стоимость?

Иван, помощь с обучением неделю назад

Марк, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф