Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГРАММИРОВАНИЕ_САУ_КМО.doc
Скачиваний:
10
Добавлен:
06.11.2018
Размер:
918.02 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ

А.Е. Стефанович

ПРОГРАММИРОВАНИЕ СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ КОМПЛЕКСАМИ МЕХАТРОННЫХ ОБЪЕКТОВ

УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ

Москва 2009

УДК 004.45:658.52

Рецензент: Старший научный сотрудник Отделения Квантовой Радиофизики Физического Института им. П.Н. Лебедева Российской Академии Наук, к.т.н. Дроханов Алексей Никифорович.

А.Е. Стефанович

Программирование систем автоматического управления комплексами мехатронных объектов: Учебно-методическое пособие по дисциплине "Программирование". . М.: МГУПИ, 2009. 119 с.

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

Учебно-методическое пособие рассмотрено и одобрено на заседании кафедры ИС-4 29 июня 2006 года, протокол N 11.

© МГУПИ, 2009 г.

1. Предисловие.

Цель методического пособия - обучение учащихся разработке программного обеспечения, предназначенного для систем автоматического управления (САУ) комплексами мехатронных объектов (МО).

Основой методического пособия является программа SCONT, написанная автором на языке программирования Си и представляющая собой программный конструктор, на основе которого можно создавать указанное системное программное обеспечение. Исходный текст (образец) программы SCONT обеспечивает наиболее часто встречающиеся режимы работы. Так как исходный текст составлен по модульному принципу, то любой режим работы может быть исключен из программы, а любой другой режим вставлен в программу. При этом может быть обеспечена любая логика работы, в том числе имитация обработки сигналов МО (сигналов рассогласования, запросов на обслуживание и т.д.). Количество режимов не ограничено. Программа SCONT обеспечивает возможность отображения схемы работающего МО в динамике с указанием двоичных значений в заданных точках; допускает возможность использования анимационной графики для наглядного представления процессов, происходящих в комплексах МО; обеспечивает в реальном времени отображение параметров процесса управления. Количество и размеры информационных окон, типы и размеры шрифтов, применяемые цвета легко перенастраиваются по желанию пользователя. Все результаты работы САУ записываются по принципу "черного ящика" в автоматически открывающиеся выходные файлы BLACKCS0.c – BLACKCS7.c.

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

./* ####### Site of the Driver() #######*/

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

2. Основные сведения, необходимые для создания программ на языке си.

ПРОЦЕСС СОЗДАНИЯ ИСПОЛНЯЕМОГО ФАЙЛА.

  • Исходный файл (текст программы на языке программирования Си) создается в редакторе системы программирования, например Borland C++.

  • Расширенный исходный файл получается на этапе, предшествующем компиляции исходного файла, с помощью программы препроцессор (входит в компилятор). На входе препроцессора – исходный текст с директивами препроцессора (отмечены в исходном тексте символом #). На выходе – расширенный исходный файл, полученный в результате выполнения директив. В частности, препроцессор подключает к исходному файлу заголовочные файлы (имеют традиционно расширение .h), в которых содержатся константы функций, шаблоны структур, программные интерфейсы (прототипы) функций. Заголовочные файлы, входящие в стандарты языка Си, называются стандартными заголовочными файлами. Названия их являются зарезервированными именами (т.е. могут использоваться только для обозначения этих файлов). В конкретных компиляторах могут быть дополнительные заголовочные файлы. Кроме того, для связи с графическими функциями используются соответствующие графические заголовочные файлы.

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

  • Исполняемый файл (загрузочный модуль) получается на этапе компоновки объектных файлов с помощью программы линкер (редактор связи, компоновщик). Он содержит не только код объектного файла, но и коды подпрограмм из библиотечных файлов. Исполняемый файл готов к выполнению центральным процессором ЭВМ.

ПРОЦЕСС СОЗДАНИЯ ИСПОЛНЯЕМОГО ФАЙЛА.

ПРОГРАММЫ,

ФАЙЛЫ

ОБРАБАТЫВАЮЩИЕ ФАЙЛЫ

ИСХОДНЫЙ ФАЙЛ f.c

(язык Си)

ОБРАБАТЫВАЕТ

ПРЕПРОЦЕССОР

РАСШИРЕННЫЙ ИСХОДНЫЙ ФАЙЛ

(язык Си)

ОБРАБАТЫВАЕТ

КОМПИЛЯТОР

ОБЪЕКТНЫЙ ФАЙЛ f.obj

(язык двоичных кодов)

ОБРАБАТЫВАЕТ

ЛИНКЕР

(РЕДАКТОР СВЯЗЕЙ, КОМПОНОВЩИК)

ИСПОЛНЯЕМЫЙ ФАЙЛ (ЗАГРУЗОЧНЫЙ МОДУЛЬ) f.exe

(язык двоичных кодов)

РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПРОГРАММЫ.

Скомпилированная программа Си имеет четыре логически обособленные области памяти:

ОБЛАСТЬ СТЕКА для хранения переменных (адресов возврата функций, аргументов функций, локальных переменных и др.)

ОБЛАСТЬ ДИНАМИЧЕСКИ РАСПРЕДЕЛЯЕМОЙ ПАМЯТИ (КУЧА)

ОБЛАСТЬ ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ

ОБЛАСТЬ ИСПОЛНЯЕМОГО КОДА ПРОГРАММЫ

* * *