Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени Кузнецова Алла Витальевна

Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени
<
Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Кузнецова Алла Витальевна. Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени : Дис. ... канд. техн. наук : 05.13.11 : Ростов н/Д, 2004 217 c. РГБ ОД, 61:04-5/2251

Содержание к диссертации

Введение

1. Обзор инструментальных программных средств 9

1.1. Программные системы моделирования 9

1.2. Ассемблеры и интегрированные среды 13

1.3. SCADA-системы 15

1.4. SCADA-инструменты 20

1.5. CASE-средства 23

1.5.1. Языки технологического программирования контроллеров 26

1.5.2 Программирование на языке FBD 28

1.6 Постановка задачи 33

Выводы по первой главе 34

2. Разработка языка и транслятора инструментальной системы 37

2.1. Спецификации для создания программных модулей 37

2.2. Этапы создания профаммных модулей 40

2.3. Структурные модели как спецификации профаммных модулей 45

2.4. Разработка языка спецификации ...52

2.5. Анализ топологических особенностей структурных схем 64

2.5.1 Поиск и определение тина контуров 66

2.5.2 Формирование управляющей последовательности вычислимых контуров 70

2.5.3 Преобразование невычислимых контуров 77

2.6. Структурная оптимизация схемы 84

2.7. Генерация управляющих профаммных модулей 85

Выводы по второй главе 86

3. Инструментальная система геиераиии программного обеспечения 88

3.1. Архитектура н назначение инструментальной системы 88

3.2. Структура системы 93

3.3. Функциональные элементы структурных схем 104

3.4. Структура программных модулей 111

Выводы по третьей главе 117

4. Экспериментальная проверка генерируемого программного обеспечения 119

4.1. Способы реализации управляющих программных модулей 119

4.2. Генерация программного кода для моделей двигателей и электроприводов 128

4.2.1. Двигатель постоянного тока с независимым возбуждением 129

4.2.2. Двигатель постоянного тока с параллельным возбуждением 137

4.2.3. Двигатель постоянного тока с послед о нательным возбуждением ...141

4.2.4. Электропривод постоянного тока на базе управляемого выпрямителя ...145

4.2.5. Электропривод постоянного тока па базе однофазного двухполупериодного управляемого выпрямителя ,149

4.2.6. Асинхронный электропривод с регуляторами скорости и потока 154

Выводы по четвертой главе 158

Заключение 160

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

Введение к работе

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

Эффективное решение задачи создания УпрПО МПС реального времени возможно при наличии специализированных инструментальных средств классов CASE и SCADA, позволяющих вести диалог на профессиональном языке специалиста в конкретной технической области и имеющих в своем составе средства настройки на используемые вычислительные средства Генерация исполнительного кода в указанных системах осуществляется на базе визуального представления алгоритмов управления средствами графических языков программирования стандарта Международной электротехнической комиссии (МЭК) 1131-3. Применение указанного инструментария затруднено из-за:

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

преимущественной ориентации на верхний (диспетчерский) уровень управления, связанный со сбором, первичной обработкой и передачей данных (SCADА);

функциональной избыточности и, соответственно, высокой стоимости инструментального средства (SCADA);

неочевидных преобразований математического и структурного описания многосвязных и/или многоконтурных САУ и САР в алгоритмическое представление (CASE).

Эти обстоятельства делают актуальной разработку общих принципов непосредственного использования декларативного представления проектируемой системы для автоматической генерации УпрПО. Чрезвычайно удобным формализмом, обладающим высокой изобразительной мощностью являются структурные схемы САУ и САР. Изначально предписанное графическое представление базовых операций и связей позволяет использовать структурные схемы как основу графического языка программирования.

Дополнительным аргументом в пользу актуальности рассматриваемой задачи является широкое использование современных программных средств моделирования, работа которых базируется на структурном представлении технических объектов и их систем управления. Прямое использование результатов моделирования (структуры и параметров САУ/САР) без осуществления алгоритмических преобразований позволит привлечь к разработке УпрПО специалистов в предметной области и снизить высокую зависимость проекта от уровня квалификации программистов.

Цель диссертационной работы заключается в создании программной инструментальной системы, осуществляющей автоматическую генерацию управ-

(>0С национальная!

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

Для реализации поставленной цели необходимо решить следующие задачи:

  1. Разработать и реализовать общие принципы построения инструментальной программной системы, позволяющей создавать УпрПО МПС реального времени.

  2. Обеспечить возможность использования специализированного программного обеспечения на современных микропроцессорах и микроконтроллерах.

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

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

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

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

теории компиляторов;

теории графов;

объектно-ориентированного программирования..

Научная новизна работы. В диссертации получены следующие научные результаты:

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

  2. Предложен новый подход к построению трансляторов для генерации программного кода МПС реального времени.

  3. Разработана методика и алгоритмы преобразования структурных схем в эквивалентные управляющие программы на основе внутреннего графового представления.

  4. Предложен способ автоматического преобразования алгебраических контуров, включающих нелинейности.

  5. Разработаны алгоритмы структурной оптимизации графических программ по правилам преобразования структурных схем в ТАУ.

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

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

существенно повысить эффективность процесса создания управляющего программного обеспечения МПС за счет применения в качестве входного языка язык описания структурных схем САУ и САР;

обеспечить учет требований систем жесткого реального времени к генерируемому ПО уже на стадии создания структурных схем в диалоговом режиме; — осуществлять настройку среды программирования на различные типы вычислительных платформ;

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

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

Реализация работы и внедрение результатов. Диссертационная работа является составной частью комплекса исследований кафедры ЭВМ ЮРГТУ(НПИ) по технологиям программирования промышленных контроллеров в рамках договора о научном сотрудничестве с отделом КОЭСУ ОАО "Всероссийский научно-исследовательский и проектно-конструкторский институт электровозостроения" (ОАО "ВЭлНИИ") от 11.02.1997 г.

Работа выполнена в рамках научного направления "Проблемы автоматизации обработки информации в тренажно-обучающих, информационных и управляющих комплексах".

Исследования проводились по следующим направлениям: создание средств визуального программирования микропроцессорных систем, автоматическая генерация программ для используемых платформ, отладка и тестирование сгенерированного программного обеспечения. Результатом этих исследований стала разработка системы «Electron», ориентированной на создание программного обеспечения систем реального времени на языке структурных схем (ЯСС).

С помощью этой системы было создано УпрПО микропроцессорных контроллеров фирмы Octagon System системы управления электроприводом и электрическими устройствами электровозов ЭП1 и НП1, а в настоящее время используются для создания ПО периферийных контроллеров семейства МК-51 систем управления тяговыми асинхронными двигателями. Инструментальная система используется в учебном процессе в лабораторном практикуме курса "Микропроцессорные системы" для визуального программирования IBM PC-совместимых контроллеров Micro-PC и однокристальных контроллеров семей-стваМК-51.

Апробация работы и публикации. Научные результаты и положения диссертационной работы докладывались и обсуждались на следующих конференциях и семинарах: II, Ш Международных научно-технических конференциях "Новые информационные технологии и системы" (Пенза 1996, 98 гг.). XV Международной научной конференции "Математические методы в технике и технологиях" (Тамбов. 2002 г.. Ростов-нагону 2003 г.). Международной конференции "Искусственные интеллектуальные системы и интеллектуальные САПР" IEEE

AIS'02 CAD (Таганрог, 2002 г.), ежегодных научно-технических конференциях ЮРГТУ(НПИ) (1997-2003 гг.).

По результатам выполненных исследований опубликовано 15 печатных работ, из них 1 статья на депонирование, 1 методические указания к выполнению лабораторных работ, 2 тезиса к докладам. Оформлено две заявки на свидетельство о регистрации программ. Инструментальная система отмечена дипломом всероссийской выставки "Инновационные разработки ЮРГТУ(НПИ)" 2003 г.

Структура диссертации. Диссертация, объемом 210 страниц, состоит из введения. 4-х глав, заключения, списка литературы из 108 наименований и содержит 62 рисунка. 14 таблиц и 4 приложения.

Языки технологического программирования контроллеров

Языки П31-3 используются ведущими фирмами изготовителями программируемых логических контроллеров (ПЛК), имеют длительную историю применения, достаточно распространены и известны пользователям по тем или иным модификациям [63]. Несмотря на то, что во многих случаях такие модификации несущественны, это влечет определенные неудобства при работе с ПЛК различных фирм-изготовителей. Базовые концепции языков ПЛК можно пересчитать на пальцах, количество реализаций этих идей превышает пределы разумного. Функции поддержки и внедрение стандарта на рынке взяла на себя независимая организация PLCOpcn, состоящая из производителей и пользователей программного обеспечения, ориентированного на IEC П31-3. В результате деятельности PLCOpen на рынке ПО появилась серия сертифицированных средств программирования ПЛК - средств, которые достаточно широко и небезуспешно внедряются в промышленности. Это следует воспринимать как очередной прогрессивный шаг в рамках концепции открытых систем [IO3-I08].

Для описания процессов управления обычно используются такие языки, как язык релейно-контактных схем, функциональных блоков, теоретические основы которых взяты из методов теории автоматического управления. Накопленный многими разработчиками опыт был обобщен в виде стандарта МЭК 61131-3 [101], где определены пять языков программирования контроллеров: SFC - последовательных функциональных схем, LD - релейных диаграмм, FBD - функциональных блоковых диаграмм, ST - структурированного текста, IL - инструкций. Стандарт 1131-3 несомненно прогрессивен, поскольку позволяет привести бесчисленное число различных вариантов и интерпретаций языков ПЛК к единому знаменателю. Однако анализ сложившейся ситуации выявляет некоторые аспекты, заставляющие усомниться в универсальности такого ПО. Два из пяти языков стандарта могут предоставит!, разработчику возможность описания проектируемой системы понятными ему графическими средствами. Это: язык релейных диаграмм и язык функциональных блоковых диаграмм. Стандартные элементы этих языков обеспечивают прямое соответствие между графическим представлением алгоритма управления и способом его программной реализации.

Язык релейных диаграмм или релейной логики используется для описания логических выражений различного уровня сложности. Здесь разработчик просто составляет релейные схемы на основе стандартных элементов -"контакт", "катушка", предназначенных для ступенчатого программирования. Присутствие в стандарте языка LD определяется тем, что для релейной техники было разработано огромное количество оборудования и алгоритмов, которые позволяют создавать управляющие системы на отлаженной годами алгоритмической базе [53,63,101].

Язык функциональных блоковых диаграмм тоже дает возможность пользователю построить комплексную вычислительную процедуру, состоящую из различных функциональных блоков, соединяемых проводами в электрическую цепь. Сами функциональные блоки - это программные объекты, реализующие функции управления, в обычных языках программировании аналогом функционального блока является функция [53,63,101].

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

Для реализации сложных алгоритмов оперативного регулирования и управления систем, обладающих одновременно "непрерывными" и "дискретными" свойствами, к каковым относятся СУ ТЭП, наиболее подходящим является язык FBD. Именно он получил широкое распространение во многих системах, предлагаемых на интернетовских страницах [89] и в рекламных проспектах фирм-производителей инструментального ПО для ПЛК. И все же этот язык приближается к традиционному программированию в том смысле, что он требует от разработчика предварительного определения последовательности работы блоков, самостоятельной организации циклов и переходов для генерации алгоритмов последовательною управления в рамках одного программного модуля.

Отдельная программа на языке FBD содержит обязательные элементы: функциональные блоки и переменные. К необязательным элементам относятся: линии связи, комментарии, константы, метки. Язык функциональных блоковых диаграмм описывает функции между входными и выходными переменными в виде соединения элементарных функциональных блоков. Каждый блок представляет собой прямоугольник, внутри которого имеется обозначение функции, выполняемой этим блоком. Это могут быть как базовые (элементарные) функции - арифметические, логические, сравнения, управления программой (рис. 2 а), так и созданные авторами CASE или ее пользователями сложные функции, реализующие алгоритмы П-, ПИ-, ПИД- регулирования, стабилизации, фильтрации сигналов, математические и статистические функции, необходимые для обработки сигналов и выработки управляющих воздействий (рис. 2 б) [100].

Один или несколько функциональных блоков, соединенных между собой линиями связи, образуют программу FBO. Линии связи могут дублироваться или совсем заменяться одноименными переменными. Графический язык описывает закон преобразования переменных программы. Имеются следующие формальные правила языка FBD (приведем лишь основные):

Структурные модели как спецификации профаммных модулей

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

В рамках трансляции исходной графической проіраммьі решаются задачи ее интерпретации и преобразования по внутреннее представление, понятное транслятору и используемое для построения программного модуля на выходном языке. В задачу транслятора входит: - создание списка лексем, соответствующих основным графическим объектам схемы и связям между ними (лексический анализ); - установление на их основе формальной корректности схемы (синтаксический анализ); - контроль типов при соединении блоков (семантический анализ); - сокращение числа блоков схемы (структурная оптимизация); - анализ структуры и определение линейной последовательности вызова функций блоков в исполнительном модуле (топологический анализ); - генерация текста программы на выходном языке. Наиболее эффективным способом внутреннего представления графической программы для решения двух последних задач является ориентированный граф, дополненный информацией о типах вершин, соответствующих основным элементам схемы. I !а графе достаточно легко проводить операции анализа структуры схемы и построения упорядоченной последовательности вызова функций блоков, реализующей вычисление выходных управляющих сигналов. Эти задачи решает специальный компонент транслятора - анализатор топологических особенностей. Еще одной особенностью транслятора ЯСС является наличие фазы структурной оптимизации исходной схемы, подразумевающей объединение ряда блоков схемы в один блок, что ведет к сокращению числа блоков, а значит» к сокращению объема результирующего программного модуля и сокращению времени цикла программы. Объединению подлежат: - пары последовательно соединенных блоков, один из которых является пропорциональным, что позволяет не вносить существенных изменений в код функции результирующего блока; - пары одинаковых параллельно соединенных блоков, передающих выходные сигналы на блок суммирования, что позволяет просто удвоить выходное значение результирующего блока.

Генерация текста программы на выходном языке осуществляется на основе полученной последовательности вызова функций блоков и библиотек функций, реализуемых этими блоками. Генерация возможна после того как выполнен синтаксический и семантический анализ исходного графического образа схемы, произведена структурная оптимизация схемы, осуществлена настройка конфигурации аппаратных средств: контроллера, модулей ввода-вывода, портов, АЦП, ЦАП. В процессе генерации происходит заполнение шаблона программного модуля, реализующего потактное управление на основе механизма прерывания по таймеру или организации цикла занятого ожидания.

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

Для специалистов в области автоматизированного электропривода и электромеханических систем наиболее простым, удобным и наглядным способом описания как самих динамических объектов, так и их систем управления, является их структурное представление [26,32]. В качестве структурных моделей могут выступать функциональные либо структурные схемы и соответствующие им ориентированные графы.

В функциональной схеме система разбивается на блоки, исходя из выполняемых ими функций, т.е. назначения. Функциональные схемы дают обобщенное представление о процессе функционирования объекта и его системы управления. Элементом функциональной схемы называют конструктивно обособленную часть автоматической системы, выполняющую определенные функции, и изображают его в виде отдельного блока [26]. Хотя функциональные схемы предназначены для пояснения принципа действия систем автоматики, они не отражают устройства и конструкции этих систем - это задача конструктивных чертежей и схем. Функциональные схемы не определяют также устройства и физической сущности цепей воздействия. Их основное назначение-дать общее представление о функционировании систем.

Для математического описания система разбивается по другому принципу- по принципу удобства получения математического описания. Для этого производится декомпозиция системы на более простые блоки направленного действия, в результате которого создается математическое описание всей системы в целом как совокупность уравнений или функций отдельных блоков, дополненных уравнениями связи между блоками. В результате такого разбиения составляется структурная схема системі)! [98]. [3 отличие от элемента функциональной схемы блоки структурной схемы не обязательно должен быть конструктивно обособленными устройствами. Это мої-ут быть как отдельные части элементов и объектов регулирования, так и динамические звенья, не связанные непосредственно с функциональными элементами, а лишь характеризующие математические зависимости между отдельными координатами [86].

Функциональные элементы структурных схем

Для уменьшения времени достижения входным сигналом выходной вершины (т.е. повышения эффективности вычисления выходного сигнала) при построении L-графа следует воспользоваться процедурой сортировки вершин ациклического графа (Лемма_1), її этом случае последовательность функций блока, реализующих вычисление состояний блока, эквивалентна механическому объединению локальных систем уравнений блоков в нормальной форме Кош и [41J.

При наличии в структурной схеме S„ узлов суммирования, а значит параллельных цепочек или(и) контуров в графе GD, В L-граф вначале включаются вершины динамических блоков, а затем вершины сумматоров, т.к. выход сумматора явно зависит от его входов и на момент вызова функции все входы должны быть определены.

Лемма_3. Пусть граф Gns включает вершины, соответствующие блокам обоих типов и имеет произвольную структуру. Тогда, применяя метод поиска определяющих блоков, для пего можно построить L-граф.

Доказательство. Пели граф не содержит контуров, то из Лем-мьМ и Леммы_2 следует возможность построения L-графа.

При наличии только динамических контуров, вершины, соответствующие динамическим блокам в произвольном порядке могут быть включены в L-граф. При удалении этих вершин из графа Gus в схеме разрываются все обратные связи [41], а значит, образуются блоки с нулевой подуете пенью захода. Согласно Лемме_1 L-граф может быть построен.

Пели в схеме S„ присутствуют алгебраические контуры, то применяя правила преобразования структурных схем и сворачивая получающиеся элементарные контуры в один нелинейный блок, исходную схему можно преобразовать в схему S,/ (рис. 22). Выбрав в качестве начальной вершины L-графа вершину, соответствующую динамическому блоку обратной связи, можно построить L-граф.

Поиск определяющих блоков. Понятие вычислимости тесно связано с возможностью выбора минимального числа блоков, которые можно поместить в начало управляющей последовательности. Назовем такие блоки определяющими, т.к. но их выходным сигналам можно вычислить (определить) выходные сигналы остальных блоков. Очевидно, что определяющими могут быть лишь инерционные блоки, имеющие внутреннее состояние, начальное значение которого определяется проектировщиком или задастся по умолчанию. В самом простом случае в качестве определяюніих можно было бы выбрать все динамические блоки, а затем упорядочить оставшиеся блоки схемы. Но для эффективности вычисления выходных сигналов необходимо, чтобы число определяющих блоков было минимальным [41]. С ростом количества блоков в схеме и случае пересекающихся и вложенных контуров задача отыскания определяющих блоков далеко не тривиальна.

Алгоритм, реализующий поиск таких вершин, основан на известном из математики методе определяющих неизвестных, используемом при решении алгебраических уравнений и впервые примененном для расчета электронных схем [60]. На его основе могут быть построены эффективные методы для расчета выходных значений структурных схем.

Суть метода сводится к следующему. Пусть имеется система из п алгебраических уравнений с п неизвестными, описывающими циклическую замкнутую систему: Переменная v/ называется определяющей, поскольку по ней легко можно найти все остальные переменные. Таким образом, решение системы из п уравнений, по сути, сводится к решению одного уравнения и выполнению последовательных подстановок. (Единственным ограничением в данном случае является требование существования теоремы о неявной функции в отношении определяющей переменной, или, более конкретно, функция определяющей переменной должна однозначно зависеть от аргумента.

В приложении метода к поиску определяющих блоков структурной схемы задача формулируется следующим образом: найти определяющие блоки, число которых должно быть минимальным. Отыскать определяющие блоки структурной схемы можно на основе исключения вершин соответствующего ей орграфа. Этот процесс соответствует выполнению подстановок при преобразовании системы уравнений (2.18) к виду (2.20). Из графа последовательно исключаются вершимы, соответствующие алгебраическим блокам, а затем вершины, соответствующие динамическим блокам. Первоначальному исключению подвергаются вершины с минимальным числом инцидентных дуг. Дуги удаляемой вершины переходят к смежным вершинам. Пели при удалении очередной вершины образовалась петля, то соответствующий ей блок является определяющим, что соответствует получению искомого уравнения. Определяющие вершины удаляются из схемы вместе с инцидентными им дугами. Процесс продолжается до тех нор, пока в графе не останется ни одной вершины. Пример на рис. 23 демонстрирует отыскание определяющих блоков для схемы с двумя вложенными контурами.

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

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

Двигатель постоянного тока с независимым возбуждением

Наличие дополнительного промежуточного состояния ут у приводит к необходимости дополнительного прохода, связанного с работой блоков в цикле управляющей программы. Добавление этого прохода обусловлено необходимостыо рассчитать промежуточные значения па выходах интегрирующих блоков схемы. Продолжительность выполнения основного никла программы увеличивается на величину т г - ][/»., По при увеличении вычис лений существенно уменьшается погрешность вычислений и, следовательно, ошибка управляющих сигналов системы управления. И если быстродействие целевого микропроцессора велико, а количество блоков схемы позволяет организовать двукратную последовательность вызова их функций, то использование двух проходов более чем оправдано.

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

Демонстрация использования в объектном алгоритме двух и четырех проходов, соответствующих методу Рунге-Кутта 2-го и 4-го порядка с шагом 0.1 представлена в табл. 4.3. Структурная схема (рис. 44), реализующая данный алгоритм, описывается уравнением:

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

По умолчанию в ИС Electron предполагается реализация вычислительного алгоритма на основе однопроходной явной схемы и интегрирования методом трапеции. Квалифицированный пользователь может изменять реализацию алгоритма управления по своему усмотрению.

Для оценки адекватности сгенерированных в системе Electron управляющих программных модулей использовались структурные схемы моделей двигателей и электроприводов из [18], функционирующих в системе Simulink среды MATLAB 6.0. Для каждой модели в Simulink была проведены серия сеансов моделирования с различными параметрами моделирования: время цикла, точность вычислений, значения входных сигналов, величина нагрузки.

В качестве метода интегрирования для работы модели в среде MATLAB был выбран метод решения однородных дифференциальных уравнений ode23t (mod/stiff/Trapezoidal). Изменение модельного времени Т\ш, в MATLAB осуществлялось с переменным тагом At, максимальное значение которого не превышало 0.1с. Выбор величины ТЧ„, производился с учетом завершения переходных процессов в модели. Воздействие нагрузки производилось также по завершению переходных процессов. Величина нагрузки выбиралась с учетом параметров модели. Относительная и абсолютная точность вычислений равнялись 10"1 и auto соответственно. Регистрация модельного времени и выходных параметров модели осуществлялась на каждом шаге At.

Для каждой модели двигателя и ЭГ1 в ИС Electron были сгенерированы программные модули с эквивалентными параметрами блоков и различными функциями, реализующими работу динамических блоков (интегрирование методами Эйлера, трапеции, Симпсона). Запуск программных модулей производился при двух значениях времени цикла Тц = Ы0" сиТц= МО" с. Выходные параметры модели сравнивались с выходными значениями соответствующих программных модулей при однозначных значениях At. Выборка значений параметров программного модуля, соответствующих переменному численного метода в Simulink осуществлялась с помощью программного обеспечения, созданного средствами MicroSofi. Excel.

Характеристиками моделей двигателей и ЭП обычно являются скорость (Speed) и момент (Moment), которые и были выбраны в качестве ера вниваемых выходных величин.

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

Похожие диссертации на Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени