Проектирование алгоритмического и программного

Вид материалаДокументы
1.2. Обзор программных средств, используемых при проектировании мехатронных систем с МПК
1.2.1. Управляющая программа МПК
1.2.2. Программа настройки и контроля
1.2.3. Моделирование мехатронной системы с МПК
1.2.3.2. Си, Паскаль, Бейсик
Подобный материал:
1   2   3   4   5   6   7

1.2. Обзор программных средств, используемых при проектировании мехатронных систем с МПК


Основным средством получения конечного программного продукта – исполняемого модуля - является компилятор. Под компилятором понимается специальная программа, переводящая исходные тексты на конкретном языке программирования или сразу в исполняемый модуль, содержащий коды машинных команд данного процессора (микроконтроллера), или в промежуточный формат, т.н. объектный модуль. В последнем случае для получения исполняемого модуля требуется применение еще одной специальной программы - линковщика. Линковщик позволяет сформировать конечный исполняемый модуль путем объединения нескольких отдельных объектных модулей. На рис.2 представлена схема процесса создания исполняемого модуля, где библиотекарь представляет собой специальную программу для обслуживания объектных модулей в виде библиотек. Часто под термином компилятор понимается пакет, состоящий из собственно компилятора, линковщика и библиотекаря, что и будем использовать далее в тексте. При этом в качестве платформы функционирования всех программных средств будем подразумевать Intel платформу в виде IBM совместимых персональных компьютеров.

1.2.1. Управляющая программа МПК


Для разработки управляющей программы МПК в настоящее время используются практически только два языка программирования – ассемблер и Си. Это определяется широким распространением компиляторов только этих двух языков при программировании различных процессоров и микроконтроллеров. Что касается других языков, например, Forth, то он не получил широкого распространения.

1.2.1.1. Ассемблер


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




Для разработки управляющей программы для МПК на основе процессоров Intel 80x86 подходит практически любой 16-разрядный компилятор, ориентированный на аппаратную платформу Intel, например, фирмы Microsoft (MASM, версии 5.10, 6.10), фирмы Borland (TASM, версии 2.0, 2.5). Указанные компиляторы поддерживают работу из командной строки (отсутствует графический интерфейс), а результирующие файлы по умолчанию имеют расширение “.EXE”. Для соответствия формату исполняемого модуля процессора результирующий файл должен представлять собой двоичный образ управляющей программы, т.е. иметь расширение “.BIN” или “.COM”. Это достигается или применением линковщика со специальным ключом (для линковщика TLINK.EXE 4.01 фирмы Borland это /Tdc) или конвертированием результирующего файла с расширением “.EXE” в файл с расширением “.BIN” при помощи утилиты “EXE2BIN.EXE”. В случае, если программное обеспечение, используемое далее, не понимает файл с расширением “.BIN”, достаточно переименовать расширение в “.COM”.

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

Для разработки управляющей программы для МПК на основе микроконтроллеров клона Siemens SAB C16x могут использоваться компиляторы ASM167 (версия 1.1), VASM (версия 1.02), а также среда разработки Vision (версии 2 и 3) фирмы Keil Software, содержащая макроассемблер A166. Результирующие файлы указанных компиляторов имеют шестнадцатеричный формат с расширением “.HEX”, а среда Vision и компилятор VASM позволяют получить также файл с расширением “.BIN”.

1.2.1.2. Си


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

Количество компиляторов Си для микропроцессоров и микроконтроллеров существенно меньше, чем для ассемблера. Большое распространение получила интегрированная среда разработки (IDE) Keil Vision (версии 2 и 3), содержащая компиляторы ассемблера и Си для нескольких сотен типов 8, 16 и 32-разрядных микроконтроллеров почти 60 фирм, а также отладчик программ. Среда позволяет получить исполняемые файлы в форматах “.HEX” и “.BIN” по выбору. Известна также интегрированная среда Си (версия 2.7) фирмы Tasking для семейства микроконтроллеров C166 (ST10). Определенным сдерживающим фактором для использования указанных сред программирования на Си является их высокая стоимость.

1.2.2. Программа настройки и контроля


Языками программирования, которые целесообразно использовать для создания программы настройки и контроля, являются Си и Паскаль. В силу ряда обстоятельств наибольшее распространение здесь получил Си. Программу настройки и контроля можно разработать как в варианте «под DOS», так и в варианте «под Windows». В случае связи программы настройки и контроля c МПК через асинхронные последовательные интерфейсы RS-232 или RS-485 оба варианта с точки зрения эффективности отладки мехатронной системы с МПК одинаковы. Вариант программы настройки и контроля «под DOS» обеспечивает программисту полный доступ ко всем внутренним ресурсам IBM PC, включая регистры последовательных портов COM, вектора различных прерываний и программы по их обслуживанию. Но при этом программа имеет ограничения в пределах доступной ей памяти - 640К для обычной памяти (для кода и данных) и 16М для расширенной памяти (по спецификации XMS для данных). Кроме этого вариант «под DOS» имеет текстовой пользовательский интерфейс, и требуются определенные усилия по организации работы с «мышью». Вариант «под Windows» имеет графический интерфейс, более приятный для пользователя, но не допускает программиста к внутренним ресурсам IBM PC и требует знаний и умения пользоваться API (Application Programming Interface - программный интерфейс приложения). В общем случае выбор варианта реализации программы настройки и контроля является вопросом личных пристрастий и традиций. Следует заметить, что вариант «под DOS» может работать в среде как «чистой» DOS, так и в различных операционных средах Windows, а вариант «под Windows» практически не пригоден для «старых» IBM PC с ограниченным объемом памяти. Однако в любом варианте программа настройки и контроля должна представлять собой систему меню и оконных сообщений, наиболее удобную для эффективной работы.

Для разработки варианта «под DOS» на Си могут использоваться компиляторы фирмы Borland – TurboC 2.0, TurboC++ 1.0 и Borland C++ 3.1, а также фирмы Microsoft QuickC 2.0, 2.5, а также пакет Turbo Vision фирмы Borland для создания системы меню.

Для разработки варианта «под DOS» на Паскале могут использоваться компиляторы фирмы Borland – Turbo Pascal 6.0 и 7.0.

Для разработки варианта «под Windows» на Си могут использоваться интегрированные среды Microsoft VisualC 6 и VisualC++7 и Borland C++Builder 5.0.

Для разработки варианта «под Windows» на Паскале может использоваться интегрированная среда Borland Delphi 5.0.

1.2.3. Моделирование мехатронной системы с МПК


Для создания собственной программы моделирования конкретной мехатронной системы подходят несколько языков программирования - Фортран, Си, Паскаль, Бейсик. Наибольшее распространение здесь получили Фортран и Паскаль.

1.2.3.1. Фортран


Несмотря на солидный возраст (с 1954 г) Фортран прочно занял нишу языка научных и инженерных расчетов благодаря огромному количеству библиотек подпрограмм, накопленных с момента его создания, и отлично подходит для разработки программы моделирования мехатронной системы «под себя». За время своего развития Фортран сменил несколько стандартов, отслеживая основные тенденции в мировом программировании и отбрасывая отмирающие конструкции своего синтаксиса – стандарты 66, 77, 90, 95.

Программу моделирования можно разработать как в варианте «под DOS», так и в варианте «под Windows». И здесь выбор варианта программы моделирования является вопросом личных пристрастий и традиций.

Для разработки варианта «под DOS» могут использоваться компиляторы фирмы Microsoft MsFortran 4.0 (стандарт 77), 5.0 (стандарт 90), 5.1 (стандарт 90). Последние два имеют в своем составе графическую библиотеку. Тем не менее, можно рекомендовать версию 4.0 как более «мощную», позволяющую создавать большие по объему модели. А для построения графиков в этом случае целесообразно использовать дополнительные библиотеки графических подпрограмм и функций, например, «Графор».

Для разработки варианта «под Windows» могут использоваться пакеты MsFortran PowerStation 4.0, Compaq Fortran 6.1, 6.5, причем все они в процессе инсталляции интегрируются в среду Microsoft Visual Studio.

1.2.3.2. Си, Паскаль, Бейсик


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