Проект для экстремальной системы, использующей для поиска экстремума по двум координатам градиентный метод. Поверхность поиска и возмущающее воздействие моделируются математически. Проект для SCADA‑системы GeniDAQ

Страницы работы

Содержание работы

Федеральное агентство по образованию

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет технической кибернетики

Кафедра компьютерных систем и программных технологий

ОТЧЕТ

по курсовой работе на тему

"Проект для экстремальной системы, использующей для поиска экстремума по двум координатам градиентный метод. Поверхность поиска и возмущающее воздействие моделируются математически. Проект для SCADA‑системы GeniDAQ"

по проектированию компьютерных систем управления

                                                           Студент гр.5081/11

                                                           Зачтено ________________________

                                                           Преподаватель проф.

Санкт-Петербург

2010


1. Техническое задание

1.1.  Формулировка задания

В SCADA-системе GeniDAQ необходимо разработать проект для экстремальной системы, использующий для поиска экстремума по двум координатам градиентный метод. Поверхность поиска и возмущающее воздействие моделируются математически. Параметры алгоритма, поверхности поиска и возмущения должны задаваться в режиме выполнения. Также необходимо обеспечить оптимизацию параметров алгоритма поиска.

1.2. Требования к обработке ошибок задания исходных данных

Исходные данные должны проходить проверку на корректность их введения. Так, амплитуда помехи, как и её период,  не могут быть отрицательными величинами, коэффициенты K1 и K2 в математической модели должны быть одного знака и т.д. Так же для периода помехи необходимо учитывать её минимально возможную величину исходя из теоремы Котельникова и периода запуска задачи.


2. Основные теоретические положения

Математическое описание решения поставленной задачи.

Для моделирования системы используется математическая модель:

 

Где

– изменяемые координаты

– коэффициенты. Должны быть одного знака для наличия у функции экстремума

– частоты помех для x и y

–  амплитуды помех

 – время

 Функция F образует поверхность, на которой нужно определить экстремум.

Моделируется инерционный объект, поэтому результаты измерений необходимо фиксировать только после завершения переходных процессов. Таким образом, результат предыдущего шага смотрится во время следующего запуска задачи. В результате шаг в направлении градиента совершается через 3 запуска задачи:

1 запуск: Вычисляется  

2 запуск: Вычисляется . Получаем

3 запуск: Вычисляется . Получаем . Находим рабочий шаг в направлении градиента. ;

Здесь - пробные шаги по соответствующим координатам;

- составляющие рабочего шага в направлении градиента.

Данные шаги циклически повторяются в процессе выполнения программы, в результате чего мы можем постоянно отслеживать экстремум функции.

Для адекватного отслеживания уровня помехи, необходимо, чтобы  за время длительности периода помехи успело выполниться как  минимум 2 цикла запуска задачи. Это позволит избежать частотных искажений при расчетах и отображении на графиках (Рис. 1).

Рис. 1. Искажение при высоких частотах помехи (нижний график)

Для четкого отображения помехи на графике, минимальным периодом было взято время равное 7 циклам выполнения задачи.

Для оптимального режима выбора рабочего шага используется максимальный перепад помехи за промежуток времени равный трём периодам запуска задачи (1 цикл). Выявление этого перепада рассчитывается в pre-task скрипте основной задачи. Пробный шаг по обеим координатам осуществляется как увеличенный в k раз перепад помехи по соответствующей координате. Рабочий шаг в направлении градиента по каждой координате определяется как уменьшенный в k раз перепад помехи (Рис. 2). Значение k определяется экспериментально. В данной реализации k = 1.

Рис. 2. Расчет пробного и рабочего шага для оптимального управления. Для координаты Y аналогично.

3. Проектирование проекта

3.1. Используемый инструментарий

В окнах Отображения использовались следующие блоки:

-Textstring. Для отображения текстовой информации в окнах отображения.

-Binarybutton. Кнопки с двумя состояниями. С помощью них задаются различные режимы работы а так же переключение между окнами отображения (стр. 80 в пособии).

-Numericcontrol. Инструмент для ввода числовых значений в окнах отображения. С помощью специальных органов управления имеется возможность инкрементировать или декрементировать величину на указанное в настройках блока значение. Так же в настройках можно задавать ограничение на минимальное и максимальное значение вводимой величины (стр. 89 в пособии).

-Rectangledraw. Инструмент рисования прямоугольников. Используется в окнах отображения для пояснения цветовых индикаторов (стр. 82 в пособии).

-Groupbox. Инструмент для графического объединения нескольких объектов в группу, для придания наглядности интерфейсу.

-Realtimetrendgraph. Блок для вывода графической информации об изменении некоторой величины в реальном времени (стр. 60 в пособии).

-Numeric/stringdisplayitem. Блок для отображения числового значения некоторой величины (стр. 42 в пособии).

В окнах задач использовались следующие блоки:

-Basicscript. Блок для написания сценариев на языке VBA (стр. 94 в пособии).

-Tag. Этот блок предназначен для организации связи органа управления из окна отображения с функциональными блоками редактора задач (стр. 86 в пособии).

Похожие материалы

Информация о работе