
- •Сибирский государственный аэрокосмический
- •© Сибирский государственный аэрокосмический университет имени академика м. Ф. Решетнева, 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.
1.3. Структура памяти контроллеров рк5100
Общая структура памяти РК5100 представлена в прил. 1…7. Память РК5100 может содержать до 32 кбайт слов, в зависимости от используемых модулей памяти ОЗУ и ПЗУ. Вся память разделена на 12810 секторов с номерами 000…177 по 25610 слов в каждом. Сектора объединены в страницы памяти по 4 кбайт слова (409610) в каждой (кбайт = 102410). Cтраница 0 с секторами 4…17 (0000…1777) физически располагается в модуле центрального процессора МЦП и представляет из себя ОЗУ переменных данных, в котором в адресах 00000…00077, 00100…00177 располагается таблица данных обмена с модулями каркаса 0…3, а в остальных адресах (200…377) расположено ОЗУ прямых арифметических операций, с данными без команды установки номера сектора (УНС); адреса в секторах 4…17 (0000…1777) физически не существуют. Страница 1…7 располагается в модулях ОЗУ или ПЗУ, от объема которых зависит до какой страницы может располагаться программа пользователя, причем в странице 1, в адресах 1000…10017, расположена область маски обмена и служебной информации (в которой указан минимальный адрес начала рабочей программы, принимающий значение не меньше 10020). Обычно с адреса 10020 располагается таблица используемых констант, которая затем переносится в область ОЗУ прямых арифметических операций (200…277). В зависимости от типа центрального процессора в адресах 1730…777, в странице 0 (в конце области ОЗУ косвенных арифметических операций), распологаеться служебная информация о ходе вычислений и сбоях в процессе работы, данную область нельзя ничем занимать.
Формирование адреса бита в РК5100 ведется по выражению:
AB = [I/O] [2 NK + K1] M K2 K3,
где: AB – адрес бита;
I/O – 1 если это модуль ввода (Х) и 0 - если это модуль вывода (Y);
NK – номер каркаса 0…3 (ПК0…ПК3);
K1 – 0 первые 16 каналов, 1 вторые 16 каналов;
M – место модуля в корзине 0…7;
K2 K3 = 00…17 номер одного из 16 каналов;
К1 К2 К3 = 000…017, 100…117 нумерация всех 32-х каналов модуля ввода-вывода.
Например, для модуля ввода (I/O = 1), установленного во втором каркасе (NK = 1) на пятом месте (М = 5) и для 20-го канала (К1 К2 К3 = 103), опрос бита будет выглядеть в виде ниже следующей записи на языке РКС:
-] [ -13503.
В таблице обмена, в ячейке 135, бит 03 будет отображать состояние 20-го канала модуля ввода (рис. 1.5), если он занесен в маску обмена, то есть если в ячейке 10005 содержится информация о маскировании всех 32х каналов модуля ввода сигналов постоянного тока (первых 16 каналов и вторых 16 каналов ).
0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0
1716
1514 13 12 11 10 7 6 5 4 3 2 1 0
0
4 0 0 4
0
[10005] = (040040)8*
Рис.1.5. Содержимое слово маски обмена
Обязательная информация в ячейках 10000…10010, 10016 (при 10011…10015 00000) задается при программировании с применением САПР (SAP32) или с помощью прибора программирования РК5200, посредством которых маскируются все модули ввода – вывода (16 или 32х канальные).
Для совмещенного модуля ввода – вывода КМ5800 (первые 16 каналов 000…017) маскируются как каналы вывода (в ячейках10000…10003), а вторые 16 каналов как каналы ввода (в ячейках10004…10007). Длительность скана Т определяется как произведение десятичного значения ячейки 10016 на 2 мс и его задают при маскировании следующим выражением:
T = [10016] 2 мс.
Длительность скана Т определяет суммарное время выполнения всей программы за время одного прохода программы.
Область сбоев и текущего состояния вычислительного процесса (1730…1777) имеет основную структуру ячеек памяти следующего вида:
–1730
– 1731
– …… служебная информация (зависит от типа центрального процесс-
сора);
– 1749
–1750–S0
область отображения текущего
состояния;
– 1751–S1 номер i-сегмента обозначается «S i»;
– 1752–S2 номер активного блока указан в битах 10, 07, 06 …00;
наличие команд ССТ, ЗСТ фиксируется нулем в бите 12;
наличие команды ОСТ фиксируется единицей в бите 13;
– 1766 – S16. обнуление сегмента фиксируется нулями в битах 14 и 15;
– 1767 – S17 игнорирование сегмента фиксируется нулем и единицей
в битах 14 и 15, а вычисление фиксируется единицей и нулем;
– 1770 – тип процессора;
– 1771 – тип модуля ОЗУ;
– 1772 – отказы начального запуска;
– 1773 – отказы интерпретатора;
–1774
– каркас 3 область отказов каркасов
0…3, где номер бита (0…7)
– 1775 – каркас 2 соответствует номеру места модуля;
– 1776 – каркас 1 единица в младшем байте соответствует отказу
– 1777 – каркас 0 « нет ответа» , единица в старшем байте соответствует
отказу «ом» или «оп».