
- •Сибирский государственный аэрокосмический
- •© Сибирский государственный аэрокосмический университет имени академика м. Ф. Решетнева, 2005
- •Оглавление
- •2. Программирование лабораторных стендов на базе
- •Введение
- •1. Программирование и разработка систем автоматического управления на базе контроллеров рк5100
- •1.1. Основной состав программируемых контроллеров рк5100
- •Основные типы применяемых модулей озу (мозу), вставляемых в центральное гнездо модуля центрального процессора для ввода и отладки еще не отлаженной программы следующие (в скобках указан объем памяти):
- •Основные типы применяемых модулей пзу (мпзу), вставляемых в центральное гнездо модуля центрального процессора, для работы с отлаженной программой, следующие (в скобках указан объем памяти):
- •Примечание: в каркасах пк0-пк1, на месте 0 стоит модуль расширения
- •1.2. Виды систем исчисления контроллеров рк5100 Связь между десятичной d10, двоичной d2, восьмеричной d8 и шестнадцатеричной d16 системами исчисления показана в табл. 1.1.
- •Виды систем исчисления контроллеров рк5100
- •1.3. Структура памяти контроллеров рк5100
- •1.4. Система команд контроллеров рк5100
- •Список инструкций контроллера рк5100
- •Выходная инструкция «Переместить файл в модуль»:
- •[Унс{000…177}] (Номер сектора, если файл а не в 0 – странице),
- •Выходная инструкция. «Переместить из модуля в файл» :
- •Прс{0000…1777} (Нач. Адрес файла а из 0 – страницы),
- •Выходная инструкция. «Читать слово из файла»:
- •[Унс{000…177}] (Номер сектора, если файл а не в 0 – странице),
- •Выходная инструкция. «Записать слово в файл»:
- •Выходная инструкция. «Переместить файл»:
- •1.5. Пограммирование модулей ввода-вывода дискретных сигналов постоянного тока контроллера рк5100
- •1.6. Программирование модуля вывода непрерывных сигналов постоянного тока контроллера рк5100
- •1.7. Программирование модуля ввода непрерывных сигналов постоянного тока контроллера рк5100
- •1.8. Программирование модуля ввода импульсных сигналов контроллера рк5100
- •Формат регистра счетчиков каналов 1-2
- •Формат уставок
- •1.9. Основные положения по разработке дипломных и курсовых проектов на базе контроллеров рк5100
- •Листинг программы на ркс:
- •2. Программирование лабораторных стендов на базе контроллеров рк5100
- •2.1. Лабораторная работа по программированию стенда «управления конвейерной линией»
- •2.1.1. Теоретические основы программирования
- •2.2.2 Варианты лабораторных работ Вариант 1
- •Вариант2
- •Вариант3
- •Вариант4
- •Вариант5
- •Вариант6
- •Вариант7
- •Вариант8
- •Вариант9
- •Вариант10
- •Вариант11
- •Вариант12
- •Вариант13
- •Вариант14
- •Вариант15
- •Вариант16
- •Вариант17
- •Вариант18
- •Вариант19
- •Вариант20
- •Вариант21
- •2.1.3. Порядок выполнения лабораторной работы
- •2.2. Лабораторная работа по программированию стенда «управления температурой нагревателя»
- •2.2.1 Теоретические основы программирования
- •2.2.2 Варианты лабораторных работ
- •2.2.3. Порядок выполнения лабораторной работы
- •2.3. Лабораторная работа по программированию стенда «управления током нагрузки»
- •2.3.1 Теоретические основы программирования
- •2.3.2 Варианты лабораторных работ
- •2.3.3. Порядок выполнения лабораторной работы
- •Заключение
- •Библиографический список
- •Приложения Приложение 1 Структура памяти контроллера рк5100 для адресов 0000-0037
- •Приложение 2 Структура памяти контроллера рк5100 для адресов 0040-0077
- •Приложение 3 Структура памяти контроллера рк5100 для адресов 0100-0137
- •Приложение 4 Структура памяти контроллера рк5100 для адресов 0140-0337
- •Приложение 5 Структура памяти контроллера рк5100 для адресов 0400-10017
- •Приложение 6 Структура памяти контроллера рк5100 для адресов 10020-17777
- •Приложение 7 Структура памяти контроллера рк5100 для адресов 20000-77777
- •Приложение 8
- •Приложение 9
- •Приложение 10
- •Приложение 11
- •Приложение 12
- •Приложение 13
- •660014, Г. Красноярск, просп. Им. Газ. «Красноярский рабочий», 31.
2.1. Лабораторная работа по программированию стенда «управления конвейерной линией»
Цель работы.
Выполнить лабораторные задания (варианты 1-19), для закрепления навыков в программировании на микропроцессорном стенде управления конвейерной линией.
Задачи работы.
По заданию преподавателя взять вариант лабораторной работы и составить с помощью САПР (SAP 32FK ) рабочую программу, изучив предварительно раздел данного руководства «теоретические основы программирования». Cкомпилировать рабочую программу и загрузить в контроллер. Отладить программу на стенде и показать работу отлаженной программы преподавателю.
Форма отчета по лабораторным работам.
Рабочая программа в виде файла fk на дискете и демонстрация правильности работы программы на стенде.
2.1.1. Теоретические основы программирования
Программирование стенда основано на использовании базового языка релейно-контактных символов контроллеров Микродат.
Программно-логическая модель стенда (рис. 2.1.), который представляет из себя имитатор конвейерной линии включает в себя:
На месте М00 установлен 16 – разрядный модуль вывода-ввода дискретных каналов постоянного напряжения 24 В, в котором младшие 16 разрядов являются выводом сигналов постоянного тока 24 В (адреса 000.00–000.16), а старшие 16 разрядов являются вводом сигналов постоянного тока 24 В (адреса 100.00–100.16). Данный модуль имеет наименование КМ5800 и маскируется на нулевом месте контроллера (с процессором КМ 5330) символом y/x , в среде САПР SAP 32 FK.
Назначение выходов и входов модуля на месте М00 следующее:
var HL1 000.00 //включение индикаторной лампы HL1
var HL2 000.01 // включение индикаторной лампы HL2
var HL3 000.02 // включение индикаторной лампы HL3
var M_R 000.03 // включение двигателя по часовой стрелке
var M_L 000.04 // включение двигателя против часовой стрелки
var SA1 100.00 //тумблер задания режимов SA1
var SA2 100.01 // тумблер задания режимов SA2
var SA3 100.02 // тумблер задания режимов SA3
var SB1 100.03 //кнопка задания режимов SB1
var SB2 100.04 // кнопка задания режимов SB2
var SB3 100.05 // кнопка задания режимов SB3
var SQ3 100.06 //левое крайнее положение конвейера
var SQ2 100.07 //среднее положение конвейера
var SQ1 100.10 // правое крайнее положение конвейера
var SQ4 100.11 //датчик аварии по наличию предмета
в конвейерной линии
Датчики SQ2 и SQ4 работают инверсно (исходное положение – 1, срабатывание – 0). Датчики SQ1 и SQ3 работают в прямом коде (исходное положение – 0, срабатывание – 1).
Команды M_R и M_L самоблокированы на реле (при одновременной подаче двух команд сработает только одна команда).
HL3 HL2 HL1
SQ3 SQ2 SQ1
SQ4
M_ R
SA3 SA2 SA1 SB3 SB2 SB1
Рис. 2.1. Схема стенда управления конвейерной линией
Алгоритм программы:
– по кнопке пуск SB1 происходит движение от датчика SQ1 до датчика SQ3 с остановом на данных датчиках в течение 0,5 с и подсвечиванием замкнутых состояний SQ1 и SQ3 на HL1 и HL3;
– прекращение возвратно-поступательного движения конвейера происходит при срабатывании инфракрасного датчика SQ4 (перекрытие светового потока датчика рукой).
Базовая программа работы стенда (название STEND1.fk) представлена ниже, а варианты лабораторных работ приведены после листинга программы.
//БАЗОВАЯ ПРОГРАММА СТЕНДА (ФАЙЛ STEND1.FK)
#define maska0 1 1
#define maska1 0 0
#define maska2 0 0
#define maska3 0 0
#define Address 10020
#define Interrupt 0
#define Block 0
#define Scan 377
#define Period 0
var HL1 000.00
var HL2 000.01
var HL3 000.02
var M_R 000.03
var M_L 000.04
var SA1 100.00
var SA2 100.01
var SA3 100.02
var SB1 100.03
var SB2 100.04
var SB3 100.05
var SQ3 100.06
var SQ2 100.07
var SQ1 100.10
var SQ4 100.11
var TIM 200
var TIK 200.16
[НСТ]00
[НБЛ]000
[СБС]000 [СБС]TIM
SB1 = [S]M_L, [ПБЛ]001
[НБЛ]001
SQ1 = [ ]HL1
SQ3 = [ ]HL3
SQ1 = [R]M_L
SQ1*TIK=[S]M_R, [СБС]TIM
SQ3 = [R]M_R
SQ3*TIK = [S]M_L, [СБС]TIM
SQ1+SQ3 = [ТВД]TIM[ПРК]5
[НОП]
^SQ4 = [ПБЛ]000
[КОН]