- •Лабораторная работа №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.
