Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
_______________
Санкт-Петербургский государственный
электротехнический университет (ЛЭТИ)
_____________________________________________________
ПРОГРАММИРОВАНИЕ ПРОМЫШЛЕННЫХ
КОНТРОЛЛЕРОВ В СИСТЕМЕ PROSYS
Методические указания
к лабораторным работам
Санкт-Петербург
1999
УДК 681. 3: 62 - 52
Утверждено
редакционно-издательским советом университета
в качестве методических указаний
СПбГЭТУ, 1999
Лабораторная работа 1
1. Цель работы
Начальное ознакомление с лабораторным стендом для изучения
программируемых логических контроллеров (ПЛК) (на примере
MIDICONTROL) фирмы B&R и приобретение навыков работы в Системе
Программирования PROSYS.
2. Описание лабораторного стенда
3
интерфейса помечен надписью "PG" на передней панели модуля. На
инструментальной ЭВМ под данный интерфейс задействован последовательный
порт.
Модуль ЦП CP41 (обозначен как CPU), используемый в составе
лабораторного ПЛК, построен на базе однокристального микропроцессора
Hitachi 6303, совместимом с оригинальным микропроцессором Motorola. Кроме
CP41 фирма B&R выпускает несколько других типов CPU-блоков,
отличающихся друг от друга быстродействием, органами индикации и
управления. Общим для них является использование микропроцессоров 6303
или 6309 (полностью программно совместим с 6303, кроме того, имеет
некоторые уникальные команды). Технические данные CP41 представле ны в
таблице:
Процессор Hitachi 6303
Быстродействие 250.000 операций типа регистр-регистр
в секунду
Модуль ЗУ программ пользователя объем: 16 Kбайт
тип: ЗУПВ/ЭСППЗУ ЕЕ32
Количество входов/ выходов цифровых: 192
аналоговых: 128
Количество регистров 7168
из них сохраняющихся: 7148
из них несохраняющихся: 20
Количество флажков 800
из них сохраняющихся: 300
из них несохраняющихся: 500
Время/дата программные часы
Адресуемые аппаратные таймеры 64
Программные таймеры 64
Временные циклы/импульсы 10, 100 мс, 1, 10 с
Потребляемая мощность 3.3 Вт
Диапазон рабочих температур 0 .. 60 °C
Влажность 0 .. 95 %
Структурная схема ПЛК представлена на рисунке:
В системном ПЗУ хранится
Модуль польз.
памяти программа тестирования,
Модуль ЦП выполняемая при включении
Польз. Систем- электропитания, однозадачная
ОЗУ ное ПЗУ операционная система и
отладчик. Пользователь не
Польз. ЦП Систем- имеет доступа в системное
ППЗУ ное ОЗУ
ПЗУ.
Системное ОЗУ в
основном предназначено для
Системный интерфейс временного хранения
системных переменных.
Пользователь имеет
TTY ЦАП АЦП ограниченный доступ в эту
4
часть памяти (в каждом конкретном случае возможности доступа оговариваются
особо). Кроме того, системное ОЗУ использует Система Программирования
PROSYS для передачи параметров между процедурами стандартных библиотек.
В пользовательском ОЗУ размещается прикладная программа и данные
пользователя. При сбоях в электропитании данные в этом ОЗУ сохраняются за
счет питания от резервной батареи.
Пользовательское ППЗУ служит для хранения прикладной программы и
сохраняет данные даже после сбоев электропитания. Пользователь не имеет
доступа в эту память. Программирование ППЗУ производится по команде из
программирующего устройства (персонального компьютера) в соответствии с
содержимым пользовательского ОЗУ. Процесс программирования происходит
параллельно с нормальной работой ПЛК.
Функциональные блоки, изображенные ниже магистрали системного
интерфейса, являются дополнительными и реализованы в виде отдельных
модулей расширения, устанавливаемых в слоты кассеты ПЛК.
Все модули ЦП снабжены светодиодным индикатором ERROR,
отображающим различные функциональные состояния. В режиме автономной
работы (программирующее устройство не подключено) индикатор состояния -
это единственное устройство отображения, которое может показать наличие
аппаратных сбоев и программных зависаний. Различные функциональные
состояния инициируют следующие типы мигания:
ЦП в состоянии останова
5
$0000 системные $4000 $8000 $C000
$00FF переменные
$0100 системный стек
$01FF
$0200 область LAD
$02FF
$0300 отладчик LAD
$03FF
$0400
регистры
(R 0000 — R 7167)
$1FFF
$2000 прикладная 1-битовые операционная
программа адреса (входы, система
выходы,
резервная таймеры,
область флажки)
$2FFF
$3000 P 000 — P 0FF
$30FF
$3100
резервная
область
6
операционной системы и резервных областей недоступны. Общий вид адреса в
представлении предварительного выбора имеет следую щий формат:
символ цифра цифра цифра цифра
где символ - это символ предварительного выбора адреса;
последующие цифры - собственно адрес.
Для I, O, P (см. ниже) используется адресация с указанием места в кассете
модулей:
предварительный выбор адрес кассеты номер места номер канала
адреса (тип аппаратного
модуля)
По типам данных в области адресации возможны следующие варианты
предварительного выбора адреса:
Символ Описание Размер в битах
I Цифровой вход 1
O Цифровой выход 1
R Регистр 8
F Флажок 1
S Запуск таймера 1
T Таймер 1
P Периферийный модуль 8
# Непосредственный операнд 16, 8
X Индексный регистр X 16
! Указатель системного стека 16
Несколько регистров и флажков резервируются для операционной
системы. Они не должны использоваться или могут только частично
использоваться прикладными программами:
Регистры: R 0800-R 1499;
Флажки: F 800-F 999.
7
PROSYS является многоязыковой программной системой; при реализации
своих задач управления пользователь может использовать конкретное языковое
средство или комбинацию из предлагаемых средств по своему усмотрению.
Имеются следующие типы представления решения задач:
1. Лестничные логические диаграммы (LAD);
2. Функциональные схемы (FP);
3. Логические схемы (LP);
4. Списки операторов (STL).
Рассмотрим их более подробно, а вместе с ними и другие лингвистические
возможности.
8
2.2.2.5. Символьные имена (SYMB)
Символьные имена являются идентификаторами, которые присваиваются
входам, выходам или областям памяти. После объявления символьного имени
пользователь может использовать его наравне с адресом объекта, для которого
это имя было объявлено.
9
[F6 SYMBOLS] Вызов редактора символьных имен (SYMB)
[F7 LOAD] Команда загрузки
[F8 SAVE] Команда сохранения
Более подробное изучение команд каждого из редакторов будет
излагаться по мере необходимости. Остановимся подробнее на командах
загрузки, сохранения, запуска и удаления программы, а также выхода из
PROSYS.
2.3.1. Загрузка
Для активизации команды загрузки необходимо нажать клавишу [F7
LOAD]. После этого требуется определение типа подгружаемого файла. Для
этой цели определены специальные команды, указываемые в строке подсказки
после активизации команды LOAD. Ниже приведены наиболее употребительные из них:
[F1 PROG] STL-файл (расширение PRG)
[F2 SYMBOLS] SYMB-файл (расширение SYM)
[F3 DATA_TBL] TAB-файл (расширение TAB)
[F5 LAD] LAD-файл (расширение LAD)
Выбор типа подгружаемого файла осуществляется нажатием
соответствующей функциональной клавиши или набором в командной строке
соответствующей команды.
После определения типа необходимо задать имя подгружаемого файла.
Задание имени осуществляется по правилам MS-DOS. После ввода имени файла
необходимо передать команду на выполнение нажатием клавиши [Enter]. Если
не задать имя файла, то Система Программирования выведет на экран список
всех файлов заданного типа в определенном для них каталоге. Перемещение по
списку осуществляется клавишами [] и [], вход в подкаталог - клавишей [F1
NEXTDIR], выход из подкаталога - клавишей [F2 PREVDIR].
По окончании загрузки файла производится переход в соответствующий
редактор и предоставляется возможность его редактирования.
2.3.2. Сохранение
Действия по сохранению аналогичны загрузке с той лишь разницей, что
команда сохранения активизируется нажатием клавиши [F8 SAVE]. При
сохранении нового файла его имя должно указываться обязательно. При
сохранении отредактированной версии уже существующего на диске файла
достаточно только задания самой команды (SAVE) в том случае, если
пользователь находится в соответствующем редакторе (по нему PROSYS и
определяет, что конкретно должно быть сохранено).
2.3.3. Запуск программы
Запуск программы на выполнение производится из STL-редактора по
выполнению команды RUN. Эта команда не имеет функциональной клавиши и
должна вводиться в командной строке. При ее выполнении производится
загрузка программы в память ПЛК и ее запуск. В случае возникновения ошибки
передачи выводится соответствующее сообщение. В том случае, если передача
прошла успешно, то PROSYS переходит в режим STL-отладчика и программа
начинает выполняться в ПЛК. Для выхода из отладчика (но не завершения
10
работы программы в ПЛК) необходимо нажать клавишу [Esc]. При этом будет
произведен возврат в STL-редактор. Для запуска в ПЛК новой программы
требуется повторение всех вышеуказанных действий.
2.3.4. Удаление программы
Удаление программы производится вводом команды NEW в командной
строке и последующим нажатием клавиши [Enter]. Для предотвращения
случайного удаления программы в командную строку выводится следующий
запрос:
W010 ARE YOU SURE ? (y/n)
ВЫ УВЕРЕНЫ ? (ДА/НЕТ)
При вводе [Y] вся программа удаляется (удаление производится из всех
редакторов), при вводе [N] процедура удаления прерывается.
11
Лабораторная работа 2
1. Цель работы
Освоение методики программирования в терминах лестничных
логических диаграмм (LAD) на примере изучения возможностей дискретного
управления с использованием модулей цифрового ввода/вывода.
2. Общие сведения
12
2.1.2.1. Нормально разомкнутый контакт
│ I 060
01────┤_├──────
│
│ I 065 F 107
01────┤ ├────────────────────┤+├───────── ─ ─ ─
│
│
02
13
│
[F2 CONTACT] [F8] [F] <адрес> [Enter]
[+] [F] <адрес> [Enter]
Если состояние младшего значащего бита пути изменяется от 0 к 1, то
этот контакт дает импульс, длительность которого строго равна одному циклу
программы.
Для этой функции необходимо определить флажок, который не может
переноситься программой в другую ячейку. Если генерация по положительному
перепаду используется неоднократно, то каждый раз необходимо выделять
новый флажок.
│ I 063 F 102
01────┤ ├────────────────────┤-├──────── ─ ─ ─
│
│
02
│
│ I 068 F 109
01────┤ ├────────────────────┤&├──────── ─ ─ ─
│
│
02
│
14
2.1.2.7. Временное хранение
│ I 068 F 100
01────┤ ├────────────────────┤*├──────── ─ ─ ─
│
│
02
│
[F2 CONTACT] [F9]+[F3] [PredAddr] <адрес> [Enter]
[*] [PredAddr] <адрес> [Enter]
Соединения пути сохраняются по указанному адресу; состояние пути при
этом не изменяется.
В качестве параметра [PredAddr] можно вводить только F, R. Этот тип
контакта нельзя устанавливать в первый и последний столбцы.
│ I 060 F 105
01────┤ ├────────────────────┤X├──────── ─ ─ ─
│
│
02
│
15
2.1.2.10. Условный переход
│ F 106
12 ─ ─ ─ ────────┤ ├───────>>NEXT
│ 14
│ I 06E F 108
13────┤ ├─────────┤ ├──── ─ ─ ─ ─
│
│
14>>NEXT
│ 12
│ F 103 0 072
15────┤ ├─────────┤ ├─────────── ─ ─ ─
│
│
16
[F2 CONTACT] [F9]+[F8] <Label> [Enter]
Введение метки дает возможность реализации условного перехода.
Переход на метку осуществляется, если путь не нулевой. В приведенном выше
примере переход со строки 12 на строку 14 произойдет в том случае, если
флажок F 106 будет хранить активное значение. Если путь нулевой, то LAD
будет выполняться в прежнем порядке по увеличению номеров строк. Под
меткой указывается номер строки, с которой продолжается или прерывается
обработка LAD. В строке, куда вторично вводится метка, не должно иметься
контактов (в данном примере это строка 14). Метка имеет максимальную длину
4 символа и начинается с буквы.
2.1.2.11. Соотношение И
Соотношение И реализуется последовательным соединением контактов.
│ I 060 I 064 O 070
01────┤ ├────────────────────┤ ├────────────────────( )────
│
│
02
Входной контакт I 060 соединяется с входным элементом I 064
соотношением логического И, результат присваивается выходному элементу O
070.
16
│
01──────────────────────────
│
│
02
[F2 CONTACT] [F3]
[Space]
Попытка проведения нового пути поверх существующего приведет к
удалению пути.
2.1.3.2. Вертикальное соединение
│ I 063
01────┤ ├───┬────────
│ │
│ I 068 │
02────┤ ├───┘
│
[F2 CONTACT] [F4] путь слева от курсора
[V]
[F2 CONTACT] [F5] путь справа от курсора
[Ctrl] [V]
Попытка проведения нового пути поверх существующего приведет к
удалению пути.
17
2.1.5. Выход из LAD-редактора
Для выхода из LAD-редактора необходимо воспользоваться одной из двух
команд:
[Esc]
Выход из LAD-редактора в командную строку. Последняя
обрабатываемая LAD транслируется в STL-представление.
[Ctrl]+[Esc]
Выход из LAD-редактора в командную строку. Изменения с последнего
обращения к LAD не рассматриваются и LAD не транслируется.
18
функционирования в диапазоне температур 0…60 градусов при влажности
0..95% без конденсации.
19
PROSYS не устанавливает точку входа в программу в коде STL. Для выполнения
этой установки производятся следующие действия:
После компиляции LAD-диаграммы осуществляется вход в STL-редактор.
При входе в окне редактирования выводится скомпилированный код
программы и в самой первой строке находится команда NOP (нет операции).
Производится переход в режим редактирования вводом в командную строку
номера редактируемой STL-строки (нулевая строка) с последующим
нажатием [Enter]. Курсор переходит в первую строку STL-кода.
Поверх команды NOP набивается команда перехода на подпрограмму вида:
JSR <name_lad>,
5. Содержание отчета
1. Цель работы.
2. Составленные LAD-диаграммы.
3. Выводы по работе.
20
Лабораторная работа 3
1. Цель работы
Освоение методики использования функциональных блоков (FBK) при
программировании в терминах лестничных логических диаграмм (LAD) на
примерах использования блоков обработки данных.
2. Справочные данные
21
Входы/выходы FBK - FBK может иметь максимум 48 входов и 47
выходов, каждый вход/выход может иметь имя, которое обычно кратко
описывает его назначение (6 символов).
Поле определения - каждый вход/выход приписывается к полю
определения, которое содержит информацию о форматах представления данных:
22
Определение текущего каталога как стандартного каталога или каталога
пользователя в зависимости от того, какой из каталогов использовался ранее.
[Esc]
Повторный вывод обзорного меню FBK, т.е. возврат на предыдущий
уровень.
[F4 LOAD_FBK]
Включение в LAD выбранного FBK. FBK отображается в инверсном
видеорежиме в LAD-редакторе. Если введенный FBK использует собственные
ячейки памяти, то их необходимо ввести. Собственные ячейки памяти являются
регистрами или флажками, которые используются программой для FBK
(например, для хранения результатов).
[F5 DISP_FBK]
Вывод на экран справочной информации по выбранному FBK. Клавиша
[Esc] осуществляет возврат в обзорное меню FBK.
[Esc]
Возврат в LAD-редактор.
Все стандартные FBK разбиты на группы в соответствии с их
функциональным назначением. Каждой группе отведен отдельный подкаталог в
каталоге стандартных блоков. В частности:
COMM — поддержка коммуникационных портов
HARDWARE — драйверы устройств
PANEL — панели интерфейса оператора
POS — поддержка позиционирования
SYSTEM — системные функции
UTILITY — сервисные модули
В связи с использованием FBK часто возникает необходимость
использования адресных контактов и меток. Адресный контакт используется для
передачи в функциональный блок адреса любого байта памяти и отображается
следующим образом:
│
│ R1000
06 [ADR ├──────────
│
│
Ввод адресного контакта в LAD-диаграмме может быть осуществлен
следующими способами:
[F2 CONTACT] [F9]+[F5 ADR] <адрес> [Enter]
[F2 CONTACT] [F9]+[F5 ADR] [F3 SYM_INP] <SYM> [Enter]
[Shift]+[F6] <адрес> [Enter]
Метка используется для передачи в FBK начального адреса таблиц. Любая
метка не может содержать больше, чем четыре символа, причем первый символ
должен быть буквой. Метка отображается следующим образом:
│
│ TAB1
15 [AL ├─────────
│
│
Ввод метки выполняется следующим образом:
23
[F2 CONTACT] [F9]+[F6 AL] <имя> [Enter]
[Shift]+[F7] <имя> [Enter]
24
Вход/выход Описание Рекомендуем
ые типы
адресов
ENABLE Если ENABLE=1, то FBK будет выполняться. Если R, F, #
ENABLE=0, то массив, определенный начальным
адресом DEST, не изменится.
8BITS Определяет число распаковываемых битов: R, F, #
8BITS=0 - 2-байтовый регистр в 16 битов;
8BITS=1 - 1-байтовый регистр в 8 битов.
SOURCE Начальный адрес хранения распаковываемой [ADR] R
информации. Значение входа 8BITS определяет
длину регистра:1 или 2 байта.
DEST Начальный адрес 1-битовых переменных, в [ADR] F,
которые производится распаковка. [ADR] I
[ADR] O
25
00 ┌────────────────┐
│ │ PACK BITS INTO │
│ │ DATA REGISTERS │
│ #00001 ├────────────────┤
01──┤ ├─────────┤ ENABLE BTOR │
│ │ │
│ │ │
│ #00000 │ │
02──┤ ├─────────┤ 8BITS │
│ │ │
│ │ │
│ I 060 │ │
03 [ADR ├─────┤ SOURCE │
│ │ │
│ │ │
│ R 2000 │ │
04 [ADR ├─────┤ DEST │
│ └────────────────┘
│
│
05 ┌──────────────────┐
│ │ UNPACK DATA │
│ │ REGISTERS TO BIT │
│ #00001 ├──────────────────┤
06───┤ ├────────┤ ENABLE RTOB │
│ │ │
│ │ │
│ #00001 │ │
07───┤ ├────────┤ 8BITS │
│ │ │
│ │ │
│ R 2000 │ │
08 [ADR ├─────┤ SOURCE │
│ │ │
│ │ │
│ O 070 │ │
09 [ADR ├─────┤ DEST │
│ └──────────────────┘
│
Для выполнения настоящей лабораторной работы потребуются следующие
модули:
┌────────────────┐
│ CONVERT BINARY │
│ TO BCD │
├────────────────┤
1 ──┤ ENABLE BCDU │
│ │
1 ──┤ #DIG ERROR ├── 1
│ │
1 ──┤ LENGTH OVFL ├── 1
│ │
[ADR] 2 ──┤ SOURCE #POI ├── 1
│ │
[ADR] 2 ──┤ DEST │
└────────────────┘
26
Вход/выход Описание Рекоменду
емые типы
адресов
ENABLE Если ENABLE=1, то FBK будет выполняться. R, F, #
#DIG Указывает число ДКД разрядов (от 1 до 4) #
LENGTH Определяет число преобразуемых двоичных значений (от 1 #
до 16)
SOURCE Начальный адрес таблицы регистров, содержащей [ADR] R
преобразуемые двоичные значения. Длина таблицы зависит
от #DIG и LENGTH
DEST Начальный адрес таблицы регистров, хранящих [ADR] R
преобразованные в ДКД формат числа.
ERROR Выход равен 1, если один из входов неверно определен или R, F
не подсоединен.
OVFL Указывает, что одно из значений в таблице источника R, F
содержит двоичное значение, выходящее за пределы
допустимого диапазона.
#DIG Макс. Значение
1 9
2 99
3 999
4 9999
#POI При возникновении переполнения на этом выходе R
указывается номер соответствующего двоичного значения.
Если переполнение имеет место для нескольких двоичных
значений, то на этом выходе указывается номер последнего
преобразованного двоичного значения, которое привело к
переполнению
27
Вход/выход Описание Рекомендуе
мые типы
адресов
ENABLE Если ENABLE=1, то FBK будет выполняться. Если R, F, I
ENABLE=0, то массив с начальным адресом DEST не
изменится
8BITS Указывает формат массива: #, R
8BITS=0 - 2-байтовый формат
8BITS=1 - 1-байтовый формат
LENGTH Определяет число записей в массиве (от 1 до 32). #
VALUE Значение, которое необходимо записать в массив. #, R
DEST Начальный адрес таблицы регистров. Конечный адрес [ADR] R
зависит от LENGTH и 8BITS
4. Требования к отчету
1. Цель работы.
2. Созданные LAD-диаграммы с комментариями по их функционированию.
3. Выводы по работе.
28
Лабораторная работа 4
1. Цель работы
Освоение методики применения логических схем (LP) в процессе
создания LAD-диаграмм и создания таблиц данных.
2. Справочные данные
29
Комбинация клавиш Назначение
[F1 DEL_BLK] Удаление выбранного блока.
[Alt]+[Del]
[F2 NEGATE] Инвертирование входа/выхода, на котором расположен
[N] курсор.
[/]
[F3 CONNECT] Удаление или установка входа.
[Space]
[F4] Если курсор находится в логическом блоке, то
[V] непосредственно слева от блока формируется
вертикальное соединение к следующему пути.
[F5] Если курсор находится на стороне входов LB, то
[Ctrl]+[V] непосредственно справа от блока формируется
вертикальное соединение к следующему пути.
[F9]+[F3 BLK_LFT] Выбранный LB сдвигается влево на один столбец.
[Del]
[F9]+[F4 BLK_RT] Выбранный LB сдвигается вправо на один столбец.
[Ins]
[F9]+[F5 INS_LINE] Выбранный LB расширяется на одну строку. Для
[Ctrl]+[Ins] выполнения этой функции курсор должен находиться на
входной странице.
[F9]+[F6 DEL_LINE] Выбранный LB уменьшается на одну строку. Для
[Ctrl]+[Del] выполнения этой функции курсор должен находиться на
стороне входов LB.
2.2.2. Создание и использование таблиц
│ └┬┘ │ └──────────────┬───────────────────────┘
│ │ │ │
│ │ │ └──────── строка редактирования
│ │ └───────────────────────── маркер комментария
│ └──────────────────────────── номер строки
└──────────────────────────────── режим ввода
30
Режим ввода.
Если в этой позиции находится символ ">", то TAB-редактор работает в
режиме вставки. В этом режиме нажатие [Enter] приведет к вставке новой
строки. Если включен режим замены (символ ""), то аналогичное нажатие
приведет к переходу на следующую строку.
Включение режима вставки: [Ctrl]+[Ins]
[Alt]+[Ins]
Включение режима замены: [], [], [PgUp], [PgDn]
Маркер комментария
Если в данной позиции находится символ "*", то строка отмечается как
строка комментария. Пустые TAB-строки отмечаются этим маркером
автоматически. Комментарии могут быть введены после данных (для этого
необходимо нажать "*").
Как и в LAD-редакторе, в TAB-редакторе присутствуют командная
строка, строка сообщений и строка программируемых клавиш, назначение
которых аналогично. В строке программируемых клавиш представлены
следующие основные функции TAB-редактора (в режиме ввода):
[F1 S_LIST]
[F2 SYMBOLS]
[F3 LAD]
[F4 UNDO]
[F7 RECALL]
31
При изменении строки TAB командой UNDO для возврата к исходной строке
можно использовать данную команду при условии, что изменение не завершено,
путем нажатия [Enter].
32
В строку ввода TAB-редактора может быть введено несколько величин, одна
величина или не введено ни одной. При вводе можно смешивать величины в
разных форматах. Если в строке присутствует несколько величин, то они
разделяются запятой.
a 1
c
& 1
b
Запустите ее на выполнение и убедитесь в правильности функционирования.
N Х1 Х2 Y
0 0 0 1
1 0 1 0
2 1 0 1
3 1 1 0
В таблицу через запятые или пробелы должны быть введены следующие
значения: 1, 0, 1, 0.
33
Для реализации этого метода необходимо воспользоваться следующим
FBK:
Вариант Функция
1. I0 and ( I1 or not( I2 ) ) xor I3
2. I0 and I1 and ( I2 xor I3 )
3. ( I0 xor I1 ) or not( I2 xor I3 )
4. not(I0 and ( I1 xor I2 ) or I3 )
5. I0 xor ( not ( I1 ) and ( I2 or I3 )
6. I0 or I1 and not( I2 xor not( I3 )
34
3. Запустите на ПЛК полученную программу и убедитесь в правильности ее
функционирования. Продемонстрируйте ее выполнение преподавателю.
4. Требования к отчету
1. Цель работы.
2. Созданные LAD-диаграммы с комментариями по их функционированию.
3. Выводы по работе.
35
Лабораторная работа 5
1. Цель работы
Изучение возможностей тестирования состояния LAD-диаграмм как
важного инструмента разработки программ и обнаружения ошибок.
2. Справочные данные
36
Вывод активных значений в десятичном формате со знаком.
[F6 HEX]
Вывод активных значений в шестнадцатеричном формате.
[F7 BINARY]
Вывод активных значений в двоичном формате. В двоичном формате
можно вывести значение с максимальной длиной 1 байт. Если требуется вывести
на экран более одного байта необходимо пользоваться шестнадцатеричным
форматом представления.
Диапазоны представления чисел для разных режимов вывода приведены в
следующей таблице:
F1 MODE_ALL F2 MODE_FBK
Min Max Min Max
UNSIGNED 0 9 999 999 0 16 777 215
(=$FFFFFF)
DECIMAL -999 999 9 999 999 -9 999 999 16 777 215
(=$FFFFFF)
HEX $0 $ FFFFFF $0 $ FFFFFF
BINARY % 00 0000 % 11 1111 % 0000 0000 % 1111 1111
Переполнение >>>>>>> >>>>>>>>
Для вывода на экран и изменения содержимого произвольных ячеек
памяти используется команда [F8 LM_EDIT]. При активизации этой команды в
верхней части экрана появляются следующие поля:
Поле вывода символьных имен
В этом поле выводится символьное имя, присвоенное адресу, на котором
находится курсор (если данному адресу присвоено имя).
Поле состояния
Данное поле имеет следующую структуру:
37
После этого выводится запрос о необходимости асинхронной передачи данных в
контроллер:
W235 TRANSFER ASYNCHRON!!! CONTINUE (Y/N)?
(Асинхронная передача!!! Продолжить (да/нет)?)
[Y] - значение передается в соответствующую ячейку памяти;
[N] - отказ от передачи.
[F1 DECIMAL]
Содержимое ячейки памяти представляется в десятичном формате.
[F2 HEX]
Содержимое ячейки памяти представляется в шестнадцатеричном
формате.
[F3 BINARY]
Содержимое ячейки памяти представляется в двоичном формате.
[F4 ASCII]
Содержимое ячейки памяти представляется в формате ASCII.
[F5 BIT]
Выводится только младший значащий бит максимум 8-ми ячеек памяти.
Этот формат отображения используется более эффективно в сочетании с 1-
битовыми ячейками памяти.
Для выхода из режима применяются следующие команды:
[F7 EXIT0]
Выход из режима LM_EDIT c сохранением на экране полей состояния и
информации о модуле.
[F8 EXIT]
Выход из режима LM_EDIT без сохранения полей.
[Esc]
Выход из процедуры тестирования состояния LAD в LAD-редактор.
38
DIVA Деление 2-байтового значения на 1-байтовое (подкаталог UTILITY)
┌────────────────┐
│ DIVISION │
│ 2/1 BYTE │
├────────────────┤
1 ──┤ ENABLE DIVA │
│ │
2 ──┤ OP1 ERROR ├── 1
│ │
1 ──┤ OP2 ACTIVE├── 1
│ │
1 ──┤ SIGNED RESULT├── 2
└────────────────┘
Вход/выход Описание Рекомендуемые
типы адресов
ENABLE Если ENABLE=1, то FBK будет выполняться. R, F, #
Если ENABLE=0, то все выходы FBK будут равны
нулю.
OP1 Делимое (от 0 до 65535 при SIGNED=0 и от -32768 R, #
до 32767 при SIGNED=1)
OP2 Делитель (от 0 до 255 при SIGNED=0 и от -127 до R, #
127 при SIGNED=1).
SIGNED Формат делимых чисел: #
SIGNED=0 - положительные числа;
SIGNED=1 - представление двоичного дополнения.
ERROR Становится равным 1 при делении на 0. R, F
ACTIVE Равен 1, если значение RESULT правильно. R, F
RESULT Результат деления. Значение правильно только при R
ACTIVE=1
3. Задание на выполнение лабораторной работы
Составьте LAD-диаграмму деления 2-байтового значения на 1-байтовое с
вводом/выводом на цифровых модулях. Представление чисел - двоичное.
Ввод чисел осуществляется побайтно при помощи подачи управляющих
цифровых сигналов. Используйте цифровые входы в соответствии со
следующей таблицей:
Номер входа Назначение
0…7 вводимые байты чисел
8,9 не задействованы
A ввод мл. байта делимого
B ввод ст. байта делимого
C ввод байта делителя
D вывод результата
E сброс ошибки
F не задействован
39
Переход уровня управляющих сигналов инициирует соответствующую
функцию. В качестве вводимого байта берется состояние входов 0...7. При
делении на 0 все операции блокируются, и функционирование
восстанавливается лишь при подаче фронта на канал E.
Загрузите LAD-диаграмму в ПЛК и перейдите в режим тестирования
состояния LAD.
Проверьте правильность ее функционирования на ПЛК. В случае
обнаружения ошибок в функционировании программы проведите ее отладку,
привлекая для этой цели средства тестирования состояния LAD. Убедитесь в
корректной работе программы.
Выполните в режиме тестирования следующие действия:
Активизируйте режим отображения активных состояний контактов (путей) и
вывода числовых значений входов/выходов FBK. Установите
шестнадцатеричный формат вывода чисел.
Активизируйте поля состояния. Задайте в них ячейки памяти, через которые
программа производит обмен данными.
Продемонстрируйте преподавателю работу программы двумя способами:
переключением тумблеров симулятора на цифровых входах с регистрацией
получаемых значений на светодиодах блока цифрового вывода и на LAD-
диаграмме в режиме тестирования;
изменением значений в полях состояния в программной среде с регистрацией
результатов как в предыдущем пункте.
4. Требования к отчету
1. Цель работы.
2. Созданные LAD-диаграммы с комментариями по их функционированию.
3. Выводы по работе.
40
Лабораторная работа 6
1. Цель работы
Изучение программно-аппаратной поддержки приема, обработки и
выдачи ПЛК аналоговых сигналов при реализации систем управления.
2. Общие сведения
42
Вход/выход Описание Рекомендуе
мые типы
адресов
этом сумма CHAN и LENGTH не должна превышать 8.
DEST Начальный адрес таблицы регистров для хранения [ADR]R
преобразованных значений. В зависимости от значения
LENGTH блок генерирует таблицу длиной от 2 до 16
байт. Хранимые в них числа лежат в диапазоне от 0 до
1000, что соответствует аналоговому сигналу 0..10 B или
0..20 мA. Если в регистровой паре находится число в
диапазоне 1001..1023, то это указывает на превышение
входным сигналом максимального заданного значения.
ERROR Выход, указывающий на неправильное определение R, F
одного из входов FBK. Если ERROR=1, то регистры
DEST не обновляются текущим значением аналогового
сигнала, а хранят последнее значение, считанное до
перехода ERROR в 1.
BUSY Флаг занятости АЦП. Принимает высокое значение, R, F
если производится преобразование.
POINTR Содержит номер канала АЦП, для которого в настоящее R
время производится преобразование. Преобразованное
значение будет записано в соответствующую пару
регистров таблицы в ходе следующего выполнения FBK.
43
Преобразованные данные можно считать из следующих регистров:
45
Для MINICONTROL:
Для программного обеспечения модуля PEA6 используется
функциональный блок AINA (аналоговые входы) и AOTA (аналоговые выходы):
┌────────────────┐
│ ANALOG INPUT │
│ PEA. 10 BIT │
├────────────────┤
1 ───┤ ENABLE AINA │
│ │
1 ───┤ LENGTH ERROR ├─── 1
│ │
1 ───┤ SLOT BUSY ├─── 1
│ │
1 ───┤ CHAN TIME ├─── 1R
│ │
[ADR] 2 ───┤ DEST POINTR ├─── 1
└────────────────┘
46
Вход/выход Описание Рекомендуе
мые типы
адресов
BUSY Флаг занятости АЦП. Принимает высокое значение, R, F
если производится преобразование.
POINTR Содержит номер канала АЦП, для которого в настоящее R
время производится преобразование. Преобразованное
значение будет записано в соответствующую пару
регистров таблицы в ходе следующего выполнения FBK.
┌────────────────┐
│ ANALOG OUTPUT │
│ PEA. │
├────────────────┤
1 ───┤ ENABLE AOTB │
│ │
1 ───┤ LENGTH ERROR ├─── 1
│ │
1 ───┤ SLOT CLMP ├─── 1
│ │
1 ───┤ CHAN │
│ │
[ADR] 2 ───┤ SOURCE │
└────────────────┘
47
CLMP Для этого выхода устанавливается активный уровень, R, F
если выводимые величины выходят за пределы
допустимых диапазонов (0-1023).
MODE:
Mod c1 Mod c0
7 3 0
Mod c0 – режим канала 0, биты 0-2;
Mod c1 – режим канала 1; биты 4-6.
Режим Сигнал
0 10 В
1 2,5 В
2 0-20 мА
3 KTY10 (Температура в С)
4 KTY10 (Температура в F)
FILTER:
48
0 10 Гц 302 мс
1 50 Гц 62 мс
2 250 Гц 16,2 мс
3 1000 Гц 4,1 мс
RATE:
0 – Канал 1 не преобразуется;
1 – Проводится 1 преобразование канала 1 на одно преобразование канала 0;
2 – Проводятся 2 преобразования канала 1 на одно преобразование канала 0;
…
255 - Проводятся 255 преобразований канала 1 на одно преобразование канала 0.
ALARM:
O1 D1 O0 D0
7 0
D0 – Неверный сигнал в канале 0;
O0 – Превышение в канале 0;
D1 – Неверный сигнал в канале 1;
O1 – Превышение в канале 1.
INPUT0:
Диапазон значений:
Сигнал Значение
10 В -32768 - +32767
2,5 В -32768 - +32767
0 – 20 мА 0 – 32767
-50,00 - +150,00 С -5000 - +15000
-58,00 - -+302,00 F -5800 - -+30200
INPUT1:
Диапазон значений: тот же самый.
49
Вход/выход Описание Рекомендуем
ые типы
адресов
ENABLE Если ENABLE=1, то FBK будет выполняться. R, F, #
MODE Установка режима канала. R, #
OUT 0 Содержит значения, преобразуемые из канала 0. R, #
OUT 1 Содержит значения, преобразуемые из канала 1. R, #
MODE:
Канал Бит
0 0
1 4
Режим Сигнал
0 10 В
1 0-20 мА
3. Задание на выполнение лабораторной работы
1. Составьте LAD-диаграмму ввода дискретного значения через цифровой
входной модуль и передачи его на один из аналоговых каналов модуля
вывода. Подключите к запрограммированному аналоговому каналу цифровой
вольтметр для регистрации значений. Загрузите программу на выполнение и
продемонстрируйте правильность ее работы преподавателю.
2. Составьте LAD-диаграмму ввода аналогового сигнала по одному из каналов
модуля ввода аналоговых сигналов и вывода его в дискретном виде на каналы
модуля цифрового вывода. Запустите программу на ПЛК, проверьте
корректность ее выполнения, покажите преподавателю.
4. Требования к отчету
4. Цель работы.
5. Созданные LAD-диаграммы с комментариями по их функционированию.
6. Выводы по работе.
50
Лабораторная работа 7
1. Цель работы
Изучение времязадающих функций ПЛК применительно к задачам
управления техническими системами.
2. Справочные данные
SDxx
0
t
1
TDxx
t
txx
tres
52
Адрес t1,с Временная диаграмма
T D92 1
T D93 10
2.1.4. Программные часы
Программные часы есть в MINICONTROL и MIDICONTROL. Время
генерируется операционной системой. Содержимое регистров программных
часов сохраняется при отключении электропитания, однако, сами часы при этом
останавливаются. После того, как ПЛК будет включен вновь, показания часов
необходимо откорректировать. Все значения в двоично-десятичном коде.
Назначение регистров следующее:
R 0980 1/100 секунд ($00 — $99);
R 0981 секунды ($00 — $59);
R 0982 минуты ($00 — $59);
R 0983 часы ($00 — $23);
R 0984 день (000 — 255, увеличивается в 00:00:00).
Программные часы управляются через флажок S D85. После того, как
содержимое этого адреса устанавливается равным 1, программные часы
запускаются. S D85 автоматически очищается при включении электропитания.
Для установки программных часов необходимо:
1. выключить часы (очистить S D85);
1. загрузить время в регистры R 0980 — R 0984;
2. включить часы (установить S D85).
2.1.4. Часы реального времени
Часы реального времени есть в COMPACT PLC.
Время генерируется специальной микросхемой. Даже при выключении
ПЛК часы продолжают работать (от батареи).
R 0980 1/100 секунд ($00 — $99);
R 0981 секунды ($00 — $59);
R 0982 минуты ($00 — $59);
R 0983 часы ($00 — $23);
R 0984 день ($01 — $31);
R 0985 месяц ($01 — $12);
R 0986 год ($00 — $99);
R 0987 день недели (0 — 6)
Часы реального времени управляются через два флага:
S D85 - часы включены/выключены (1=включены);
S D86 - установка часов включена/выключена (0=установка часов
включена).
Чтобы установить часы реального времени (часы должны быть при этом
включены, т.е. S D85=1), необходимо:
1. включить установку часов (S D86=0);
2. загрузить в R 0980-R 0987 соответствующие значения;
3. S D86 автоматически установится в 1 в конце следующего
программного цикла.
53
2.2. FBK, реализующие времязадающие функции
Для реализации функций включения и выключения объектов управления
через заданные промежутки времени в стандартной библиотеке UTILITY есть
блоки TOFF и TOND.
┌────────────────┐ ┌────────────────┐
│ OFF DELAY TIMER│ │ ON DELAY TIMER │
│ │ │ │
├────────────────┤ ├────────────────┤
1 ──┤ ACTIVE TOFF │ 1 ──┤ ACTIVE TOND │
│ │ │ │
1 ──┤ TICK OUTPUT├── 1 1 ──┤ TICK OUTPUT├── 1
│ │ │ │
2 ──┤ PRESET ELAPSE├── 2 2 ──┤ PRESET ELAPSE├── 2
│ │ │ │
└────────────────┘ └────────────────┘
Функциональный блок TOFF используется для задержки операции
выключения. Если ACTIVE=1, то в ELAPSE загружается PRESET (значение
лежит в интервале 1..65535), а OUTPUT устанавливается равным 1. Когда
ACTIVE перейдет в низкое состояние, ELAPSE начнет уменьшаться согласно
временным импульсам TICK. После того, как ELAPSE обнулится, на выходе
OUTPUT устанавливается нуль.
Функциональный блок TOND используется для реализации операции
включения после заранее заданного времени задержки. Если ACTIVE=0, то в
ELAPSE загружается PRESET и OUTPUT сбрасывается в 0. Когда ACTIVE=1,
ELAPSE будет уменьшаться с каждым импульсом, пришедшим на вход TICK.
После того, как ELAPSE обнулится, на выходе OUTPUT устанавливается
единица. Состояние OUTPUT остается высоким до тех пор, пока ACTIVE=1.
│ I 065 F 107
01────┤ ├────────────────────┤+├───────── ─ ─ ─
│
│
02
│
│ I 063 F 102
01────┤ ├────────────────────┤-├──────── ─ ─ ─
│
│
02
│
55
2.3. Примеры применения
Рассмотрим возможности применения временных функций ПЛК
относительно задач управления. Допустим, что после замыкания переключателя
(I 042) должен быть запущен двигатель (подачей управляющего цифрового
сигнала O 078) с задержкой в 6,4 секунды. Выключение двигателя
осуществляется другим переключателем (I 043).
│ I 042 F 100 S D10
00──┤ ├──────────┤+├───────────────────────────(L)──
│ ДВ. СТАРТ ФРОНТ ДВ. ЗАДЕРЖКА
│
│ I 043 S D10
01──┤ ├────────────────────────────────────────(U)──
│ ДВ. СТОП ДВ. ЗАДЕРЖКА
│
│ T D10 O 078
02──┤ ├────────────────────────────────────────( )──
│ ДВ. ВКЛЮЧЕН ДВИГАТЕЛЬ
│
│ ┌────────────────┐
│ │ ON DELAY TIMER │
│ │ │
│ I 042 ├────────────────┤
00──┤ ├─────────────┤ ACTIVE TOND │
│ ДВ.СТАРТ │ │
│ │ │
│ T D91 │ │ F 100
02──┤ ├─────────────┤ TICK OUTPUT ├───────────────────(L)──
│ ИМПУЛЬСЫ │ │ ДВ.ЗАДЕРЖКА
│ │ │
│ #00064 │ │
03──┤ ├─────────────┤ PRESET ELAPSE ├── 2
│ СЧЕТЧИК │ │
│ └────────────────┘
│
│ I 043 F 100
04──┤ ├──────────────────────────────────────────────────(U)──
│ДВ.СТОП
ДВ.ЗАДЕРЖКА
│
│ F 100 O 078
05──┤ ├─────────────────────────────────────────────────( )──
│ДВ.ВКЛЮЧЕН ДВИГАТЕЛЬ
│
│
56
3. Задание на выполнение лабораторной работы
1. Составьте LAD-диаграмму управления двигателем. Управление должно
производиться двумя переключателями: “старт” и “стоп”. При включении
переключателя “старт” (по положительному фронту), должен запускаться
двигатель с задержкой 2,5 секунды. При включении переключателя “стоп” (по
положительному фронту), двигатель должен быть остановлен с задержкой 1,5
секунды. Для задания временных задержек используйте программные
таймеры.
2. Загрузите созданную программу в ПЛК и убедитесь в правильности ее
функционирования. Продемонстрируйте ее работу преподавателю.
3. Составьте LAD-диаграмму для управления программными часами и часами
реального времени. Определите один из цифровых входов, как вход,
инициирующий перепадом значения установку часов некоторым временем
(например, возьмите текущую дату и время), а три других цифровых входа -
для управления выводом на выходные дискретные каналы содержимого
любого из 5 временных регистров. Загрузите созданную программу в ПЛК и
убедитесь в ее правильности. Продемонстрируйте ее работоспособность
преподавателю.
4. Требования к отчету
1. Цель работы.
2. Созданные LAD-диаграммы с комментариями по их функционированию.
3. Выводы по работе.
57
Лабораторная работа 8
1. Цель работы
Ознакомление с принципами асинхронной последовательной передачи
данных в распределенных системах управления на примере связи двух ПЛК
через модули интерфейса RS232/TTY.
2. Справочные данные
Последовательный интерфейс: данные передаются бит за битом и
формируются в слова данных приемником. Ввиду низкой стоимости кабеля и
широко распространенной стандартизации последовательные интерфейсы лучше
подходят для организации связи между системами ПЛК, чем параллельные
интерфейсы. Наиболее важными типами здесь являются: RS232, TTY, RS422,
RS485.
2.1. Описание модуля интерфейса MDPIF1-0 (MIDICONTROL)
Настоящий модуль предназначен для асинхронного последовательного
обмена ПЛК с другими устройствами (включая другой ПЛК). Модуль аппаратно
поддерживает интерфейсы RS232 и TTY. Конфигурация выводов и их
соединение приведены в таблицах.
Технические данные модуля интерфейса MDPIF1-0
Интерфейсы RS232/TTY
Соединение соединитель DSHELL c 25 выводами (розетка)
Протяженность максимально до 10 метров
Линии квитирования RTS, DTR, DSR, DCD
Бодовая скорость 50…19200, устанавливается программно
Формат данных 5…8 битов данных, проверка ошибок по
четности/нечетности устанавливается
программно
Потребляемая мощность
при +8 B 1,4 Вт
при +15 B 0,5 Вт
при +30 B 0,6 Вт
Рабочая температура от 0 до 60°C
Влажность от 0 до 95% без конденсации
58
Вывод Тип интерфейса Функция
9 TTY RXD
10 TTY TXD RET
11 +8 В
12 TTY RXD RET
13 TTY TXD
20 RS232 DSR
23 -30 В
24 +12 В
25 +15 В
MDPIF1-0
RS232
TXD RXD
RXD TXD
DTR DSR
DSR DTR
GND GND
TTY
TXD RXD
RXD TXD
X
RXD Ret TXDRet
59
Аппаратное квитирование
Для аппаратного квитирования требуется дополнительная линия, по
которой приемник сообщает передатчику, что он готов к приему следующей
посылки. Для двунаправленной передачи требуются две линии квитирования.
Преимуществом данного вида синхронизации перед программным
квитированием (см. ниже) является простота обработки сигналов квитирования
программным обеспечением. Основной недостаток заключается в более высокой
стоимости приемопередающего кабеля, что вызвано увеличением числа линий.
Программное квитирование
В этом методе синхронизация передатчика и приемника осуществляется с
помощью управляющих символов, передаваемых по линиям данных. Наиболее
известным является протокол XON/XOFF (старт-сигнал/стоп-сигнал). Приемник
посылает определенный стоп-сигнал (XOFF) передатчику, когда приемник не
готов к дальнейшему приему данных. Как только достигается готовность
приемника, передатчику посылается старт-сигнал (XON). Имеются и другие
методы программной синхронизации. Их преимуществом является низкая
стоимость проводки, а недостатком большие затраты на программное
обеспечение.
Структура посылки
Символы, передаваемые с помощью последовательного интерфейса,
автоматически расщепляются на биты. При инициализации пользователь
определяет, сколько битов данных (от 5 до 8) могут содержать посылаемые
символы. Восьмибитовая посылка имеет структуру, приведенную на рисунке.
60
Стоп-бит (STOP) передается для завершения последовательности битов.
При инициализации пользователь определяет длину этого стоп-бита. Она может
быть равна длине бита данных (один стоп-бит, наиболее распространенный
случай), в 1,5 раза больше длины бита данных (1,5 стоп-бита), в два раза больше
длины бита данных (два стоп-бита).
61
-конфигурация Программная
Питание для панели Сompact MMI P120
иMMI P121 +5 В/500 мА
Конфигурация выводов интерфейса RS232
Вывод Функция
1
2 RXD
3 TXD
4 +5 В/500 мА
5 GND
6
7 RTS
8 DSR
9
2.4. Программные операции
Программные операции с последовательным интерфейсом реализуются с
использованием следующих регистров:
программный регистр;
командный регистр;
регистр состояния;
регистр данных.
Адреса регистров
Регистр MIDICONTROL MINICONTROL COMPACT PLC
Программный P 0x4 P 103 P 103
регистр
Командный P 0x5 P 102 P 102
регистр
Регистр состояния P 0x6 P 101 P 101
Регистр данных P 0x7 P 100 P 100
x ... номер слота, в который установлен PIF-модуль
Инициализация
При инициализации программный и командный регистры загружаются
определенными, заранее выбранными числами. Это определяет скорость обмена
информацией, формат данных, четность и т.д. Инициализация выполняется
только один раз сразу после включения или перезагрузки. Для изменения
состояния линий квитирования RTS и DTR командный регистр может быть
изменен в любое время.
Бит MIDICONTROL MINICONTROL COMPACT PLC
Программный регистр
7 SB - число стоп-битов
0 … 1 стоп-бит
1 … если DB=5 и нет четности, то 1,5 стоп-бита
если DB=8 и четность, то 1 стоп-бит
иначе 2 стоп-бита
5и6 DB - число битов данных
00 ... 8 битов данных
62
Бит MIDICONTROL MINICONTROL COMPACT PLC
Программный регистр
01 ... 7 битов данных
10 ... 6 битов данных
11 ... 5 битов данных
4 0 или 1 1 1
0…3 BAUD - бодовая скорость BAUD - бодовая скорость
0001 ... 50 0110 ... 300
0010 ... 75 0111 ... 600
0011 ... 109,92 1000 ... 1200
0100 ... 134,58 1001 ... 1800
0101 ... 150 1010 ... 2400
0110 ... 300 1011 ... 3600
0111 ... 600 1100 ... 4800
1000 ... 1200 1101 ... 7200
1001 ... 1800 1110 ... 9600
1010 ... 2400 1111 ... 19200
1011 ... 3600
1100 ... 4800
1101 ... 7200
1110 ... 9600
1111 ... 19200
Командный регистр
7и6 PAR - четность
00 ... проверка нечетности
01 ... проверка четности
10 ... бит четности устанавливается при передаче
11 ... бит четности сбрасывается при передаче
5 P - четность on/off
0 ... нет теста на четность, бит четности не генерируется
1 ... активизируется тест на четность
4 E - режим эхо
0 ... режим эхо отключен
1 ... режим эхо подключен (RT должно быть равно 0)
3 RT - линия RTS* 1 RT - линия RTS
0 ... RTS “высокий”, не 0 ... RTS “высокий”, не
готова к приему готова к приему (-12 В)
1 ... RTS “низкий”, готова 1 ... RTS “низкий”,
к приему готова к приему (+12 В)
2 0 0
1 0 или 1 1
0 DT - линия DTR* 1
0 ... DTR “высокий”, не
готова к приему
1 ... DTR “низкий”, готова
к приему
63
Инициализировать последовательный интерфейс PIF1 в слоте 2
MIDICONTROL, бодовая скорость 9600, 8 бит данных, 1 стоп-бит, проверка
четности отключена, RTS и DTR в состоянии “низкий” (готовы к приему).
LDAA # % 00011110 9600 бод, 8 бит данных, 1 стоп-бит
LDAB# % 00001011 отключены проверка четности и эхо-режим
STD P 024 программный и командный регистры
Регистр состояния
Регистр состояния обеспечивает информацию о состоянии
последовательного интерфейса и любых ошибках, которые могут произойти.
Перед каждой командой передачи или приема следует определять состояние
этого регистра.
Регистр данных
Регистр данных выполняет две функции:
полученные символы читаются из регистра данных;
символы для передачи записываются в регистр данных.
Регистр данных
Биты 0…7 DATA данные для приема и передачи
Передача символа
До записи передаваемого символа в регистр данных должна быть
проверена готовность передатчика (бит 4 в регистре состояния должен быть
равным 1). При использовании аппаратного квитирования для синхронизации
передатчика и приемника, должен быть проверен бит DSR в регистре состояния
для определения готовности принимающей станции.
64
без аппаратного квитирования
LDAB STATUS регистр состояния
BITB # % 00010000 передатчик готов?
BEQ NO ветвление, если передатчик не готов
LDAA PACKET символ для вывода
STAA DATA регистр данных
с аппаратным квитированием
LDAB STATUS регистр состояния
BITB # % 01000000 приемная станция готова (линия DSR)?
BNE NO ветвление, если приемник не готов
BITB # % 00010000 передатчик готов?
BEQ NO ветвление, если передатчик не готов
LDAA PACKET символ для вывода
STAA DATA регистр данных
Прием символа
Оценка бита 3 в регистре состояния определяет, получен ли символ. Если
этот бит есть 1, то символ был получен. Биты 0…2 регистра состояния
указывают, есть ли в принятой посылке ошибка (ошибки четности, превышения
темпа или кадровой синхронизации). Если установлен один из указанных
ошибочных битов, полученный символ содержит ошибку. Однако необходимо
прочитать регистр данных в случае ошибки, поскольку это может помочь при
определении природы возникновения ошибки.
LDAB STATUS регистр состояния
BITB # % 00001000 символ получен?
BEQ NO ветвление, если не получен
LDAA DATA регистр данных
BITB # % 00000111 ошибка передачи?
BNE FAIL переход на процедуру оценки ошибки
… передачи полученного символа
FAIL … процедура оценки ошибки передачи
полученного символа
3. Задание на выполнение лабораторной работы
1. Соедините два ПЛК шлейфом асинхронного последовательного канала.
Составьте две LAD-диаграммы для осуществления односторонней передачи
данных между ними. ПЛК-передатчик, получая данные через цифровые
входы, упаковывает их в байты и пересылает ПЛК-приемнику, который
осуществляет распаковку полученной информации и передает ее на свои
цифровые выходы. Обратите внимание на поддерживаемый шлейфом
интерфейс (RS232 или TTY) и возможность аппаратного квитирования.
2. Усовершенствуйте LAD-диаграммы для реализации двустороннего обмена
данными между ПЛК. Данные должны пересылаться байтовыми блоками.
Сигналом для начала отправления должен являться факт приема посылки.
3. Загрузите созданные программы в ПЛК и убедитесь в правильности их
функционирования. Продемонстрируйте ее работу преподавателю.
65
4. Требования к отчету
4. Цель работы.
5. Созданные LAD-диаграммы с комментариями по их функционированию.
6. Выводы по работе.
66
СОДЕРЖАНИЕ
67
Редактор
Лицензия ЛР N 020617 от 10.08.92
__________________________________________________________________
Подписано в печать Формат 60х84 1/16. Бумага тип.N2.
Печать офсетная Усл. печ. л. 1,86. Уч. -изд.л. 2,0.
Тираж 125 экз. Заказ
Издательско-полиграфический центр СПбГЭТУ
__________________________________________________________________
197376, С.-Петербург, ул. Проф. Попова, 5
68