WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 || 3 | 4 |   ...   | 5 |

4. Для преобразования программы в шестнадцатеричный формат(в случае использования программатора) может быть использована программа преобразования кодов.

<имя программы-пребразователя> <имя файла> oh program Результатом преобразования является файл типа program.hex.

Контрольное задание №Задача 1. Составить фрагмент программы управления релейными элементами, связанными с выходным портом Y(Y0,Y1,Y2,…Y7), если известно, что к микроконтроллеру подключены 8 ключей (Х0, Х1, Х2, …Х7) через входной порт Х. Структура управления показана на рисунке, варианты заданий сведены в таблицу 4.

Ввод ХDХDDDDDDCPU D7 Х(ЦПУ) Вывод Р УМ YDYDDDDDDD7 YТаблица Номер последней Логическая функция цифры шифра Y0 = X3 + X1·X2·X Y1 = X0·X1 + X2·X Y2 = X3·X0 + X Y3 = X1·X2 + X Y4 = X6 + X1·X5 Y5 = X7·X1 + X2·X_ Y6 = (X4 + X5)·X7 Y7 = X7 + X2·X8 Y1 = X0·X1 + X4·X Y2 = X1·X3 + X5·X Методические указания к решению задачи При разработке программы важным этапом является разработка алгоритма решения задачи. При этом рекомендуется пользоваться правилами структурного (модульного) программирования, которые предполагают проектирование программ сверху вниз с разделением программ на отдельные модули. Каждый модуль содержит одну точку входа и одну точку выхода и представляет собой композицию основных управляющих структур, представленных на рисунке.

а) последовательность б) разветвление в) выбор А да нет 0= =i =В A B C А В действие А;

действие В;

Выбор – по если условие, если (i=0) то действие А;

действие А;

иначе если (i=1) действие В.

действие В;

если (i=2) действие С.

г) цикл "пока" д) цикл "до" нет A да нет A да цикл пока условие ; цикл повторить действие А. действие А;

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

Y0 = X1 + X2·X5; Y1 = X3·X7.

При этом в байтовом регистре Х внутреннего ОЗУ микроконтроллера находятся текущие значения 8 битовых входных переменных, считанные процессором из порта ввода Х.

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

Алгоритм реализации логического управления координатой Y0:

Начало YYда X1 - X1=нет X2 - X2=Х5 - Х5=Y0 = 1 Y0 = Y0 = 1 Y0 = Конец YВыход Будем считать, что модули вычисления Y0 и Y1 оформлены в виде подпрограмм, которые вызываются командами CАLL CALC_YCАLL CALC_YДля реализации представленного алгоритма можно использовать работу битового процессора (если такой имеется) или специальные команды анализа битов.

Ниже приведена программа для микроконтроллера INTEL MCS – 196 [1,2].

В его составе команд имеются команды тестирования битовых переменных:

BBC и BBS (branch bit clear- переход,если бит очищен и branch bit setпереход, если бит установлен), осуществляющие переход на заданную метку ( трехоперандная команда ) в зависимости от того установлен или сброшен анализируемый бит.

Формат команды:

BBC breg, bitno, cadd где breg – анализируемый регистр;

bitno – номер анализируемого бита;

cadd – точка перехода по условию.

;подпрограмма вычисления YCALC_Y0: BBS X, 1, SET_Y0 ;анализ младшего бита 1 регистра X BBC X, 2, CLR_Y0 ;анализ бита BBC X, 5, CLR_Y0 ;анализ бита SET_Y0: ORB Y, #00000001B ;установка в 1 бита YRET CLR_Y0: ANDB Y, #11111110B ;очистка бита YRET ;подпрограмма вычисления битовой переменной YCALC_Y1: BBC X, 3, CLR_YBBS X, 7, CLR_YSET_Y1: ORB Y, #00000010B ;установка в 1 бита YRET CLR_Y1: ANDB Y, #11111101B RET При решении задачи язык программирования может быть выбран любым.

Задача 2. Составить алгоритм и программу обслуживания аналогоцифрового преобразователя (АЦП), осуществляющего прием и обработку данных (М – число отсчетов) по N-каналу (данные сведены в таблицу 5), если АЦП имеет 16 входных каналов. Выбор конкретного канала осуществляется записью в разряды (от 0 до 3) регистра выбора канала DAR (Data Address Register) соответствующего двоичного кода. После выбора номера канала 7 разряд DAR устанавливается в "1".

Управление запуском АЦП и проверка готовности данных после преобразования осуществляется с использованием регистра управления и статуса CSR (Control and Status Register). При этом пуск АЦП осуществляется записью "1" в нулевой разряд, готовность проверяется по наличию "1" в разряде CSR. Результат преобразования в виде выходного кода АЦП поступает в регистр данных АЦП DR (Data Register).

UАЦП DR U2 МультиNi плексор U16 Пуск "Готов" 0 N CSR Выбор канала DAR Таблица Номер последней Номер канала N Число отсчетов М Размещение в цифры шифра памяти с адреса – G.

0 12 120 1 7 95 2 9 48 3 14 111 4 6 39 5 8 46 6 11 51 7 10 77 8 5 84 9 2 90 Методические указания к решению задачи Алгоритм решения задачи по обслуживанию АЦП может быть представлен в следующем виде:

Программа обслуж. АЦП Выбор номера канала нет Канал выбран да Запись числа отсчетов Пуск АЦП нет Преобразование выполнено да Уменьшение Запись кода из DR в ячейку счетчика на памяти нет Все измерения да Конец программы Программа может быть составлена на любом языке программирования.

Hиже в качестве примера приведен фрагмент программы для DEC – архитектурных машин ("Электроника") с применением ассемблера.

.TITLE ADC DAR = 160070 ;адреса регистров АЦП DR = CSR = ADC: MOV #N, @#DAR ;запись номера канала N ;число должно быть восьмеричным ;или десятичным из задания MOV #G, R MOV @#DAR, RM1: TSTB R1 ;проверка выбора номера канала;

BPL MMOV #M, R3 ;счетчик циклов в R3 (число М) M2: MOV #0, CSR ;запуск АЦП BIT #2000, CSR ;проверка состояния 1 в 10 разряде CSR BEQ MMOV @#DR, (R2)+ DEC RBNE MHALT M:.BYTE N:.BYTE DAR:.WORD CSR:.WORD DR:.WORD D:.BLKW G. ;резервирование в памяти ;числа слов под массив данных.END ADC Задача 3. Определите требуемое число разрядов счетчика и число, которое должно быть записано в регистр счетчика (Кдел = двоичное), для получения периода квантования Тк, равного такому количеству минут, каковы две последние цифры вашей зачетной книжки. При этом входная эталонная частота таймера-счетчика равна fвх = fэт = 10МГц.



Методические указания к решению задачи Соотношение между частотой входных импульсов fвх счетчика, частотой выходных импульсов таймера fвых (которые могут задавать период квантования Тк = 1/fвых) и коэффициентом деления счетчика (Кдел ) равно:

f вх f = вых, К дел где Кдел = 2n – 1, n – число разрядов счетчика.

Чем больше число разрядов счетчика, тем реже появляются выходные импульсы таймера. Например, если счетные импульсы подаются с частотой 1,1925 МГц и три шестнадцатиразрядных счетчика будут включены каскадно, то будем иметь 48 разрядный счетчик и импульс на выходе таймера появится более чем через 7 лет.

1 Tк = = 7,5лет fвых 0,133 имп год fвх 1,1925 106 имп fвых = = = 0,248 -1 248 -1 год Соответственно, для 32-разрядного счетчика можно получить период квантования, равный 1 час, для 16-разрядного счетчика выходная частота составит 18 имп/сек, а для 8-разрядного счетчика при заданной частоте fвх, выходная частота составит 4676 имп/сек. Таким образом, применение счетчиков от 8-разрядного до 48-разрядного позволяет настроить систему управления в достаточно широком диапазоне регулирования периода квантования цифровой системы регулирования.

Задача 4. Составить на языке лестничных диаграмм LD (Ladder Diagram) программу для управления транспортным и пешеходным светофором согласно техническому заданию. В качестве программируемого логического контроллера используется контроллер SIMATIC фирмы SIEMENS.

Техническое задание 1. Цель разработки программы: управление движением транспорта и пешеходов на пешеходном переходе.

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

3. Для исключения угрозы безопасности пешеходов и водителей должны быть выполнены условия:

3.1. Предварительная (начальная) установка светофоров: горит зеленый свет для транспортного светофора и красный свет для пешеходного.

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

4. Требования к таймерам по длительности "горения" соответствующих цветов светофора:

4.1. Желтая фаза после зеленой для автомобильного движения – 3 сек.

4.2. Красная фаза для автомобильного движения – 16 сек и начинается одновременно с зеленой фазой пешеходного движения.

4.3. Зеленая фаза для пешеходного движения – 10 сек.

4.4. Желтая фаза после красной для автомобильного движения – 3 сек 4.5. Задержка для следующего требования на зеленый свет (нажатие кнопок на разных концах улицы) – 1 сек.

Методические указания к решению задачи PLC (Programmable Logical Controller) – программируемые логические контроллеры (ПЛК) представляют собой завершенную форму микропроцессорных средств, которые характеризуются оригинальной архитектурой и специальным программным обеспечением (ПО) [1,3].

Интерфейс между датчиками, исполнительными устройствами и центральным процессом PLC, обеспечивается специальными электронными модулями ввода/вывода (цифровых и аналоговых сигналов). Структура PLC показана на рисунке.

Модуль расширения Систем- Системное ОЗУ (ПЗУ) CPU ПЗУ программы ное ОЗУ (монитор) Адапт Адапт ер ер Магистраль PLC магист магист рали рали Адаптер Адаптер Адаптер дискретных дискретных интерфейса Дополни Модули входов выходов внешних устр-в тельные аналогов модули ого дискрет ввода/ …… …… ных вывода Печать Программатор входов/ выходов PLC отличается циклическим характером работы. Память программ PLC обычно состоит из 2 сегментов, в первом размещается неизменяемая часть – интерпретатор инструкций программы пользователя, которая размещается во втором сегменте (изменяемая часть).

При обработке конкретной программы на 1 этапе работы PLC производится тестирование аппаратуры CPU, и запускается цикл опроса всех входных переменных с запоминанием их состояния в специальной области памяти данных (ОЗУ), называемый "образ состояния входных переменных" PII (Process Input Image).

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

Результатом выполнения программы являются значения выходных переменных и новые значения внутренних переменных.

CPU записывает выходные переменные в другую область памяти данных, называемую "образ состояния выходных переменных" POI (Process Output Image). Одновременно CPU управляет счетчиками и таймерами. На последнем этапе цикла слово выходных воздействий выдается из POI в адаптеры выходных сигналов.





Такая организация работы PLC по существу является операционной системой реального времени с жестким циклом работы, зависящим от возможностей CPU PLC.

PLC являются проблемно-ориентированными машинами. Языки их программирования в основном ориентированы на специалистов по автоматизации, а не программистов. Накопленный опыт по языкам PLC был обобщен в виде стандарта Международной электротехнической комиссии: IEC1131–3, в котором выделено 5 языков программирования:

1. SFC (Sequential Function Chart) – последовательных функциональных схем;

2. LD (Ladder Diagram) – лестничных диаграмм (язык релейноконтакторных схем);

3. FBD (Function Block Diagram) – функциональных блоковых диаграмм;

4. ST (Structured Text) – структурированного текста;

5. IL (Instruction List) – список инструкций (команд).

Язык SFC описывает логику программы на уровне чередующихся функциональных блоков и условных переходов. Инструкции для функциональных блоков могут быть написаны на одном из 4 других языков. Например: для логической функции:

_ С А В С = А·В 1) На языке LD имеется цепь 2) FBD имеется обозначение A AND C B 3) ST имеется строка C = A AND NOT B 4) На языке IL имеется последовательность инструкций (типа языка ассемблера) LD A ANDN B ST C Наиболее понятным для инженеров-специалистов в области автоматизации является язык LD или РКС (релейно-контакторных схем).

Синтаксис языка РКС основывается на следующих предпосылках:

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

Y1 = f(Xi, Yj, Zk) ……… Ym = f(Xi, Yj, Zk) Z1 = f(Xi, Yj, Zk) ……… Zq = f(Xi, Yj, Zk) где Xi – входные переменные (i = 1, … n), Yj – выходные переменные (j = 1, … m), Zk – внутренние переменные (k = 1, … l);

-логические функции в правых частях уравнений представляют собой ДНФ или КНФ с применением операций И, ИЛИ, НЕ;

-каждое уравнение трактуется как цепь релейно-контактной схемы, т.е. соединение элементов релейной схемы с хотя бы одной инструкцией присвоения.

Запись операции на языке РКС содержит логическое выражение с инструкцией присвоения:

- логическое выражение - инструкция присвоения f(xi, yj, zk) = Y, = Z Символика РКС Булева функция Содержание операции Логические компоненты Опрос входа, выхода · внутренней переменной Опрос с инверсией ·/ Начало ветвления ( параллельной цепи Конец ветвления ) параллельной цепи Перенос маркера в начало + ветвления Символы присвоения Присвоение результата вычислений внутренней = переменной или выходу Включение выхода или = S внутренней переменной с S фиксацией Аналогично выключение с R = R фиксацией Программа для PLC представляет собой сеть из логических функций (Network (англ.), Netzwerk (нем.)). Каждая сеть должна либо оканчиваться катушкой реле или блоком (например, таймером).

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

Определим число требуемых входных / выходных переменных:

1. 2 входа (Е1, Е2) – кнопки требования зеленого света от пешеходов на обеих сторонах улицы;

2. 5 выходов – для управления индикацией обоих светофоров;

3. 5 таймеров (Т) – для определения длительности соответствующих фаз светофоров;

4. 1 маркер (М) – для включения светофора по требованию зеленого сигнала пешеходом.

Присвоим входным и выходным переменным символические обозначения:

Адрес Описание Символическое имя А 0.0 Красный цвет для пешехода People_Red А 0.1 Зеленый цвет для пешехода People_Green А 0.5 Красный цвет для автомобиля Auto_Red А 0.6 Желтый цвет для автомобиля Auto_Yellow А 0.7 Зеленый цвет для автомобиля Auto_Green Е 0.0 Кнопка на правой стороне P_Right Е 0.1 Кнопка на левой стороне P_Left М 0.0 Маркер для включения светофора Marker по требованию зеленого цвета пешехода Т 2 Длительность желтой фазы для Auto_Yellow автомобилей (3 с.) Т 3 Длительность зеленой фазы для People_Green пешехода (10 с.) Т 4 Задержка красной фазы для Auto_Green автомобилей (6 с.) Т 5 Длительность красно-желтой фазы Auto_R – Y для автомобилей (3 с) Т 6 Задержка следующего требования Pause_People на зеленый свет для пешеходов(1 с) Алгоритм функционирования конечного автомата можно представить в виде последовательной функциональной диаграммы или циклограммы.

Диаграмма Предустановка • Красный для пешехода, зеленый для транспорта Требование на зеленый для пешеходов Транспортный светофор Пешеходный светофор переключается с зеленого через включается на зеленый и через желтый на красный (16 сек). 10 с. опять на красный.

Транспортный светофор включается на зеленый через желтый c задержкой( 6 с.).

Задержка следующего требования на зеленый от пешеходов (1 с.).

Циклограмма А(к) А(з) А(к) А(ж) А(з) Еили Е3 6 16 22 Жел фаза безT треб Время перехода тый опасност пеш.

свет и для пеавто шехода Для PLC SIMATIC программирование осуществляется с использованием языка STEP 7, используя либо графический язык РКС (КОР – контактный план) или список команд AWL.

Алгоритм действий при программировании:

1. Создать необходимые блоки: организационный блок (ОВ1) для циклической обработки программы и функцию (FC1), в которую собственно и вводится программа.

2. Назначить редактор языка (КОР или AWL).

3. Запрограммировать блоки, запустить редактор языка, объявить переменные и ввести программу, разделенную на сети.

4. Сохранить и загрузить блоки на выполнение.

Для рассматриваемой задачи в символах РКС организационный блок имеет вид:

Pages:     | 1 || 3 | 4 |   ...   | 5 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.