
- •Isbn 5-230-06778-7 Кубанский государственный технологический университет
- •Оглавление
- •Предисловие
- •Введение
- •Глава 1
- •Классификация и виды счпу
- •Глава 2
- •2.1 Задачи управления на уровне станка, гибкого производственного модуля, гибкой производственной системы
- •2.1.1 Геометрическая задача чпу
- •2.1.2 Логическая задача чпу
- •2.1.3 Технологическая задача чпу
- •2.1.4 Терминальная задача чпу
- •2.2 Технические средства управления в автоматизированном производстве
- •Глава 3
- •3.1 Устройства ввода программ
- •3.2 Системы чпу на основе мп
- •3.3. Перспективы развития и применения микропроцессорных систем управления
- •Глава 4
- •4.1 Системы счисления, архитектура и принцип действия микропроцессоров и микроЭвм
- •Принцип действия микроэвм
- •4.2 Система программирования микропроцессора серии кр580
- •4.2.1 Способы адресации
- •4.2.2 Система команд
- •(А) (Данные)
- •4.2.3 Составление программ
- •4.3 Архитектура, система программирования микроЭвм «Электроника-60»
- •4.3.1 Алфавит языка Ассемблера, данные, адресное пространство
- •4.3.2 Система команд
- •4.3.3 Способы адресации
- •4.4 Система автоматизированной подготовки управляющих программ сап-см4
- •4.4.1 Структура и элементы программы
- •4.4.2 Раздел данных
- •4.4.3 Раздел процедур
- •Глава 5
- •5.1 Программируемые контроллеры
- •5.2 Программирование контроллеров
- •5.2.1 Азбука алгоритмизации прикладных программ
- •5.2.2 Основное правило записи программ применительно к мпк 580
- •5.2.3 Процедуры и подпрограммы
- •5.2.4 Основы формализованного подхода к разработке прикладных программ мп-контроллеров
- •5.2.5 Типовые процедуры ввода. Данных
- •5.2.6 Типовые процедуры вывода данных
- •5.2.7 Масштабирование
- •5.2.8 Программная реализация функций времени
- •5.2.9 Измерение временного интервала
- •5.2.10 Ввод символов с клавиатуры. Опрос группы упорядоченных двоичных датчиков
- •5.2.11 Процедура ввода цифры с клавиатуры. Опрос матрицы двоичных датчиков
- •5.2.12 Определение веса нажатой клавиши
- •Заключение
- •Приложение а
- •1 Микропроцессорные чпу металлорежущих станков фирмы fanuc
- •2 Мпс управления промышленным роботом
- •3 Мпс позиционно-контурного управления промышленными роботами
- •4 Счпу для управления по трем координатам
- •5.Система группового числового программного управления
- •6.Программируемый контроллер для плоскошлифовальных станков
- •Приложение б
- •1 Курсовой проект
- •1.1 Задание на курсовой проект
- •1.2 Объем и содержание курсового проекта
- •1.3 Методические указания к выполнению курсового проекта
- •1.4 Формализация и преобразование связей между логическими переменными
- •1.5 Общая характеристика микроЭвм
- •1.6 Общая характеристика микропроцессора
- •1.7 Технология изготовления микропроцессоров
- •1.8 Программная реализация систем цикловой электроавтоматики
- •1.9 Анализ объекта управления и построение модели циклического процесса
- •1.10 Методические указания к выполнению курсового проекта на примере автоматизированного комплекса
- •1.11 Пример разработки алгоритма работы ртк
- •1.12 Словесное описание алгоритма работы автоматизированного комплекса в автоматическом режиме
- •1.13 Описание аварийной ситуации автоматизированного комплекса
- •1.14 Методические указания по установлению соответствия датчиков и приводов адресам контролера
- •1.15 Разработка сети Петри
- •1.16 Краткие сведения о сети Петри
- •1.17 Представление алгоритма работы автоматизированного
- •1.18 Декомпозиция системы и построение сложной сети Петри
- •1.19 Язык программирования контроллера № s – 915
- •1.20 Составление управляющей программы
- •В ключение автоматического режима
- •П роверка исходного состояния ртк
- •П ереключение электромагнитов приводов Проверка срабатывания выходных переходов позиции р
- •Заключение
- •Глоссарии
- •Задание принял студент____________ _____________________________
- •Список литературы:
- •350072 Г. Краснодар, ул. Московская, 2
5.2.7 Масштабирование
При вводе и выводе информации возникает задача согласования диапазонов представления чисел в МП и в аппаратуре связи контроллера с объектом управления. Эта задача называется масштабированием и сводится к операции умножения числа на некоторую константу К.
Масштабирование двоичных кодов, вводимых с цифровых датчиков для последующей обработки в МП или выводимых из МП на станок, можно выполнить с применением стандартных подпрограмм умножения и деления. Тем не менее более эффективным может оказаться способ умножения числа на константу путем сдвига (по быстродействию и требуемому объему памяти программы).
Способ основан на том, что сдвиг двоичного кода числа на один бит влево (в сторону старших бит) эквивалентен его умножению на 2, а сдвиг на один бит вправо - делению на 2.
Пример. Необходимо двоичный код X, полученный от цифрового датчика, умножить на константу К=2,5. Результат масштабирования числа может быть получен в соответствии с выражением Х х 2,5 = Х х 2 + Х/2, т.е. путем суммирования сдвинутых влево и вправо двоичных кодов числа X.
STC |
|
; сброс признака переноса |
CMC |
|
|
IN |
01H |
; ввод Х из порта 1 |
MOV |
B,A |
; создание копии Х в регистре В |
RAR |
|
; сдвиг вправо |
MOV |
C,A |
; создание копии Х/2 в регистре С |
MOV |
А, В |
|
RAL |
|
; сдвиг влево |
ADD |
С |
; формирование результата в А |
Пример. Требуется сформированное в аккумуляторе МП УС Y умножить на К=17. Операция умножения заменяется (Y х 17 = Y х 16 + Y) четырьмя операциями сдвига и сложением.
STC |
|
; сброс признака переноса |
CMC |
|
|
MOV |
В, А |
; создание копии Y в регистре В |
RAL |
|
|
RAL |
|
|
RAL |
|
|
RAL |
|
|
ADD |
В |
; результат в А |
Рассмотренные примеры программ для упрощения составлены в предположении, что при умножении не происходит переполнение одного байта (результат < 255).
5.2.8 Программная реализация функций времени
Рисунок 57 – Схема алгоритма временной задержки
Формирование временной задержки малой длительности. Применяется метод программных циклов, при котором в рабочий регистр блока регистров общего назначения загружается число, которое затем в каждом проходе цикла уменьшается на 1. Процедура продолжается до тех пор, пока содержимое рабочего регистра не станет равным О, что интерпретируется программой как момент выхода из программного цикла. Время задержки при этом определяется величиной числа, загруженного в рабочий регистр, и временем выполнения команд, образующих программный цикл. На рисунке 57 представлена БСА такой программы. Программа имеет символическое имя TIME и в случае вызова ее основной УП по команде CALL TIME должна завершаться командой возврата RET.
Пример. В программе, управляющей работой контроллера, процессор которого работает с тактовой частотой 2 МГц (период - 500 нс), необходимо реализовать временную задержку 100 мс. Фрагмент программы необходимо оформить в виде подпрограммы, так как предполагается, что основная УП производила к ней многократные обращения для формирования выходных импульсных сигналов, длительность которых кратна величине 100 мс.
Текст программы (рис. 57) будет выглядеть следующим образом:
TIME: |
MVI |
В, Х |
; Загрузка в регистр В числа Х |
COUNT: |
PCR |
В |
; Уменьшение на 1 содержимого В |
|
JNZ |
COUNT |
; Цикл, если В = О |
|
RET |
|
; Возврат в основную программу, |
|
|
|
; Если В = О |
Для получения требуемой временной задержки определяется величина числа X, загружаемого в рабочий регистр В. Определение Х производится на основе расчета времени выполнения команд, образующих подпрограмму. Необходимо учитывать, что команды MVI В X и RET выполняются однократно, а число повторений команд DCR В и JNZ COUNT равно числу X, загружаемому в регистр В. Обращение к подпрограмме временной задержки осуществляется по команде CALL TIME, время исполнения которой также необходимо учитывать при подсчете временной задержки. В описании команд МП 580ИК80 указывается, за сколько тактов основной частоты синхронизации исполняется каждая команда МП. Имея эти данные, запишем:
CALL |
TIME |
- 17 тактов |
- 8,5 мкс |
MVI |
B,X |
- 7 тактов |
- 3,5 мкс |
DCR |
В |
- 5 тактов |
- 2,5 мкс |
JNZ |
COUNT |
- 10 тактов |
- 5,0 мкс |
RET |
|
- 10 тактов |
- 5,0 мкс |
Таким образом, однократно исполняемые команды в этой подпрограмме требуют 17 мкс (8,5 + 3,5 + 5,0). Следовательно, для получения требуемой задержки в 100 мкс необходимо выполнять команды DCR В и JNZ COUNT столько раз, чтобы время их исполнения составило 83 мкс (100-17), но время исполнения этой пары команд составляет 7,5 мкс (2,5 + 5,0). Поэтому, если принять, что Х=10, то возможно получение временной задержки 7,5 мкс, а недостающие 8 мкс можно получить четырехкратным использованием команды пустой операции NOP, время исполнения которой равно 2 мкс. На основании вышеизложенного запишем текст подпрограммы TIME:
TIME: |
MVI |
B, 10 |
; загрузка в регистр В числа 10 |
COUNT: |
DCR |
В |
; декремент регистра В |
|
JNZ |
COUNT |
; цикл, если В = О |
|
NOP |
|
; четыре пустых операции |
|
NOP |
|
; для точной поднастройки 37 |
|
NOP |
|
; времени |
|
NOP |
|
; задержки |
|
RET |
|
; возврат в основную программу |
Формирование временной задержки равно 1 с. Формирование длительных задержек (с, мин и т.д.) при частоте синхронизации МП, равной 2 МГц, с использованием этого процесса невозможно, так как максимальной емкости регистровой пары (FFFFH) не хватает и для 1 с. Сформировать большую задержку можно с использованием метода вложенных циклов так, как представлено на БСА (рис. 58), а текст программы будет иметь следующий вид:
ONESEC: |
MVI |
В, OFFH |
; счетчик внешних циклов |
L1: |
MVI |
С, OFBH |
; счетчик внутренних циклов |
L2: |
NOP |
|
; точная |
|
NOP |
|
; подгонка |
|
NOP |
|
; времени |
|
NOP |
|
; внутреннего цикла |
|
DCR |
С |
; декремент счетчика внутреннего цикла |
|
JNZ |
L2 |
; внутренний цикл, если С = О |
|
DCR |
B |
; декремент счетчика временных циклов |
|
JNZ |
L1 |
; внешний цикл, если В = О |
Рисунок 58 – Схема алгоритма временной задержки, равной 1 с
Для получения задержки, равной 1 мин, основная УП может 60 раз осуществить вызов подпрограммы ONESEC. Для этого число 60 загружается в регистр, например D, который выполняет функции декрементного счетчика секунд и после каждого прогона подпрограмм ONESEK его содержимое уменьшается на 1.
Недостаток длительной задержки в том, что во время подсчета временных интервалов МП не выполняет другой работы и устройство может не отреагировать на быстроменяющиеся процессы в объекте управления.