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

кандидата технических наук
Кузнецова, Алла Витальевна
город
Ростов-на-Дону
год
2004
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Система автоматической генерации программного обеспечения для микропроцессорных систем реального времени»

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

На правах рукописи

Кузнецова Алла Витальевна

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

Специальность 05.13.11 — Математическое и программное обеспечение

вычислительных машин, комплексов и компьютерных сетей.

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Ростов-на-Дону 2004 г.

Работа выполнена на кафедре "Электронные вычислительные машины" государственного образовательного учреждения Южно-Российский государственный технический университет (НПИ)

Научный руководитель Официальные оппоненты:

Ведущая организация

кандидат технических наук, доцент Тушканов Николай Борисович доктор технических наук, профессор Лебедев Борис Константинович (ТГРУ, г. Таганрог) кандидат технических наук, доцент Крицкий Сергей Петрович (РГУ, г. Ростов-на-Дону) Волгоградский государственный технический университет, г. Волгоград

Защита диссертации состоится " 15~" (у^л^л 2004 г. в -/У часов на заседании диссертационного совета К212.208.04'. Южно-Российского регионального центра информатизации высшей школы Ростовского государственного университета по адресу 344090, г. Ростов-на-Дону, пр. Стачки 200/1, корп.2, ЮГИНФО РГУ, аудитория 206. :

С диссертацией можно ознакомиться в Зональной научной библиотеке РГУ (по адресу г. Ростов-на-Дону, ул. Пушкинская, 148).

Автореферат разослан " Р£

марта.

2004г.

Ученый секретарь

диссертационного совета К212.208.04

кандидат физико-математических наук, доцент

Муратова Г. В.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

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

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

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

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

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

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

РОС. НАЦИОНАЛЬНАЯ | БИБЛИОТЕКА I

оэ roffiw^/Q\

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

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

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, III Международных научно-технических конференциях "Новые информационные технологии и системы" (Пенза 1996, 98 гг.). XV Международной научной конференции "Математические методы в технике и технологиях" (Тамбов. 2002 г.. Ростов-на_Дону 2003 г.). Международной конференции "Искусственные интеллектуальные системы и интеллектуальные САПР" IEEE

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

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

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

СОДЕРЖАНИЕ РАБОТЫ

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

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

• Ассемблеры и компиляторы языков высокого уровня;

• Интегрированные среды программирования

• CASE-системы;

• SCADA-системы

Использование традиционных средств программирования контроллеров, к которым можно отнести системы первого и второго типа является трудоемким и дорогостоящим процессом на пути создания сложных, а особенно распределенных систем управления, требует привлечения специалистов в области программирования конкретного микропроцессора знания особенностей его архитектуры и архитектуры контроллера Специализированные средства третьего и четвертого типа позволяют разработчику оперировать высокоуровневым визуальным представлением проектируемой системы для непосредственного получения управляющего программного кода Для этих целей используются графические языки программирования стандарта МЭК 1131-3: язык релейных диаграмм (Ladder Diagram - LD) и язык функциональных блоковых диаграмм (Functional Block Diagram - FBD). Эти языки дают возможность проектировщику построить комплексную вычислительную процедуру, состоящую из различных функциональных элементов, соединяемых проводами в электрическую цепь.

Для реализации сложных алгоритмов оперативного регулирования и управления систем, обладающих одновременно непрерывными и дискретными свойствами, к каковым относятся системы управления электроприводами, наиболее подходящим является язык FBD. Именно он получил широкое распространение

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

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

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

где {В} - множество функциональных блоков схемы.

{Ь} - множество линий, соединяющих входы и выходы блоков. {и} - множество входов схемы, обеспечивающих получение входных сигналов от аппаратуры, анапоги линий входных сигналов. {У} - множество выходов схемы, обеспечивающих выдачу управляющих воздействий в аппаратные средства, аналоги линий выходных сигналов.

Помимо визуальных элементов в состав структурной схемы как агрегирующего объекта входят и невизуальные элементы. К ним относятся элементы, описывающие аппаратные средства, с которыми будет работать будущий исполнительный модуль (контроллеры, модули ввода-вывода, порты, АЦП/ЦАП), а так же вспомогательные объекты-контейнеры (списки и стеки).

Блок в = ({Р},{У},{Х},гяс),

где {Р} - множество параметров блока.

{V) — множество значений на входе блока.

{X} — множество значений, определяющих внутреннее состояние блока.

2- значение на выходе блока.

/—оператор, который отвечает за поведение переменных состояния X.

О- оператор, который формирует выходы блока У Линия связи Ь = {8, А {Р}}, где 8 - объект-источник сигнала (вход, блок или другая линия).

Б - блок-приемник сигнала.

Р - параметры линии (координаты начала, конца, точек поворотов).

Источник входного сигнала и= {Б, 2}, где {Б} — множество блоков-приемников сигнала.

2- значение входного сигнала.

Источник выходного сигнала У= {8, 2}, где 8 - блок-источник сигнала.

2- значение входного сигнала.

Сформулированы правила построения синтаксически верных конструкций структурных схем положены в основу грамматики языка ЯСС:

Правило 1. {и}*0, {У} {В}*0

Правило 2. Уи ЗЬ, иеЦ, ЬеВ, и=>{Ь}

Правило 3. УуЭЬ, уеУ, ЬеВ, Ь=>у

Правило 4.. УЬ 3\и Эу, Ь еВ, м> еВ.уеУ Ь=>М/{у}/{му}

Правило 5. УкЗЬЗу, кеК, ЬеВ, Ьск,уеУ, Ъ =>у /

!\/кЗЬ,Ь,Зу, кеК, Ь,Ь,еВ, Ь<=К Ь,ак,уеУ. Ь=>Ь,,Ь,=>*у (К- контур; - непосредственная передача сигнала; - передача сигнала через блок(и))

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

Грамматика Сжс: ( {^Т}, Р, Б) языка ЯСС может быть определена сле-

дующим образом:

¥Т- множество терминальных символов, содержит четырнадцать элементов: десять десятичных цифр и четыре символа

VN- множество нетерминальных символов содержит девять элементов

{<Ь>,<иВ>,<ВВ>,<ВУ>.<ВЕО>,<ВЕОВ>,<ВЕОУ>,<ВЕОУВ>,<8>};

Р — шестнадцать синтаксических правил, записанных в девять строк;

8 — целевой символ грамматики.

Р: <Ь>

<ив>" <вв>°

<ВУ>"

► //1 <Ь> 1}, если ЗП. 1/ (Б,0,{Р}) такие, что Я/ = | , ф = //. ^шЪ], если 31 (5,0,{Р}) такая, что Б - ш, £> = А/.

► ¿>/'6/, если 31 (8,й,{Р}) такая, что 5 = Ы, О = Ь).

► Ь1у], если 31; ($,0,{Р}) такая, что Б = Ы, й=у).

<ВЕС> К1/В>01 <В£С> <ив>>к, где и] е <ВЕв>.

<ВЕСВ> -> <ВЕО <ВВ>", где Ы е <ВЕО. Ъ/ е <ВЕО.

<ВЕвУ> -КВЕО <ВУ>'' | <ВЕвВ> <ВУ>'> \ <ВЕСУ> <ВУ>°,

где Ы е <ВЕй>, у} е <ВЕв>;

Ы е <ВЕПВ>, у} е <ВЕСВ>;

Ы е <Д£СГ>, у) е <ВЕвУ>.

<ВЕйУА><ВЕБУ> <ВВ>" | <ВЕОУА> <ВВ>и | <ВЕвУА> <ВУ>'\

где Ые<ВЕСГ>, А/ е<ВЕСУ>;

Ы е <ВЕСУА>, Ъ) е <ВЕСУА>;

Ы е<ВЕСУА>, у/ е<ВЕвУА>.

<5> -><ВЕвУ> \ <ВЕвУА> Примечание. Символ трактуется как "не важно какое".

Нетерминальные символы <иВ>, <BB>, <BY> отражают связи "вход-блок", "блок-блок", "блок-выход". Нетерминал <BEG> определяет начало цепочки символов, нетерминалы <BEGB>, <BEGY>, <BEGYA> определяют правила объединения элементов в цепочке. Целевой нетерминальный символ <5> представляет собой цепочку лексем вида:

Таким образом, грамматика порождает цепочку символов на основе информации, заключенной в атрибутах основных объектов исходной схемы. По структуре правил грамматика ЯСС относится к классу контекстно-независимых грамматик.

На основании информации об объектах-источниках и объектах-приемниках, содержащейся в объектах-линиях, первых пяти правил грамматики и множества лексем формируется совокупность цепочек Г вида:

Т: {(Ы Ь]), (ш ЬЛ (Ы у])}, (2)

которая служит основой для построения орграфа и исходными данными для работы основной фазы распознавателя. Правила контекстно-независимой грамматики положены в основу алгоритма распознавателя, который позволяет определить принадлежность цепочки символов языку и, тем самым, проверить ее синтаксическую корректность. Работу распознавателя ЯСС можно разделить на две фазы: вспомогательную и основную. Задачей вспомогательной фазы является создание множества Т (2). Задачей основной фазы является построение цепочки 5 (1), соответствующей целевому символу Gncc- Распознаватель можно классифицировать как двусторонний детерминированный с ограниченной внешней памятью, размер которой линейно зависит от объема исходной программы — числа основных визуальных элементов схемы. Результатом работы распознавателя является заключение о корректности исходной схемы, а в случае ошибок определяется их тип в соответствии с правилами №№ 1-5.

Топологический анализ. Важной особенностью разработанного транслятора является наличие подсистемы топологического анализа, основной

задачей которой является построение вычислительного алгоритма в форме линейной последовательности, соответствующей вызовам функций блоков структурной схемы. Реализация такого подхода к построению транслятора обеспечивает возможность генерации минимального по объему исполнительного кода, а также дает возможность информировать разработчика системы о времени исполнения программных модулей в заданной технической среде на стадии создания структурных схем. Для решения указанной задачи использовалось представление схемы в виде ориентированного графа. Были созданы интеллектуальные алгоритмы (см. рис. 2), осуществляющие поиск контуров схемы, определение их типа, преобразование алгебраических контуров, поиск определяющих блоков и упорядочение на их основе остальных блоков схемы. Часть из этих алгоритмов была реализована на языке Турбо Пролог, т.к. встроенные унификационные процедуры, рекурсия и работа со списками являются его сильными сторонами, позволяющими достаточно просто решать задачи на графах.

Рис. 2 Блок-схема подсистемы топологического анализа:

Графовая модель структурной схемы. Вершинам графа соответствуют основные элементы структурной схемы, а дугам - линии связи: С ({XI, (Ш * {ВЦ I т I {У} , 2,е {Ц

Вершины графа взвешены, т.е. имеют различный тип, а дуги однородны. Типы вершин: д^ - входные, - выходные, хЬ - внутренние. Для внутренних вершин добавляется еще один параметр - тип соответствующего блока: динамический

или инерционный ; алгебраический или безынерционный орграфа в форме списков смежностей:

Построение

с <{н,(т

где Л, е {В}\{1!}; Ь_е{з,}, если Э(ЫЬЬ); у_е к,}, если Э(Му)

осуществляется на первой фазе распознавателя.

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

Алгебраические контуры, содержащие только пропорциональные блоки, могут быть свернуты в один блок согласно правилам преобразования структурных схем ТАУ. При этом образуется новый пропорциональный блок с коэффициентом К1/(1±К1-К2) (рис. 3 а). При наличии точек разветвления, как в прямой, так. и в обратной цепи контура, перед сворачиванием контура проводится операция их автоматического переноса через блок и добавление в схему дополнительных блоков с коэффициентом ПК. (рис.3 б).

Рис. 3 Преобразование контуров, содержащих пропорциональные блоки

Процедура распространяется на контуры с произвольным количеством пропорциональных блоков, точек разветвления и блоков суммирования. В ней поочередно осуществляются операции объединения последовательно расположенных блоков как в цепи прямой, так и обратной связи, переноса точек съемов и в конце - операция сворачивания. Для алгебраических контуров, содержащих блоки с произвольными функциями, предлагается следующее решение. Пусть контур, содержащий блоки с функциями/и^ (рис.4), описывается уравнениями:.

У.

Рис. 4 Алгебраический контур

(5)

(6)

(7)

Тогда, если 3<р такая, что <р =/"', то

^ =Г'(у) = ф)

Подставив это значение в первое уравнение системы (3), получим: <p(y) = u-yx = u-g(y) и = <р(у) + g(y) = ф)

Если Зв такая, что в = у/'1., то

у-М

Функция в , полученная в результате преобразований (f 'l+g) сразу по входному сигналу и выдаст значение у. Это позволит заменить три блока (f, g, sum) одним и избавиться от проблемы невычислимости. Для однозначности обратной функции (р необходимо и достаточно чтобы/была строго монотонной. Необходимым и достаточным условием существования функции в является монотонность у/.

Программная реализация преобразований (3)-(7) выполнена для блоков, реализующих монотонные кусочно-линейные функции (КЛФ) / и g, что позволяет получить аналитическое выражение для в, реализуемое в виде численного алгоритма. При сложении f'fy) с g(y) абсциссы их узлов, в общем случае, могут и не совпадать. Тогда функции будут состоять из количества линей-

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

Рис. 5 Преобразование КЛФ блоков алгебраического контура

Непрерывные функции блоков алгебраического контура можно аппроксимировать линейными участками, а затем выполнить преобразования (3)-(7) при условии сохранения монотонностии Ц/.

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

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

> у. / >2 у у> у4 \

У

'уб 6

у

Уг=Ш)

Л=Л(Л) Л = /ЛУ>)

У1=/гШУ„У>))--Л-/>(Л) У> = <?ЛУ,)

й(Л.Л)

= 9г(уМуг)) = Ч>'АУъ,Уг) 9>Шуг)) = <Р'%у2)

1/2 3 4\5 4—м—к>—ю—м

алгоритм завершен список опр.&юков: {2}

^»■/¡(Л./.О^йСЛ.Л)

>, = Л(Л) 5

У. = МУ>) Л=/>(Л) Рис. 6 Поиск определяющих блоков

Результатом топологического анализа является построение целевого графа Ь=({Х},{2}), соответствующего искомой - упорядоченной последовательности вершин графа О, согласно которому будут вызываться функции блоков в управляющем алгоритме. В работе сформулированы свойства Z-графа и способы его построения, основанные на теореме о вычислимости структурных схем произвольной топологии.

Теорема. Для любого графа С=({Х}, {2}), соответствующего структурной схеме рассматриваемых классов и имеющего входных, выходных и внутренних вершин, можно построить эквивалентную линейную последовательную структуру - /,-граф, соответствующую модели вычислительного процесса, реализуемого этой структурной схемой, и включающую в себя Л/у+Л/у+Л^ вершин трех типов, соответствующих:

• блокам чтения входных сигналов^); блокам выдачи выходных сигналов^);

• блокам функциональных преобразований^).

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

Л е м м а _ 1 . Для любого графа вершинам которого соответствуют только безынерционные блоки структурной схемы, можно построить Z-граф.

Лемма 2. Для любого графа Сд, вершинам которого соответствуют динамические инерционные блоки структурной схемы 5И, можно построить /,-граф.

Л е м м а _ 3 . Пусть граф включает вершины, соответствующие блокам

обоих типов и имеет произвольную структуру. Тогда, применяя метод поиска определяющих блоков, для него можно построить £-граф.

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

г Структурные преобразования блоков

Генерация результирующего модуля. Генерацию кода для программы на ЯСС можно считать функцией, определенной на:

- Ь-графе;

- информации, содержащейся в объектном представлении блоков;

- множестве функций каждого блока;

- информации о составе, распределении и режимах функционирования аппаратных средств;

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

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

Третья глава посвящена описанию структуры инструментальной системы и программной реализации ее компонентов (рис.8). Каждый компонент оформлен в виде встроенного приложения Windows с развитым графическим интерфейсом, ориентированным на пользователя непрофессионала в области программирования. Основными механизмами создания графических программ являются механизм "drag-and-drop" и объектно-ориентированный диалог.

Рис. 8. Структура инструментальной системы Electron

Определен состав и проведена классификация базовых блоков. Определены механизмы создания пользовательских блоков. На основе экспериментальных данных, полученных при выполнении функций базовых блоков на различных процессорах, реализован механизм определения фактического времени работы основного цикла программного модуля Тф согласно формулы:

где Т|, - время работы i-ro функционального блока; T^j, Т^ - время считывания/записи входного j-ro сигнала из(в) порта или АЦП; Т4 - время передачи к-го сигнала с выхода объекта-источника (вход схемы или блок) на вход объекта-приемника (выход схемы или блок); Л';, Лд ,\'3 - число блоков, входов, выходов схемы; Л^ - сумма входов всех блоков и выходов схемы. Время работы для составного блока рассчитывается как:

»•I

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

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

прерывание от таймера (возобновляет исполнение программы)

СОПЛ '•рагаел констант'/

лги« ТВ1оск ¡1 «гис(Т\Ъо<]((..) «гис|ТУ>Ко<1? . > /'описание типов*/

тип ГипсК-..) (... > тип ?ипс2(...) (.....} тип ГипсМ<...)(.....1 /*ф> НК11НН блок»"/

л ок1 ЬсЬгтток!) /•РАБОТА СХЕМЫ*/

ТВ1ос1 В1ос1 ((.. }. { ТЛТкх! \Ъой Ц... ТУ>Ых1 УчЫ (( ..М .....{-и .)...../•ленные*/ >.....

/•чтение шачекнй ю п ортов н АЦП ао УЫхЦ||в/

/•передача значений на •ходы б.хкоа-приемнико»*/

/•■ыто* фукшнй б.тжо* и передача */ /*шаченн1 объектам-приемннках */

/•■«дача ткачекий ш \Ч1кх1(|| в порты и ЦАП*/ )

\-oid Типс1п1егпф1 (\ок1) (шеггир! .

/* остано« тайчера*/

/*псрешру«а регистров таймера*/

/* шпек таймера*/

&с!*те10: /•вию* ф>нкшш схемы*/

тшп (*ок1)

/♦перепрограммирование таймера*/

/•чате* таймере*/

/'бесконечный цикл*/

Рис. 9 Функционирование Рис. 10 Структура управляющего

управляющего модуля модуля ■

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

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

Приложения. В Приложении 1 приведены алгоритмы процедур топологического анализа и структурных преобразований. В Приложении 2 представлены результаты работы программных модулей, сгенерированных для экспериментальных моделей из главы 4. В Приложении 3 приведены листинги указанных программных модулей. В Приложении 4 представлены акты внедрения инструментальной системы и методики автоматического получения ПО в проектную организацию и учебный процесс.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ, ВЫНОСИМЫЕ НА ЗАЩИТУ

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

2. Разработаны языковые средства описания структурных схем и способы распознавания их синтаксической и семантической корректности.

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

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

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

ПЕЧАТНЫЕ РАБОТЫ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Тушканов Н.Б., Кузнецова А.В., Евсеев Д.А. Проблемы построения адаптивного СПО мультипроцессорных систем реального времени // Новые информационные технологии и системы: Тез. к докл. междун.. науч.-техн. конф. Пенза -Пенза: ПГТУ, 1994. - С. 92-93.

2. Тушканов Н.Б., Кузнецова А.В. Интерактивная компилирующая система для синтеза программно-аппаратных средств многопроцессорных систем управления // Новые информационные технологии и системы: Материалы II междун. науч.-техн. конф. Пенза - Пенза: ПГТУ, 1996. - 4.2. - С. 29-30.

3. Кузнецова А.В. Интерактивная компилирующая система для разработки графических и программных модулей управления тяговым электроприводом // Сб. статей и кратких науч.-сообщ. по матер, науч.-техн.конф. студентов и аспирантов НГТУ. - Новочекасск: НГТУ, 1997. - С. 198-199.

4. Тушканов Н.Б.. Кузнецова А.В., Крамсков С.А. Принципы организации системы автоматизированной разработки программно-технических средств систем управления современных электровозов // Юбилейный сб. науч.тр. проф.-преп. состава НГТУ. - Новочеркасск: НГТУ, 1997. - С. 203-205.

5. Тушканов Н.Б., Кузнецова А.В., Гришин Д.В., Куров B.C. Проблемы автоматизации процедур конструирования алгоритмического и программного обеспечения систем управления жесткого реального времени // Новые информационные технологии и системы: Материалы Шмеждународн. науч.-техн. конф. -Пенза: ПГТУ, 1998 - С. 126-127.

6. Тушканов Н.Б., Кузнецова А.В., Куров B.C. Автоматизация процедур структурной оптимизации и программной реализации САУ: Структурно-компилятивный, объектно-ориентированный подход //Цеп. 17.08.98, №2586 — В98. -Аннот. в БУ ВИНИТИ «Цеп. науч. работы». - 1998. - №10. - № б/о 173,20 с.

7. Кузнецова А.В., Криковцев И.В. Алгоритмы распознавания структурных особенностей многоконтурных систем управления // Научно-техническое творчество молодых- возрождению университета: Тез. докл. науч. - техн. конф. студ. и аспир. ЮРГТУ. - Новочеркасск: ЮРГТУ, 1999. - С. 125-126.

8. Тушканов Н.Б., Кузнецова А.В. Организация реконфигурируемых и адаптивных систем управления на основе SCADA-системы реального времени // Информационные технологии и управление: Юбил. сб. науч. тр. фак-та информационных технологий и управления НГТУ. - Новочеркасск: "Изв. вузов. Электромеханика", 2001. - С. 262-268.

9. Тушканов Н.Б., Кузнецова А.В. Программный комплекс для моделирования и реализации самоорганизующихся систем управления // Математические методы в технике и технологиях ММТТ-15. Сб. тр. XV междунар. науч. конф. - Тамбов: Тамб. ГТУ, 2002. - Т.5, секи. 5,6. - С. 62-66.

Ю.Кузнецова А.В. Система визуального программирования промышленных микроконтроллеров // Микропроцессорные, аналоговые и цифровые системы: Проектирование и схемотехника, теория и вопросы применения: Матер. II междунар. науч.- практ. конф. ЮРГТУ - Новочеркасск: "Темп", 2002. - Ч. 1.- С.31-32. И. Тушканов Н.Б., Кузнецова А.В., Ложков Э.В., Гриднева О.С. Программная среда для имитации и реализации гибридных самоорганизующихся интеллектуальных САУ // Искусственные интеллектуальные системы и интеллектуальные САПР: IEEE AIS'02 CAD - 2002: Тр. междунар. науч.- техн. конф. г. Таганрог, ТРТУ - М.: Физматлит, 2002. - С. 180-186.

12. Кузнецова А.В., Курносое А.С. Визуальное программирование одноплатных контроллеров семейства MSC-51 // Материалы 52-й науч.-техн. конф. студ. и асп. ЮРГТУ(НПИ) - Новочеркасск: ЮРГТУ, 2003. - С. 187-188.

13. Кузнецова А.В., Тушканов Н.Б., Ковалев О.Ф. Автоматическая генерация программного обеспечения для микропроцессорных систем реального времени. // Изв. вузов. Сев.-Кавк. регион. Техн. науки. - Спецвыпуск "Математическое моделирование и компьютерные технологии", 2003.- С. 38-41.

14. Ковалев О.Ф., Тушканов Н.Б., Кузнецова А.В. Способ свертки алгебраических контуров при автоматической генерации программного обеспечения // "Математические методы в технике и технологиях" ММТТ-16: Сб. тр. XXVI междунар. науч. конф.- СПб.: СПбГТИ, 2003. -Т. 2 - С.152-154.

15. Кузнецова А.В. Программирование контроллеров. Метод, указ. к лабораторным работам по курсу "Микропроцессорные системы" 4.2. - Новочеркасск: ЮРГТУ(НПИ),2003.-24с.

Кузнецова Алла Витальевна

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

05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей.

Подписано в печать_2003г. Формат 60х 84 1/16 Бумага офсетная.

Плоская печать (ротапринт). Усл. п.л. 1,0. Тираж 100 экз. Заказ_

Типография Южно-Российского государственного технического университета (НПИ) 346428, г. Новочеркасск, ГСП-1, ул. Просвещения, 132.

Оглавление автор диссертации — кандидата технических наук Кузнецова, Алла Витальевна

Введение.

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

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

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

1.3. БСЛОЛ-системы.

1.4. ЯСАОЛ-инструменты.

1.5. СА5Е-средства.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возрастающая сложность самих объектов управления и задач, для решения которых они создаются, требует от микропроцессорных систем высоких показателей качества регулирования (скорости, положения, .), надежности, гибкости в перенастройке алгоритмов управления. Это в свою очередь приводит к создаиию новых алгоритмов управления [50,89]. Как правило, эти алгоритмы являются нелинейными, требуют высокой вычислительной мощности процессоров и значительного времени па разработку, тестирование и отладку управляющего программного обеспечения (УпрПО). Особую актуальность эта задача приобретает при создании систем управления тяговым электроприводом (ТЭП), характеризующихся высокой сложностью алгоритмов управления: большим количеством режимов работы, нелинейным и нестационарным характером объекта управления, преимущественным использованием адаптивного управления.

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

Разработка УпрПО может вестись разными средствами. Каждый производитель аппаратуры, как правило, сопровождает свою продукцию набором средств отладки и профаммировапия на своем Ассемблере [88]. Программы, написанные высококвалифицированным профаммистом для конкретной системы па этом языке, будут самыми эффективными и компактными, но это далеко не самый лучший выход для реализации сложных проектов. В последнее время все большую популярность завоевывают интегрированные среды разработки (Integrate Development Environment - IDE), ориентированные на поддержку как символических языков программирования для конкретного процессора, так и языков высокого уровня типа С, Pascal, Basic [67]. И все же время, затрачиваемое на разработку, отладку, интеграцию с подсистемами верхнего уровня может свести на нет преимущества эффективности и сделать такое ПО "золотым" в смысле вложенных в него средств. А самое главное - из процесса создания системы управления практически исключаются его авторы, не имеющие серьезной подготовки в области профаммирова-ния, вынужденные наблюдать за неясными "манипуляциями" программистов, в творении которых могут разобраться только сами авторы. Эта проблема появляется при создании микропроцессорных систем управления, изменении конфигурации их аппаратных средств, при модификации алгоритмов управления существующих систем. Так, в области проектирования ТЭП в ОАО "Всероссийский научно-исследовательский и проектно-конструкторский институт электровозостроения" (ВЭлНИИ) г. Иовочеркасска накоплен многолетний ценный опыт разработки схемных и алгоритмических решений. Хорошо зарекомендовавшие себя аппаратные СЛУ, характеризующиеся высокой сложностью и разнообразием процедур управления, пионерским характером исполнительных устройств и преобразующей аппаратуры требуют сохранения и переноса на новую технологическую платформу - микропроцессоров и микроконтроллеров [39].

Выходом в сложившейся ситуации может служить использование средств автоматической генерации программного обеспечения на основе визуального представления алгоритмов управления, реализуемых проектируемыми САУ и САР. При использовании автоматической генерации программ повышается качество ПО [93,95], сокращаются сроки его разработки и отладки. Генераторы кода позволяют получать программы, семантически эквивалентные высокоуровневым визуальным спецификациям1, не внося при этом ошибок (не считая логических ошибок самой спецификации), чего практически невозможно добиться при ручном кодировании. По оценкам специалистов [30] использование средств автоматической генерации УпрПО позволяет сократить сроки разработки различных программных систем в 4-5 раз. Генераторы кода берут на себя основную часть рутинной работы по преобразованию попятных для восприятия специалистом графических схем и диаграмм в низкоуровневое профаммиое представление на целевых языках конкретных контроллеров. Причем доля программного кода, непосредственно реализующего алгоритм управления, по разным оценкам составляет от 15 до 30% [88] от общего размера программных систем. Остальная часть приходится на взаимодействие с аппаратурой, обращение к сервису операционной системы, сетевые взаимодействия, контроль входных данных и т.п. В таких условиях использование систем автоматической генерации рабочих программных модулей представляется весьма актуальным решением.

Спецификация - один in основных доку vicmjok технико-конструкторской документации на ичде-лис (в т.ч. на программу), содержащий обычно и форме таблицы перечень и параметры его составных частей |70).

Конкретные решения по генерации кола но высокоуровневым графическим моделям систем управления предлагаются в рамках SCADA2- и CASK средств, а подобное программирование получило название визуального (ipa-фического, компонентного, функционально-блочного) [50,56,67]. Эти средства отличаются областями применения. SCADA ориентированы на разработку УпрПО систем, строящихся па принципах диспетчерского управления в промышленности, энергетике, на транспорте, в космической и военной областях, в различных государственных структурах. На нижнем уровне управления (уровне контроллеров) в SCADA предусмотрены, как правило, формализованные средства сбора первичной информации и ее обработка, либо управление относительно несложными машинами и аппаратами технологических процессов [1]. На последующих уровнях - визуализация процессов и регистрация информации, поступающая с нижних уровней, коммуникация с внешним миром.

Использование SCADA для реализации встраиваемого УпрПО в системах реального времени обладает двумя важными недостатками. Во-первых, достаточно высокой стоимостью, т.к. они поддерживают весь цикл работ по автоматизации сложных иерархических объектов, каковыми являются вышеуказанные системы. И даже появление micro-SCADA, имеющих узкую отраслевую ориентацию, не окупит затрат па их приобретение (тысячи $). Во-вторых, даже если SCADA имеет средства развитые средства низкоуровневого программирования, для обычного проектировщика ЭМС среда разработки, ориентированная на технологов, может оказаться не столь простой в изучении.

CASE-средства гораздо лучше, чем SCADA, ориентированны на разработку ПО как для локальных, так и для распределенных систем управления электромеханическими объектами. В качестве аппаратной платформы могут Supervisory' Control And Data Acquisition - Диспс I'icpcKoc управление и сбор данных

3 Computer Aided Software F.n»enccrin» - Машинпо-ориепгиропапная техмолшия создания программ мою обеспечения выступать контроллеры, работающие как под управлением операционных систем (OS-9, VxWorks, DOS, Windows NT, QNX и т.д.), так и без них. Объектами автоматизации могут выступать как отдельные подсистемы АСУ ТГ1, не связанные с процессами визуализации данных и характеризующиеся высокой сложностью алгоритмов управления, так и отдельные ЭМС, функционирующие в условиях жесткого реального времени (время выработки управляющих воздействий не превышает 10 мс).

Следует отметить удобства процедуры разработки УпрПО как в CASE-, так и в SCADA-средах: стандартный графический интерфейс (GUI - Graphic User Interface), наличие средств отладки и загрузки программных модулей, средств визуального отображения результатов работы и их анализа, средств документирования программных модулей.

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

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

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

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

В главе рассмотрены способы реализации управляющего программного обеспечения на основе классических численных методов и их объектной интерпретации. Проведено сравнение результатов, полученных при использовании указанных способов, которое подтверждает правильность предлагаемого объектного решения. Проведено сравнение результатов работы моделей двигателей и электроприводов в среде MATLAB и эквивалентных им программных модулей системы Electron, реализующих различные методы интегрирования в функциях динамических блоков. Для каждой модели приведены ее внутреннее символьное и графовое представление, которое формируется транслятором ЯСС и служит основой для построения эквивалентных программных модулей. В результате проведенной работы можно сделать следующие выводы:

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

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

3. Погрешность расчета выходных значений программных модулей, cí eнерированных системой Ыес^оп относительно результатов моделирования двигателей и электроприводов в среде ЯнтшИпк (МАТЬАВ), не превышает 8 % на участках с максимальной крутизной, соответствующих переходным процессам. В установившихся режимах ошибка практически равна нулю.

ЗАКЛЮЧЕНИЕ

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

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

Реализация среды программирования осуществлена в дружелюбном Win-dows-интерфейсе, позволяющем решать задачи:

- ввода и редактирования исходных структурных и функциональных схем САУ и САР;

- настройки опций системы и настройки на конкретный тин контроллера;

- задания тина, характеристик и параметров генерируемого программного модуля (или используемых по умолчанию);

- организации библиотек пользовательских блоков, схем и проектов;

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

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

2. Локализация аппаратно зависимых частей генерируемого УпрПО и настройка системы па определенный тип контроллера и (при необходимости) модули ввода-вывода осуществляется па основе спроектированной структуры классов аппаратных средств, объекты которых являются певизуальными компонентами структурной схемы. Система, переданная Заказчику, ориентирована на использование контроллеров фирмы Octagon System (8025, 8025А) и микроконтроллеров семейства МК-51 (ADuC-812). Проектные решения, принятые для привязки управляющего ПО к вычислительным средствам позволяют свободно расширять номенклатуру используемых контроллеров.

3. При разработке входного языка инструментальной системы были рассмотрены вопросы связанные с переходом от избыточного объектного представления основных элементов структурных схем к:

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

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

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

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

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

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

4. В работе сформулирована и доказана теорема о возможности преобразования структурных схем произвольной топологии в функционально-эквивалентную линейную структуру Ь-граф. Сформулированы его свойства и приведены примеры построения для схем, имеющих пересекающиеся контуры. Доказательство теоремы осуществляется на основе доказательства вспомогательных утверждений - лемм №№1-3, в которых рассмотрены все возможные случаи, встречающиеся при построении исходных структурных схем.

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

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

5. Научные результаты и положения диссертационной работы докладывались и обсуждались на следующих конференциях и семинарах: II, 111 Международных научно-технических конференциях "Новые информационные технологии и системы" (Пенза, 1996, 98 гг.), XV и XVI Международной научной конференции "Математические методы в технике и технологиях" (Тамбов, 2002 г., Ростов-на-Дону 2003 г.), Международной конференции "Искусственные интеллектуальные системы и интеллектуальные САПР" IEEE AIS'02 CAD (Таганрог, 2002 г.), ежегодных научно-технических конференциях ЮРГТУ(НПИ) (1997-2003 гг.).

По результатам выполненных исследований опубликовано 15 печатных работ, из них 1 статья на депонирование, 1 методические указания к выполнению лабораторных работ, 2 тезиса к докладам. Три работы опубликованы автором самостоятельно, две - в соавторстве со студентами, остальные работы (10) - в соавторстве с научным руководителем, специалистами ОАО "ВЭлНИИ" и сотрудниками кафедры ЭВМ IOPIT'У(НПИ).

В работах [79,75,42,80] описаны проблемы, связанные с автоматизацией процесса создания УпрПО микропроцессорных систем реального времени, сформулированы требования к инструментальным системам, основным на визуальном представлении алгоритмов управления и визуальном представлении структуры и параметров проектируемой системы, сформулированы состав и назначение основных подсистем. В [78,81] проанализированы проблемы и предложены алгоритмы процедур топологического анализа циклических структурных схем, реализующих управление па основе обратных связей, определен состав и проведена классификация базовых функциональных блоков, представлены алгоритмы генерации программных модулей, функционирующих в потактовом режиме. В [41] описаны алгоритмы подсистемы топологического анализа, реализованные па основе фафового представления структурной схемы с использованием языка Турбо-Пролог. Работы [76,77,82] посвящены вопросам организации адаптивных, реконфигурируемых систем управления, рассмотрена возможность включения системы Electron в состав интеллектуальной системы, реализующей параметрическую и структурную оптимизацию алгоритмов управления сложными техническими объектами, определены уровни взаимодействия указанных систем, форматы данных, соответствующих уровню обмена, возможности пейросетевого расширения при реализации адаптивных алгоритмов управления. Работа [44] содержит описание процедуры создания и отладки профамм в инструментальной системе Electron, общие способы и правила конфигурирования контроллеров, работа [43] ориентирована на особенности конфигурирования и использования одноплатных модульных контроллеров семейства МК-51. В [47] рассмотрены вопросы, связанные с подходом к реализации транслятора ЯСС, представлены форматы внутреннего представления исходной графической ирофаммы, использующиеся на этапах синтаксического семантического и топологического анализа. В [32] рассмотрены вопросы, связанные с реализацией автоматического сворачивания алгебраических контуров. Работа [45] содержит методические указания к выполнению лабораторных работ по курсу "Микропроцессоры и микропроцессорные системы" для студентов специальности 220100. Выполнение лабораторных работ предусматривает знакомство с высокоуровневым технологическим языком программирования контроллеров ЯСС, создание и отладку программ для микроконтроллера ADuC-812 семейства MSC-51 по структурным схемам аналоговых и цифровых регуляторов, исследование структуры генерируемых программного ПО.

Оформлено две заявки на свидетельство о регистрации программ: 1. Тушканов Н.Б., Кузнецова А.В. и др. Интерактивная система генерации профаммного обеспечения для микропроцессорных систем управления тяговым электроприводом электровоза (Electron). - Свидетельство об официальной регистрации профамм для ЭВМ № 2000611162 от 8.11.2000 г.

2. Кузнецова A.B. Отыскание множества контуров в ориентированном графе ("Контуры орграфа"). Свидетельство об официальной регистрации программ для ЭВМ № 2003611750 от 23.07.2003 г.

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

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

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

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

- разработки алгоритмов структурной оптимизации программ на языке ЯСС по правилам преобразования схем в ТАУ.

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

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

1. Андреева Е.А., Куцевич H.A. SCADA-системы: взгляд изнутри . СПб.: Изд-во БХВ-Петербург, 2002.-324 с.

2. Арайс Е.А., Дмитриев В.М. Автоматизация моделирования многосвязпых механических систем. М.: Машиностроение, 1987. - 240 с.

3. Арлазаров B.J1., Усков A.B., Фараджаев И.А. Алгоритм нахождения всех простых циклов в ориентированном графе. В кн.: Исследования по дискретной математике. М.: Паука, 1973.- С. 184-188.

4. Бенькович Е.С., Колесов Ю.Б. Практическое моделирование динамических систем. СПб.: Изд-во БХВ-Петербург, 2002. - 464 с.

5. Башарин A.B. Постпиков Ю.В. Примеры расчета автоматизированного электропривода на ЭВМ.-М.: Машинострое ние, 1990.-392 с.

6. Берж К. Теория графов и ее применения. М.: Изд. иностр. лит., 1962. -458 с.

7. Берзтисс А/Г. Структуры данных. М.: Статистика, 1974. - 406 с.

8. Болтянский A.A., Виттих В.А., Кораблин М.А. и др. Цифровая имитация автоматизированных систем. М.: Паука, 1983. - 263 с.

9. Бржезовский A.B., Корсакова П.В., Фильчаков В.В. Лексический и синтаксический анализ. Формальные языки и грамматики. Л.: ЛИАП, 1990. - 131 с.

10. Бродин В.Б., Шагурин И.И. Микроконтроллеры. Архитектура, программирование, интерфейс. М.: ЭКОМ, 1999. - 400 с.

11. Бунин В., Анопренко В., Ильин А. и др. SCADA-системы: проблемы выбора // Современные технологии автоматизации. 1999. - №4. - С. 14-22.

12. Бусленко В.П. Автоматизация имитационного моделирования сложных систем. М.: Наука, 1977. - 239 с.

13. Бусленко И.П. Моделирование сложных систем. М.: Наука, 1978. - 384 с.

14. Буч Г. Объектно-ориентированное проектирование с примерами применения. М.: Конкорд, 1992. - 519 с.

15. Волкова И.А, Руденко Т.В. Формальные языки и грамматики. Элементы теории трансляции. М.: Диалог-МГУ, 1999. - 62 с.

16. Горбатов В.А., Смирнов М.А., Хлытчиев И.С. Логическое управление распределенными системами. М.: Энергоатомиздат, 1991. - 287 с.

17. Гордеев A.B., Молчанов А.Ю. Системное программное обеспечение. -СПб.: Питер, 2001.-736 с.

18. Грис Д. Конструирование компиляторов для цифровых вычислительных машин М.: Мир, 1975. - 544 с.

19. Гультяев А. Визуальное моделирование в среде MATLAB: Учебный курс. СПб.: Питер, 2000. - 432 с.

20. Дворянкин А.И. Основы трансляции: Учебное пособие. Волгоград: Изд-во ВолгГТУ, 1999.-80 с.

21. Деруссо П. Пространство состояний в теории управления. — М: Мир, 1970.-532 с.

22. Дьякрнов В.П. Справочник по алгоритмам для персональных ЭВМ. М.: Наука, 1987.-240 с.

23. Евстигнеев В. А. Применение теории фафов в программировании. М: Наука, 1985.-352 с.

24. Евстигнеев В.А. Теория графов и программирование. Новосибирск: Изд-во НГУ, 1978.-296 с.

25. Жаков В.П., Коровинский В.В., Фильчаков В.В. Синтаксический анализ и генерация кода. СПб.: ГААП, 1993. - 126 с.

26. Захарченко Д.Д. Автоматизация электрического подвижного состава. -М.: Транспорт, 1978. 279 с.

27. Золотарев C.B. Системы SCADA в среде ОС QNX. // Мир ПК, 1996. -№4.- С.114-119.

28. Изерман 3. Цифровые системы управления. М.: Мир, 1941.-541 с.

29. Инихова М.А. и др. Model Vision: Руководство пользователя. СПб.: MB Софт, 1995- 120 с.

30. Карпов Ю.Г. Теория алгоритмов и автомагов. СПб.: Геликон Плюс, 2000. - 292 с.

31. Каханер Д., Моулер К., Пеш С. Численные методы и программное обеспечение. М.: Мир, 1998. - 575 с.

32. Ковчип С.А., Сабинин Ю.А. Теория электропривода. СПб.: Энергоатомиздат, 1994. - 378 с.

33. Кознов Д.В. Визуальное моделирование компонентного программного обеспечения: Автореф. дисс. канд. техн. наук. СПб., 2000. - 16 с.

34. Колесов Ю.Б., Сениченков Ю.Б. Model Vision Studium инструмент для визуального объектно-ориентироваппого моделирования сложных динамических систем // Тр. междуп. иауч.-техн. конф. Гибридные системы. 2001.-С. 5-46.

35. Колесов Ю.Б., Сениченков Ю.Б. Визуальное моделирование сложных динамических систем. СПб.: Изд-во Мир и Семья & Интерлайн, 2000. -242 с.

36. Колии К.К., Липаев В.В. Проектирование алгоритмов управляющих ЦВМ. М.: Сов. Радио, 1970. - 343 с.

37. Короткое C.B., Окороченко Г.П. Метод измерения времени выполнения программных блоков. В кн.: Применение ЭВМ в системах реального времени. - М., 1982.-С. 57-61.

38. Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978.-376 с.

39. Крутько П.Д. Алгоритмы и программы проектирования автоматических систем. М.: Радио и связь, 1988. - 423 с.

40. Кузнецова A.B., Курпосов A.C. Визуальное программирование одноплатных контроллеров семейства MSC-5I // Матер. 52-й науч. техн. коиф. студ. и аспир. ЮРГГУ(НПИ) Новочеркасск: Изд-во ЮРГТУ(НПИ), 2003. - С. 187-188.

41. Кузнецова A.B., Программирование контроллеров. Методические указания к лабораторным работам но курсу "Микропроцессорные системы" -Новочеркасск: Изд-во ЮРГГУ(11Г1И), 2003. 4.2. - 24 с.

42. Куцевич H.A. SCADA-системы. Взгляд со стороны. // PC Week. 1999. -№ 33. - С. 20-26.

43. Куцевич H.A., SCADA-системы: проблемы тестирования. // Мир Компьютерной Автоматизации. 2000. -№ 1.-С. 11-15.

44. Куцевич H.A., Жданов A.A. Программное обеспечение систем контроля и управления и Wmdows-технологии // Мир Компьютерной Автоматизации. 1999. - № 3. - С. 23-30.

45. Лыоис Ф. и др. Теоретические основы построения компиляторов. М.: Мир, 1988.-483 с.

46. Льюис Ф., Розспкранц Д., Стирнз Р. Теоретические основы проектирования компиляторов М.: Мир, 1979. - 650 с.

47. Любашип А.Н. Стандартная технология программирования контроллеров. //Промышленные АСУ и контроллеры. 2000.5.-С. 14-21.

48. Любашип А.Н. Что такое ISaGRAF? // Промышленные АСУ и контроллеры.-2001. №4.-С. 9-13.

49. Максимей И.В. Имитационное моделирование па ЭВМ. М.: Радио и связь, 1988.-230 с.

50. Мишель Д., Жиль А. Программируемые контролеры. Архитектура и применение. М.: Энергоиздат, 1992. -386 с.

51. Ожегов С.И., Шведова НЛО. Толковый словарь русского языка. — М: Изд-во "A3 1993.-975 с.

52. Олссон Г., Пиани Дж. Цифровые системы автоматизации и управления. -СПб.: Невский диалект, 2001. 557 с.

53. Ортсга Дж., Рейнболт В. Итерационные методы решения нелинейных систем уравнений. М.: Мир, 1975. - 278 с.

54. Петренко А.И., Власов А.И., Тимченко А.Н. Табличные методы моделирования электронных схем на ЭЦВМ. Киев: Вища школа, 1977. -192 с.

55. Пратт Т., Зелковиц М. Языки программирования: реализация и разработка. СПб.: Питер, 2002. - 688 с.

56. Рамбо Д., Якобсон А., Буч Г. UML. Специальный справочник. СПб.: Пи гер, 2002. - 652 с.

57. Рыбаков А.П. Современные открытые международные стандарты для построения интегрированных измерительных и управляющих систем реального времени // Мир компьютерной автоматизации. 1995. - №1. -С. 5-12.

58. Сабинин О.Ю., Зверев В.В. Символьное имитационное моделирование технических систем // Приборы и системы управления. 1997. - №3. - С. 52-55.

59. Самарский A.A., Михайлов A.II. Математическое моделирование: Идеи. Методы. Примеры. М.: Наука, 1997. - 320 с.

60. Сапрун А.Н. Найденко В.В. Вычислительная математика для инженеров. М: АСВ, 1996.-391 с.

61. Свечкарсв В.П. Программируемые контролеры систем автоматизации. -Новочеркасск: Изд-во ЮРГТУ (I II1И), 1999. 98 с.

62. Соболев О. С. Прогресс в области SCADA-систем и проблемы пользователей. //Мир компьютерной автоматизации. 1999. - №3. - С. 36-42.

63. Советов Б.Я., Яковлев С.А. Моделирование систем. М.: Высшая школа, 1998.-319 с.

64. Советский энциклопедический словарь под ред. Прохорова A.M. М.: Советская энциклопедия, 1987. - 1600 с.

65. Сорспков Э.И., Телига А.И, Шаталов А. С. Точность вычислительных устройств и алгоритмов. М.: Машиностроение, 1986. - 200 с.

66. Сорокин С. Системы реального времени // Современные технологии автоматизации. 1997. - №2. - С. 22-29.

67. Сю Д., Мейер А. Современная теория автоматического управления и ее применение. М.: Машиностроение, 1972. - 428 с.

68. Теория автоматического регулирования. Техническая кибернетика. / Под ред. Солодовникова кн. 1,2.- М.: Машиностроение, 1976. 469 с.

69. Тушканов И.Б., Кузнецова A.B., Евсеев Д.Л. Проблемы построения адаптивного ПО мультипроцессорных систем реального времени // Новые информационные технологии и системы: Тез. к докл. междун. науч.-техн. конф., Пенза: Изд-во ПГТУ, 1994. С. 92-93.

70. Тушканов Н.Б., Кузнецова A.B., Куров В. С. Принципы организации диалоговой системы генерации управляющего программного обеспечения // Рукопись деп. в ВИНИТИ 17.08.98, №2586-В98.- Опубл. в БУ ВИНИТИ, 1998-№10.-б/о 173.

71. Уилсон Р. Введение в теорию графов. М.: Мир, 1977. - 207 с.

72. Форсайт Дж., Моллер К., Мальком К. Машинные методы математических вычислений. М.: Мир, 1980. - 278 с.

73. Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Жесткие задачи и дифференциально-алгебраический задачи. -М.: Мир, 1999.-685 с.

74. Хайрер Э., Нерсетт С., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Нежесткие задачи. М.: Мир, 1990. - 512 с.

75. Харари Ф. Теория графов. М.: Мир, 1977. - 448 с.

76. Христенсен Д. Знакомство со стандартом па языки программирования PLC: IEC 1131-3.//Мир компьютерной автоматизации. 1995,-№1.-С. 45-63.

77. Целовальников С. Нижний аппаратный уровень: "копаем" глубже (АСУ ТП). http://kr.tritec.ru/2001 /ari4(42).htm

78. Целовальников С. Профаммное обеспечение АСУ ТГ1. SCADA-система Genesis 32 (АСУ ТП) http://kr.tritec.ru/200l/ari2(40).html

79. Цыпкин Я.З. Основы теории автоматических систем. М.: Наука, 1977. - 386 с.

80. Шалыто A.A. SWITCH-технология. Алгоритмизация и программ-мирование задач логического управления. СПб.: Наука, 1998. - 628 с.

81. Шалыто A.A., Туккель Н.И. От тьюрипгова программирования к автоматному // Мир ПК. 2002. - №2. - С. 144-149.

82. Шалыто A.A., Туккель Н.И. Профаммирование с явным выделением состояний//Мир ПК. 2001. - №8. - С. 116-121, №9. С. 132-138.

83. Шалыто A.A., Туккель Н.И. Реализация вычислительных алгоритмов па основе автоматного подхода // Телекоммуникации и информатизация образования.-2001.-№6. С. 35-53.

84. Шеннон к. Имитационное моделирование искусство и наука. - М.: Мир, 1978. - 418 с.

85. Шлеер С., Меллор С. Объектно-ориентированный анализ: моделирование мира в состояниях. Киев: Диалектика, 1993.-420 с.

86. Юревич Е.И. Теория автоматического управления. М.: Энергия, 1975. -442 с.

87. ЯнгС. Алгоритмические языки реального времени.-М.: Мир, 1985-426 с.

88. HTML-версия стандарта IEC 1131-3, 1997. -l\p://rtp.cle.ah.com/stds/iec/.sc65h\vu7tl3/hlmlAvelcome.htm

89. IEC 1131-3 (Языки программирования ПЛК) в вопросах и ответах, 1997. — http://ftp.cle.ab.com/stds/iec/sc65bwfi7tf3/html/fag.htm

90. IEC 1131-3. Compliance, 1997. -rtp://rtp.cle.ab.com/stds/iec/sc65hwu7tl3/html/s l-5.htm

91. PLCopen. Standardization in Industrial Control Programming. Profiles, Products & Services of PLCopen Members, 1996.

92. PLCOpen. Введение. 1997. http://www.plcopen.org,

93. PLCOpen. Новые технические комитеты и оперативные группы, 1997. — http://\vw\v.plcopen.org/nevvtc pc.htm

94. PLCOpen. Сертифицированные продукты, 1997. -http://vvwvv.plcopen.org/certpr.htm

95. PLCOpen. Устав Ассоциации, 1997. http://ww\v.plcopen.org/artass.htm

96. PLCOpen. Члены PLCOpen, 1997.- http://\vvv\v.plcopen.org/memh.htm