
- •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.3 Процедуры и подпрограммы
Разрабатывая ПО контроллеров, программист применяет два способа организации программ:
монолитный, когда прикладная программа разрабатывается как единое целое;
модульный, когда программа строится из отдельных программных блоков. Каждый из них выполняет законченную логическую функцию, т.е. вычислительную процедуру, оформляемую в виде подпрограмм, к которой вызывающая (основная) программа может обращаться по необходимости. Обращение к подпрограмме реализуется вызовом по команде CALL MARK, где MARK - содержательное имя процедуры, используемое в качестве метки, отмечазжющей команду подпрограммы. Командой CALL в стеке сохраняется значение счетчика команд, и возврат из подпрограммы реализуется в то место основной программы, откуда был осуществлен вызов. Поэтому подпрограммы заканчиваются командой возврата RET (безусловного или условного), которая восстанавливает содержимое счетчика команд из стека. Командой CALL не сохраняется в стеке содержимое регистров общего назначения и, если подпрограмма использует те же рабочие регистры, что и основная программа, то она должна обеспечить сохранение их содержимого. Хранение текущего содержимого регистров осуществляется стеком. Например, подпрограмма, в которой реализуются перечисленные функции, составляется так:
MARK: |
PUSH PSW |
; сохранить в стеке содержимое |
|
|
; аккумулятора и признаков |
|
PUSH В |
; сохранить содержимое регистровой пары ВС |
|
PUSH D |
; сохранить DE |
|
PUSH H |
; сохранить HL |
|
: |
; текст подпрограммы |
|
POP H |
; восстановить содержимое регистровой пары HL |
|
POP D |
; восстановить DE |
|
POP В |
; восстановить ВС |
|
POP PSW |
; восстановить PSW |
|
RET |
|
Восстановление содержимого регистров выполняется в порядке, обратном порядку упаковки в стек. Процесс вложения программ заключается в последовательном вызове друг у друга подпрограмм, а их число называется глубиной вложенности, которая ограничивается емкостью стека, т. е. размерами области оперативной памяти, отведенной для стека и адресуемой указателем стека SP.
Чтобы подпрограмма успешно работала, необходимо однозначно определить место хранения ее исходных данных и выходные параметры.
Параметрические подпрограммы требуют дополнительных параметров для вычисления (например, умножения).
Непараметрические подпрограммы - это подпрограммы, в которых результат выполнения не зависит от момента вызова подпрограммы и места в основной программе, из которого осуществлен вызов. Например, подпрограмма реализации временной задержки длится одну секунду. Но ее можно оформить и как параметризуемую, если в основной программе требуется реализация временных задержек различной длительности. Основная программа при этом обеспечивает передачу в подпрограмму установок, обеспечивающих требуемое время задержки.
Возможности МП характеризуются тремя способами передачи параметров:
- через память. Основная программа обязательно содержит последовательность команд:
STA MEMORY
CALL MARK 1
или:
LXI H, MEMORY MOV M,r
CALL MARK 1
Подпрограмма MARK 1 должна содержать команду LDA MEMORY. При передаче выходных параметров через память в подпрограмме должна соблюдаться такая последовательность команд'
STA MEM1
RET
или:
LXI H, MEM1
MOV М,г
RET
В основной программе после команды вызова подпрограммы должна быть команда LDA MEM1;
- через регистры. Осуществляется аналогичным образом, но содержимое регистра, выступающего посредником между основной программой и подпрограммой, в стеке не сохраняется.
Программа умножения байтов. В аккумуляторе находится множитель, в регистре С - множимое, а результат формируется в регистровой паре HL:
MULT: DCR A ; декремент множителя RM
RM ; возврат, если множитель меньше нуля
DAD В ; суммирование множимого
JMP MULT
До начала работы этой подпрограммы (до команды CALL MULT) основная программа должна обеспечить передачу множителя в аккумулятор, множимого - в регистр С, а регистры В, H, L - обнулить;
- через регистр признаков. В результате выполнения операции сравнения модифицируется значение признака переноса СУ и этот признак может служить выходным параметром для соответствующей подпрограммы сравнения SOMPR и основная программа должна содержать последовательность команд:
CALL SOMPR
JC LAWEL1
При передаче параметров с помощью признаков запрещается сохранять в стеке значение PSW (содержимое регистра признаков и аккумулятора).