- •Предисловие.
- •1. Основные сведения, необходимые для создания программ на языке c.
- •1.1 Общая характеристика языка c.
- •1.2. Процесс создания исполняемого файла.
- •1.3. Распределение памяти программы.
- •1.4. Основные правила работы с программами.
- •2. Программная имитация электронных схем.
- •3. Описание программы образца.
- •3.1. Подпрограммы общего назначения.
- •3.2. Подпрограммы мехатронного объекта.
- •3.3. Подпрограммы графических примитивов.
- •3.4. Подпрограммы системных сообщений.
- •3.5. Подпрограммы звуковой сигнализации.
- •3.6. Глобальные константы и переменные.
- •4. Тексты исходных файлов программы образца.
- •4.1. Подпрограммы общего назначения.
- •4.2. Подпрограммы мeхатронного объекта.
- •4.3. Подпрограммы графических примитивов.
- •4.4. Подпрограммы системных сообщений.
- •4.5. Подпрограммы звуковой сигнализации.
- •4.6. Глобальные константы и переменные.
- •5. Методические указания к лабораторным работам.
- •6. Задания на выполнение лабораторных работ.
- •6.1. Лабораторная работа 1. Разработка графического отображения титульного листа программы.
- •6.2. Лабораторная работа 2. Разработка логической схемы мехатронного объекта.
- •6.3. Лабораторная работа 3. Разработка графического отображения логической схемы мехатронного объекта.
- •6.4. Лабораторная работа 4. Разработка графического отображения работы логической схемы мехатронного объекта.
- •6.5. Лабораторная работа 5. Разработка средств сигнализации (системные сообщения, звуковая сигнализация, дата, время).
- •7. Варианты лабораторных работ.
- •8. Описание dvd диска
- •Литература.
- •Содержание.
2. Программная имитация электронных схем.
Схемы промышленной автоматики, например схема управления приводом главного движения станка или схема управления выбором и сменой инструментов, являются цифровыми автоматами, работа которых описывается логическими функциями. Промышленная автоматика основана на создании циклограмм работы механизмов и их описании уравнениями алгебры логики. Этот метод позволяет проектировать оптимальные принципиальные схемы любой степени сложности и на любой элементной базе [16].
Этот же метод может быть использован при синтезе систем управления МО на основе ПИЭС. В этом случае с помощью программ, написанных, например, на языке Ассемблер или C, имитируется работа электронных устройств, выполняющих логические функции (инвертора НЕ, элемента И, элемента ИЛИ и т.д.), а затем из этих программных имитаторов синтезируется заданная система управления, имеющая такие же логические входные и выходные сигналы, что и имитируемая электронная схема.
Исходный текст образец ПИЭС, программа IMI_LIS.C, соответствует электронной схеме, имеющей три входа X0, X1, X0, три выхода Z0, Z1 и Z2 и описываемой логическими уравнениями:
Z0 = (X1 | X2) | (Y0 & Y1);
Z1 = (Y2 & X0) | (X1 | X2);
Z2 = (Y0 & Y1) & (Y2 & X0);
где Y0, Y1, Y2 - инвертированные X0, X1, X2.
При компиляции и линковке указанного текста получается исполняемый модуль ПИЭС IMI_LIS.EXE . При запуске исполняемого модуля ПИЭС IMI_LIS.EXE и вводе двоичных кодов входных значений X0, X1, X2 на выходах Z0, Z1 и Z2 получаются двоичные коды выходных значений в соответствии с логикой работы заданной схемы. Для трех входов (n=3) возможно восемь комбинаций входных значений X (NX=2n=23=8).
3. Описание программы образца.
Исходный текст образец ПИЭС, программа IMI_LIS.C, состоит из файлов и подпрограмм, указанных в следующих таблицах.
Формат записи в строках таблиц:
[строка декларации] назначение [строка начала определения] тип имя.
3.1. Подпрограммы общего назначения.
FILE IMI_LIS.C.
[15] Графический режим [78] int Graph_regime (); |
[16] Текстовый режим [110] int Text_regime(); |
[17] Ввод кода команды [120] int Entry_x(); |
[18] Отображение логических переменных на заданных координатах [164] int Bit(int x, int y, unsigned int bit); |
3.2. Подпрограммы мехатронного объекта.
FILE DEV_LIS.H.
[16] Отображение титульного листа [62] int Title_sheet(); |
[17] Отображение логической схемы МО[168] int Dev_pct(int kx,int ky); |
[18] Отображение работы логической схемы МО [392] int Dev_logD(int kx,int ky); |
3.3. Подпрограммы графических примитивов.
FILE SYS_PRIM.H.
[17] Логический элемент схемы [34] int E(char *t,int n,int lx,int ly,int dx,int dy,int kx,int ky); |
[19]Блок логических элементов схемы [58] int B(char *t,int n,int lx,int ly,int dx,int dy,int kx,int ky); |
[22]Прямоугольник с толщиной линий в N пикселей [83] int RectangleN(int left_x,int left_y,int right_x,int right_y,int n); |
[24] Прямоугольник с периметром из двух линий [98] int Rectangle2(int left_x,int left_y,int right_x,int right_y)ёё; |
[26] Эллипс с толщиной линий в N пикселей [109].int EllipseN(int x, int y,int stangle,int endangle,int x_radius,int y_radius,int n); |
[29] Эллипс с периметром из двух линий [125] int Ellipse2(int x, int y,int stangle,int endangle,int x_radius,int y_radius); |