Научная статья на тему 'Разработка комплекса программных средств для автоматизации проектирования и программирования систем регулирования газотурбинных электростанций'

Разработка комплекса программных средств для автоматизации проектирования и программирования систем регулирования газотурбинных электростанций Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
228
98
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТИЗАЦИЯ / ГАЗОТУРБИННЫЕ ЭЛЕКТРОСТАНЦИИ / МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ / ИНТЕГРАЦИЯ МОДЕЛЕЙ / ПРОГРАММИРОВАНИЕ САУ / АВТОПОСТРОЕНИЕ / ШАБЛОНЫ ПРОГРАММ

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Шигапов Артур Азгарович

Рассматриваются особенности программной реализации комплекса для моделирования газотурбинных электростанций, разработанного на кафедре МСА. Приводится методика программирования САУ ГТЭС с применением шаблонов и функциональных блоков

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по электротехнике, электронной технике, информационным технологиям , автор научной работы — Шигапов Артур Азгарович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка комплекса программных средств для автоматизации проектирования и программирования систем регулирования газотурбинных электростанций»

УДК 62-551.44

А.А. Шигапов

Пермский государственный технический университет

РАЗРАБОТКА КОМПЛЕКСА ПРОГРАММНЫХ СРЕДСТВ ДЛЯ АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ И ПРОГРАММИРОВАНИЯ СИСТЕМ РЕГУЛИРОВАНИЯ ГАЗОТУРБИННЫХ ЭЛЕКТРОСТАНЦИЙ

Рассматриваются особенности программной реализации комплекса для моделирования газотурбинных электростанций, разработанного на кафедре МСА. Приводится методика программирования САУ ГТЭС с применением шаблонов и функциональных блоков.

На сегодняшний день в условиях постоянно растущего недостатка производимой электрической мощности проблема развития отечественных газотурбинных электростанций (ГТЭС) является особенно актуальной. Предприятия отечественного авиационного двигателе-строения уделяют значительное и возрастающее внимание разработке газотурбинных установок (ГТУ) на основе авиационных двигателей, адаптированных для наземного применения. Однако немаловажную роль в ГТЭС играет САУ генератора и САУ ГТУ, являющиеся звеньями, определяющими качество производимой электроэнергии по напряжению и частоте. Новые, резко отличные от полетных, условия функционирования ГТУ предъявляют повышенные и специфические требования к их САУ, которые, как правило, продолжают строиться на базе авиационных прототипов без учета особенностей и характеристик электрической нагрузки. В результате снижается эффективность принимаемых на этапах проектирования решений, что, в свою очередь, приводит к серьезным препятствиям в обеспечении удовлетворительных эксплуатационных характеристик конечных изделий.

Разработанный на кафедре МСА электротехнического факультета программный комплекс для моделирования газотурбинных электростанций (КМЭС) позволяет решать задачи анализа и синтеза САУ ГТЭС путем математического моделирования.

Особенности программной реализации КМЭС. Уникальность KMЭC заключается в компонентно-ориентированной структуре программы. Под компонентами, в данном случае, понимаются отдельные функционально законченные программы и библиотеки, функционирующие как в автономном режиме, так и в объеме всего программно-моделирующего комплекса. Основным преимуществом данной реализации является возможность интеграции в единый комплекс уже существующих и отлаженных модулей вне зависимости от применяемого при их программировании языка [1].

Перечислим основные программные компоненты KMЭC и их назначение.

• Оболочка KMЭC обеспечивает взаимодействие KMЭC с оператором, хранение результатов экспериментов, а также вызов динамически подключаемых библиотек (DLL библиотек).

• DLL библиотека, интерпретирующая математическую модель ГТУ, является уникальной разработкой ОAО «Aвиадвигатель», позволяющая с достаточной степенью точности моделировать поведение авиационного двигателя в различных режимах работы.

• DLL библиотеки для моделирования статических и динамических процессов в электрических и электромеханических элементах энергосистемы.

• DLL библиотеки для моделирования CAУ генератора и CAУ ГТУ.

В настоящей статье мы не будем заострять внимание на принципах построения оболочки KMЭC и DLL библиотек для моделирования структурных элементов KMЭC (общие сведения данных аспектов изложены в литературе [2]), а перейдем к решению частной задачи программирования CAУ генератора и CAУ ГТУ.

Программы, осуществляющие моделирование регуляторов синхронного генератора и регуляторов ГТУ, выполняются в виде отдельных DLL библиотек, которые содержат описание необходимых типов и функций, осуществляющих расчет координат регулятора за один шаг моделирования (далее - расчетные функции).

Программирование кода для динамических библиотек, описывающих регуляторы, с применением языков программирования высокого уровня (Delphi, C++ Builder и т.д.) осложняется необходимостью соблюдения следующих требований:

• вектор параметров экспортируемых расчетных функций, их типы и порядок описания должны соответствовать требованиям, предъявляемым оболочкой КМЭС;

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

Решение задачи автоматизации программирования САУ. Соблюдение вышеуказанных требований при написании программы САУ «с нуля» является серьезным препятствием перед инженерами-проектировщиками, как правило, обладающими лишь базовыми знаниями в программировании. Нами предлагается подход, построенный по базовым принципам автопостроения применяемых в 8СЛБЛ-системах, значительно «облегчающий» задачу программирования.

В программе «Администратор шаблонов САУ» разработчику САУ достаточно ввести следующие исходные данные (рисунок):

• наименование регулятора;

• перечень дополнительных параметров, их наименование, единицы измерения и начальные значения;

• начальные значения входных и выходных параметров.

7 Администратор шаблонов САУ

Т ип регулятора

[Регулятор генератора

Наименование регулятора

|Пропорциональный с коррекцией по возмущению

Вектор входных параметров | Вектор выходных параметров | Дополнительные параметры ;|

Наименование параметра Единицы измерения Начальное значение

|7 Доп. пар. №1 [Заданное значение напряжения [Вольт [Є300

|7 Доп. пар. №2 [Коэффициент усиления по напряжению [о.е. |з,5

[7 Доп. пар. №3 [коэффициент усиления потоку [о.е. |ол

I” Доп. пар. №4

|” Доп. пар. N*5

|“ Доп. пар. №6

|~ Доп. пар. №7

|“ Доп. пар. №8

Сгенерировать исходные Файлы |

Помощь |

Рис. Внешний вид программы «Администратор шаблонов САУ»

В результате работы программы «Администратор шаблонов САУ» автоматически создаются файлы, представляющие собой шаблоны исходного кода БЬЬ библиотеки САУ для заданного регулятора (регулятор ГТУ, регулятор генератора).

Рассмотрим порядок формирования шаблона кода DLL библиотеки для регулятора генератора.

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

type SauSGType = record

SG_Id: real; //Ток генератора по оси d, амперы

SG_Iq: real; //Ток генератора по оси q, амперы

SG_If: real; //Ток обмотки возбуждения гене-

ратора, амперы

SG_Ud: real; //Напряжение генератора по оси d, вольты

SG_Uq: real; //Напряжение генератора по оси q, вольты

SG_Uf: real; //Напряжение обмотки возбуждения генератора, вольты

SG_w: real; //Текущая частота вращения вала

генератора, об/мин

SG_w0: real; //Частота вращения вала генератора на холостом ходу, об/мин

SG_I: real; //Действующий ток генератора,

амперы

SG_U: real; //Действующее напряжение генера-

тора, амперы

SG_Fi :real; //Угол между векторами токов и

напряжения, рад

SG_P: real; //Активная мощность генератора, Вт

step: real; //Шаг моделирования, с

Par: array [1..20] of real;

//Дополнительные параметры регулятора end;

Выходным воздействием регулятора генератора является напряжение обмотки возбуждения генератора (параметр SGUf).

Параметры SG Id, SG Iq, SG If SG Ud, SG Uq, SG_w, SGwO, SG I, SG_U, SGFi, SG_P являются параметрами состояния генератора.

Под дополнительными параметрами регулятора подразумеваются пользовательские параметры, которые могут использоваться по усмотрению разработчика САУ. Дополнительные параметры могут

быть использованы для хранения значений пользовательских переменных между вызовами расчетных функций, а также выводиться в программе КМЭС в виде графиков, в числовом виде для просмотра и редактирования или импортироваться в Excel.

В качестве входных параметров для инициализации регулятора генератора используется вектор следующего типа: type InParInitSauSGType = record SG_If:real; //Ток обмотки возбуждения генера-

тора на холостом ходу

SG_Ud:real; //Напряжение генератора по оси d на холостом ходу

SG_Uq:real; //Напряжение генератора по оси q на холостом ходу

SG_Uf:real; //Напряжение обмотки возбуждения генератора на холостом ходу

SG_w0:real; //Частота вращения вала генератора на холостом ходу, об/мин end;

Параметры SG If SG Ud, SG Uq, SG Uf SG_w0 характеризуют состояние генератора в установившемся режиме на холостом ходу и могут быть использованы для расчета начальных условий регулятора генератора.

В качестве выходных параметров для инициализации регулятора генератора используется вектор следующего типа: type OutParSauSGType=record

Name: string[3 0]; //Наименование регулятора

ParName: array [1..20] of string[3 0];

//Наименование дополнительных параметров регулятора ParEd: array [1..20] of string[6]; //Единицы

измерения дополнительных параметров регулятора

Par: array [1..20] of real; //Начальные значения дополнительных параметров регулятора end;

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

Помимо объявления базовых типов в шаблоне исходного кода объявляется экспортируемая функция, вызываемая оболочкой КМЭС для моделирования САУ:

Function SauSG(Ip:SauSGType):SauSGType;

begin

//Программа регулятора

end;

exports SauSG;

Используя автоматически сгенерированный шаблон исходного кода, разработчик САУ может полностью сконцентрироваться именно на разработке алгоритмов САУ и освобождается от необходимости объявления необходимых типов, экспортируемых функций, инициализации начальных условий.

Немаловажную роль при программировании регуляторов в языках высокого уровня играет соблюдение требований Международных стандартов программирования логических контроллеров (ПЛК). Соблюдение данных требований позволит с минимальными затратами времени ретранслировать отлаженный при моделировании код DLL библиотеки в код, удовлетворяющий синтаксису ПЛК. Международным стандартом МЭК 6-1131/3В предусмотрено пять языков программирования ПЛК: SFC (Sequential Function Chart), LD (Ladder Diagram), FBD (Function Block Diagram), ST (Structured Text) и IL (Instruction List) [3]. Для решения задач управления технологическими процессами наиболее подходит язык FBD. Язык FBD является наглядным средством для программирования контуров управления и регулирования. Программа на FBD представляет собой схему, состоящую из набора функциональных блоков, связанных между собой через входы и выходы.

В генерируемом программой «Администратор шаблонов САУ» шаблоне содержится модуль, описывающий необходимый набор стандартных функциональных блоков, в том числе входящих в язык FBD. Каждый функциональный блок представляет собой объект соответствующего класса.

В качестве примера рассмотрим описание класса «ПИ-регулятор».

В классе TPIReg объявлены следующие свойства и методы.

Свойство Step. В свойство Step вводится шаг численного решения дифференциальных уравнений, входящих в описание ПИ-регулятора.

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

Свойство ProportionalFactor определяет величину коэффициента пропорционального регулирования ПИ-регулятора.

Свойство IntegrationFactor определяет величину постоянной времени интегрирования ПИ регулятора.

Метод CountStep (offset: real) выполняет расчет регулирующего воздействия регулятора за один шаг. В параметр offset вводится величина отклонения регулирования.

В качестве примера рассмотрим реализацию расчетной функции для пропорционального регулятора контура напряжения возбуждения генератора с коррекцией по возмущению [4]:

Function SauSG (Ip:SauSGType): SauSGType; var

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

OffsetVoltage:real; //Отклонение по напряжению OffsetCurrent:real; //Отклонение по току ReactiveCurrent:real; //Реактивный ток ExitU:real; //Выход канала по напряжению ExitI:real; //Выход канала по току ExitReg:real; //Выход регулятора ApUnit1:TApperiodicUnit; //Апериодическое звено begin

ApUnit1:=TApperiodicUnit.create; //Создание объекта «апериодическое звено»

//Канал напряжения

OffsetVoltage:=Ip.SetVoltage-Ip.SG_U;

//Вычисление отклонения по напряжению

ExitU:=Ip.UFactor* OffsetVoltage; //Выход

канала по напряжению //Канал тока

ReactiveCurrent: =Ip. SG_I*sin (Ip. SG_Fi) ;

//Расчет величины реактивного тока

ExitI:=Ip.IFactor * ReactiveCurrent; //Выход канала по току

//Выход регулятора (регулирующее воздействие) ExitReg:= ExitU+ExitI;

Ip. SG_Uf: =ApUnit1. CountStep (ExitReg, Ip.ApInteg rFactor,Ip.ApPropFactor);

if Ip.SG_Uf<13. 8 then Ip. SG_Uf: =13 . 8;

//Ограничение по минимальному напряжению возбуждения if Ip.SG_Uf >78 then Ip.SG_Uf:=78; //Ограничение по максимальному напряжению возбуждения

ApUnit1.Free;

Result:=Ip; end;

В данном примере для снижения колебательности переходного процесса регулятора применено апериодическое звено ApUnit1, являющееся экземпляром класса TApperiodicUnit.

Библиографический список

1. Кэнту М. Delphi 7: Для профессионалов. - СПб.: Питер, 2004. - 1101 с.

2. Винокур В.М., Кавалеров Б.В., Петроченков А.Б. Программный комплекс для математического моделирования автономных мини-электростанций // Электричество. - 2007. - № 3.

3. International Electrotechnical Commission // Стандарт МЭК 6-1131/3. - 1993.

4. Павлов Г.М., Меркурьев Г.В. Автоматика энергосистем. -СПб., 2001. - 388 с.

Получено 08.07.2009

i Надоели баннеры? Вы всегда можете отключить рекламу.