- •Лабораторная работа №1
- •Справочные данные.
- •Задание на выполнение лабораторной работы.
- •Лабораторная работа №2
- •Справочные данные
- •Система ветвления
- •Арифметические операции
- •Лабораторная работа №3
- •Справочные данные
- •Лабораторная работа №4
- •Справочные данные Описание модуля интерфейса mdpif1-0 (midicontrol)
- •Аппаратное квитирование
- •Программное квитирование
- •Структура посылки
- •Возможные сообщения об ошибках
- •Ошибка кадровой синхронизации
- •Ошибка превышения темпа
- •Программные операции
- •Инициализация
- •Пример инициализации
- •Регистр состояния
- •Замечание: Для tty биты 5и 6 не определены. Регистр данных
- •Передача символа
- •Прием символа
- •Лабораторная работа №5
- •Справочные данные
- •Команды для работы с индексным регистром
- •Лабораторная работа №6
- •Справочные данные
Лабораторная работа №1
Цель работы.
Знакомство с Системой Программирования PROSYS (PROgramming SYStem) для ПЛК австрийской фирмы Bernecker&Rainer Industrie-Elektronik Ges.m.b.H.(B&R), с языком списка операторов STL. Ознакомление с командами загрузки/сохранения и логическими командами.
Справочные данные.
Все имеющиеся в наличии ПЛК оснащены процессором MOTOROLA (HITACHI) 6303, в котором приняты следующие обозначения:
где
X - 16-ти разрядный индексный регистр,
SP! - Указатель стека,
PC - Счетчик команд,
A, B - 8-ми разрядные аккумуляторы, которые образуют 16-ти разрядный аккумулятор D, где B - младший байт, A - старший байт.
Кроме этого существует регистр состояния, в котором нас интересуют
Флаг переноса - C,
Флаг нулевого результата - Z,
Флаг отрицательного результата - N.
Программа на языке списка операторов, или STL, представляет собой список строк, каждая из которых может иметь следующий вид:
Метка Код операции Предварительный выбор адреса Адрес Комментарий
(4 симв.) (4 симв.) (1 симв) (до 17 симв.) (до 64 симв.)
Табл.1.1
Операции, используемые в данной работе
Наименование команды |
Символьное описание |
Пояснение |
|
Команды загрузки |
|
LDAA |
(M)ÞA |
Содержимое ячейки памяти загружается в аккумулятор А |
LDAB |
(M)ÞB |
Содержимое ячейки памяти загружается в аккумулятор В |
LDD |
(M:M+1)ÞD, т.е.(М)ÞA, (M+1)ÞB |
Содержимое ячейки памяти загружается в аккумулятор D |
|
Команды сохранения |
|
STAA |
AÞ(M) |
Содержимое аккумулятора А сохраняется в ячейке памяти |
STAB |
BÞ(M) |
Содержимое аккумулятора B сохраняется в ячейке памяти |
STD |
DÞ(M:M+1), т.е. AÞM, BÞ(M+1) |
Содержимое аккумулятора D сохраняется в ячейке памяти |
|
Логические команды |
|
ANDA |
A&(M)ÞA |
Логическое И (логич. умнож.) |
ANDB |
B&(M)ÞB |
Логическое И |
ORAA |
AÚ(M)ÞA |
Логич. ИЛИ (логич. слож.) |
ORAB |
BÚ(M)ÞB |
Логическое ИЛИ |
EORA |
AÅ(M)ÞA |
Логическое искл. ИЛИ |
EORB |
BÅ(M)ÞB |
Логическое искл. ИЛИ |
Табл.1.2
Логические операции
a |
b |
a&b |
aÚb |
aÅb |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Табл.1.3
Предварительный выбор адреса
I |
Цифровой вход |
S |
1-бит. Запуск таймера |
O |
Цифровой выход |
T |
1-бит. Сигнал истечения времени |
F |
Флажок (1 бит памяти) |
P |
Периферийный модуль |
R |
Регистр (8 бит памяти) |
X |
Индексный регистр |
# |
Непосредственный постоянный операнд (константа) |
! |
Указатель системного стека |
1-битовая память:
флаги F 000-F 499 - сбрасываемая;
F 500-F799 - несбрасываемая.
8-битовая память:
регистры R 0000-R0019 - сбрасываемая;
R 0020-R7167 - несбрасываемая.
Системные флаги и регистры (их использование в пользовательских программах может привести к проблемам):
R 0800-R1499 и
F 800-F 999.
Ввод дискретных сигналов осуществляется переключением тумблеров на имитаторе входных дискретных сигналов (16 каналов, адреса 0-F). Все значения отображаются на светодиодах зеленого цвета в том же модуле.
Для доступа к значениям модуля ввода дискретных сигналов перед адресом используется префикс I.
Например.
LDAA I 051 Загрузить в аккумулятор А значение 1-го входа
модуля ввода, расположенного в 5-ом слоте базовой кассеты.
Для доступа к значениям модуля вывода дискретных сигналов перед адресом используется префикс О.
Например.
STAA O 061 Вывести значение аккумулятора А в 1 выход
модуля вывода, расположенного в 6-ом слоте базовой кассеты.
Значения выходных сигналов отображаются светодиодными индикаторами желтого цвета на панели модуля вывода дискретных сигналов.
Для инверсных входов перед адресом I используется префикс N.
Например.
ORAA N I 061 Загрузить в аккумулятор А значение
A or not (I 061)
Для инверсных выходов перед адресом O используется префикс N.
Например.
STAA N O 076 Записать инвертированный результат на выход O 076.
Адрес входного или выходного канала выглядит так: I/O xyz,
Где x - номер кассеты (0 - базовая кассета),
y - номер слота, в котором расположен модуль,
z - номер канала в модуле.
Адресация с указанием места используется для I, O, P.
В ПЛК Compact дискретные входы имеют адреса I 040-I 04F, дискретные выходы - O 050-O 05D.
Завершается любая программа оператором END.
Программа выполняется циклично, начиная с первой команды, последовательно доходит до оператора END и начинает программу заново.
Для запуска Системы Программирования PROSYS необходимо:
1. Включить электропитание PC.
2. Найти каталог PG, войти в него.
3. Набрать на клавиатуре pg и нажать клавишу []
или
1. Найти каталог PG, войти в него.
2. Запустить командный файл pg.bat.
Система Программирования запущена.
Для выхода из Системы Программирования необходимо:
1. Ввести в командную строку команду END.
2. Нажать [F8 END].
Командная строка служит для ввода операционных команд. Наиболее важные команды могут вводиться также с помощью функциональных клавиш [F1]-[F8]. С помощью [F9] и [F10] становятся доступными дополнительные функции.
Для удаления всей программы надо набрать в командной строке NEW и подтвердить свои действия.
Для сохранения программы необходимо нажать [F8 SAVE], ввести имя файла (до 8 символов) без расширения, под которым вы хотите сохранить программу или часть программы. Система Программирования автоматически добавит расширение *.prg для программ, написанных на STL. Затем надо нажать функциональную клавишу [F1 PROG]. Т.е. надо выполнить команду
[F8 SAVE]<FNAME>[F1 PROG][].
Для загрузки программы надо выполнить команду
[F7 LOAD][F1 PROG]<FNAME>[].
Если не введено имя файла, то отображаются все файлы с расширением *.prg. Требуемая программа может быть выбрана и загружена из каталога с помощью курсора и функциональных клавиш.
Вызов редактора STL: [F1 S_LIST].
Нажав клавишу [] в командной строке, вы переместите курсор на строку ввода редактора STL. На этой строке могут вводиться все команды STL и комментарии. Строка ввода разделяется на несколько полей редактирования. Курсор можно возвратить на командную строку с помощью клавиши [Esc].
Все строки STL имеют последовательные номера. Строки комментариев не нумеруются. Они всегда получают номер следующей строки программы. Нумерация производится автоматически.
Строки комментариев маркируются символом "*" в начале строки и не имеют индивидуальных номеров.
Метка является комбинацией цифровых и буквенных символов длиной не более 4 символов. Первый символ - всегда буква..
Мнемокоманда ассемблера для процессора вводится в поле длиной 4 символа. Система Программирования контролирует правильность мнемоники.
Инверсия может применяться только для адресов 1 бит. Для инверсии необходимо нажать клавишу [N]; курсор должен находиться в поле предварительного выбора адреса. Нажав клавишу [N] еще раз, можно деактивировать инверсию.
Поле предварительного выбора адреса содержит один из вариантов символов, указанных в таблице 1.3.
Адрес необходимой ячейки памяти вводится в поле адреса, имеющее длину до 17 символов.
Формат непосредственного операнда (константы) (предварительный выбор адреса - #) можно задать с помощью первого символа:
" " - десятичный формат;
"$" - шестнадцатеричный формат;
"%" - двоичный формат;
"" - ASCII.
Поле символьных имен является индикационным. (до 41 символа). Для того, чтобы ввести или изменить символьное имя, курсор устанавливается на поле символьных имен с помощью [F5 SYM_INP]. Эта функция вызывается из строки программы, в которой имеются адреса I, O, R, F, S, T. Переключение между режимами представления символьного имени: 14 символов или 41 осуществляется с помощью [F6 SYM_LEN].
Вставить строку (добавить строку "NOP") можно, нажав [Ctrl]+[Ins], а [Alt]+[Ins] приведет к вставке строки комментария.
Удалить строку можно с помощью [Ctrl]+[Del].
Выход из редактора STL - [Esc].
Запуск отладчика STL - RUN[]. Осуществляется следующее:
1. Программа проверяется на полноту таблицы меток. Если она не полна или если превышен максимальный порядок ветвления (42 строки), то выводится сообщение об ошибке.
2. Программа передается в ОЗУ ПЛК.
3. Вызывается процедура тестирования состояния STL.
Распечатать в файл: Команда PRINT[] в командной строке или [F10]+[F1 PRINT][]. Распечатать программу: напротив PROGRAM установить "Y". B качестве целевого устройства (Output-Device) указать вместо LPT - FILE, ввести имя файла с расширением *.txt и нажать [F7].Текст программы вы можете найти в каталоге PGDEF.