
- •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.9 Измерение временного интервала
Задача. Требуется измерить с заданной точностью временный интервал между двумя событиями в объекте управления. Предполагается, что в устройстве сопряжения МП с объектом имеются датчики, которые вырабатывают импульсные сигналы начала t0 и окончания t1 процесса, время которого необходимо измерить. Для упрощения примем, что в качестве датчиков применяются концевые переключатели, а измеряемый параметр есть время перемещения подвижного органа объекта управления от места расположения датчика 1 к датчику 2 (рис. 59,а). Требуется также отобразить время процесса в десятичной системе счисления на четырехпозиционном линейном дисплее, а кроме того, сравнить реальное время перемещения объекта с эталонной установкой и отобразить на пульте оператора результат сравнения. Допустим, что реальный процесс в объекте управления может превышать по времени 99 с, а требуемая точность измерения равна 0,01 с.
На рисунке 59.б представлена схема интерфейса МП, предназначенного для решения поставленной задачи.
Порт 1 по линии D0 через промежуточный триггер со счетным входом использован для ввода в МП информации о начале t0 и окончании t1 процесса.
Если триггер Q в исходном состоянии имел сигнал 0, то под воздействием входного сигнала t0 он придет в состояние Q=1 и будет находиться в этом состоянии до момента прихода второго подсчитываемого сигнала t1. Порты 2, 3, и 4 используются для вывода информации.
Каждый байт в портах 2 и 3 предназначен для вывода информации, а также для представления двух десятичных двоичнокодированных знаков так, что через порт 2 осуществляется вывод на дисплей десятков и единиц секунд, а через порт 3 – десятых и сотых долей секунд. К выходам D0 и D1 порта 4 через усилители мощности подключены светоиндикаторы и источники звукового сигнала для сигнализации об отклонениях времени процесса от требуемого значения. По окончании процесса разработки интерфейса МП-контроллера необходимо определить области адресов памяти МП-контроллера для размещения программы, данных и специфицировать рабочие регистры МП, а затем разработать БСА. Допустим, рабочая программа начинается с адреса 0000Х и объем ее не должен превышать емкости одного корпуса БИС ПЗУ со структурой 256 х 8.
Контроллер имеет и ОЗУ (64 х 8), используемое в качестве памяти данных и для реализации стека. Загрузка программного стека в МП К580 осуществляется в порядке убывания адресов.
Рисунок 59 – Схема интерфейса МП контроллера
Регистровой паре ВС присвоим функции счетчика для подсчета длительности временного интервала. В паре DE будем представлять величину установки для сравнения фактического времени с эталонным.
Но так как сравнение времен должно выполняться только после окончания процесса измерения, то эту же регистровую пару можно использовать и для программной реализации временной задержки, равной заданной точности измерений временного интервала длительностью 0,01 с.
Допустим, что эталонное время перемещения подвижного органа от позиции датчика 1 до 2 в регулируемом устройстве равно 7,70 с Д2 и хранится в ячейках ОЗУ с адресами 0400Н и 0401Н.
Рисунок 60 – Схема алгоритма измерения и индикации временного интервала
На рисунке 60 представлена БСА работы МП-контроллера, предназначенного для измерения и индикации временного интервала. После включения системы, т.е. после нажатия кнопки «сброс», счетчик команд (и триггер Q) обнуляются и МП выполняет обращение к ПЗУ по адресу ООООН, который является начальным адресом программы. Программа начинается с процедуры инициализации контроллера, которая содержит команды загрузки регистра - указателя стека и записи в ОЗУ кода эталонной установки. После этого МП-контроллер переходит в состояние ожидания события, постоянно опрашивая входной порт 1 и анализируя состояние входного сигнала Q на линии DO. После того, как 0=1, содержимое регистра-аккумулятора увеличивается на 1 через каждые 0,01 с до тех пор, пока на выходе триггера Q сигнал не приобретает нулевое значение. Число X, загружаемое в регистровую пару DE, имеет значение, обеспечивающее временную задержку 0,01 с при выполнении соответствующей подпрограммы (DELAY).
Программа, реализующая алгоритм для МП-контроллера, имеющего интерфейс, представленный на рис. 59, и БИС ПЗУ и ОЗУ, подключенные к шине адреса в соответствии с оговоренной ранее таблицей адресов, имеет следующий вид:
INIT: |
LXI |
SP,0438H ; |
установка начального адреса стека |
|
LXI |
H,0400H ; |
загрузка в HL адреса ОЗУ |
|
MVI |
A.07H ; |
загрузка в А старшего байта установки |
|
MOV |
M,A ; |
запоминание в ЗУ старшего байта |
|
INR |
L ; |
инкремент указателя памяти HL |
|
MVI |
A.69H ; |
загрузка в А младшего байта установки |
|
MOV |
M,A ; |
запоминание в ОЗУ |
SPEED: |
LXI |
B,0000H ; |
гашение счетчика ВС |
WAIT: |
IN |
01H ; |
ввод из порта 1 |
|
ANI |
01H ; |
маскирование линии D |
|
JZ |
WAIT ; |
цикл ожидания начала процесса |
COUNT: |
CALL |
DELAY ; |
временная задержка 0,01 с |
|
MOV |
A.C ; |
инкремент С |
|
ADY |
01H ; |
через каждую 0,01 с |
|
DAA |
; |
десятичная коррекция |
|
MOV |
C,A ; |
фиксация нового значения в С |
|
MOV |
A,B ; |
|
|
ACI |
ООН ; |
(АЖВ)+(С) |
|
DAA |
; |
|
|
MOV |
B,A ; |
фиксация нового значения в С |
|
IN |
01H ; |
ввод из порта 1 |
|
ANI |
01H ; |
проверка Q |
|
JNZ |
COUNT ; |
переход, если Q=/Q |
|
MOV |
A,B |
|
|
OUT |
02H ; |
вывод старшего байта на дисплей |
|
MOV |
A,C |
|
|
OUT |
03H ; |
вывод младшего байта на дисплей |
|
MOV |
E,M ; |
загрузка в Е младшего байта установки |
|
DCR |
L ; |
модификация указателя |
|
MOV |
D,M ; |
ОЗУ загрузка в D старшего байта установки |
|
MOV |
A,B ; |
|
|
CMP |
D ; |
сравнение старших байтов |
|
JNC |
MORE ; |
переход, если (B)>(D) |
|
MOV |
A,C ; |
|
|
CMP |
E ; |
сравнение младших байтов |
|
JNC |
MORE ; |
переход, если (С)>(Е) |
|
MVI |
A.01H ; |
|
|
OUT |
04H ; |
вывод сигнала МЕНЬШЕ УСТАНОВКИ |
|
JMP |
SPEED ; |
; вывод сигнала БОЛЬШЕ УСТАНОВКИ |
MORE: |
MVI |
A.01H |
|
|
OUT |
04H |
|
|
JMP |
SPEED ; |
переход в исходное состояние |
DELAY: |
MVI |
D0.3H ; |
; подпрограмма задержки 0,01 с. |
LOOP2: |
MVI |
E.OFFH |
|
LOOP1: |
NOP |
|
|
|
NOP |
|
|
|
NOP |
|
|
|
NOP |
|
|
|
DCR |
E |
|
|
JNZ |
LOOP1 |
|
|
DCR |
D |
|
|
JNZ |
LOOP2 |
|
|
RET |
|
|
Выводы и пояснения:
1. Регистровая пара HL применяется как регистр адреса установки в ОЗУ, запись в которое производится, начиная со старшего байта, а считывание в регистровую пару DE - с младшего. Это позволяет исключить одну операцию модификации содержимого HL.
2. В качестве установки используется не заданное значение (7,70 с), а уменьшенное на 1 заданной точности измерения, а именно 7,69 с. Это вызвано тем, что в соответствии с БСА программа построена таким образом,
что она сначала выполняет операцию инкрементирования счетчика сотых долей секунды, а вслед за этим - проверку окончания процедуры измерения временного интервала.
3. Использование команды суммирования содержимого аккумулятора с содержимым признака переноса АС1 необходимо для учета переноса из младшего байта счетчика в старший.
4. Анализ написанной программы показывает, что процедура сравнения фактически измеренного времени и установки начинается со сравнения старших байтов, и только в этом случае, если содержимое регистра В окажется равно содержимому регистра D, то выполняется сравнение и младших байтов, расположенных в регистрах С и Е.