- •Лабораторная работа 1
- •1. Цель работы
- •2. Описание лабораторного стенда
- •2.1. Комплектация лабораторного стенда
- •2.2. Описание лабораторного стенда
- •2.2.1. Плк midicontrol
- •2.2.2. Программирующее устройство
- •2.2.2.1. Лестничные логические диаграммы (lad)
- •2.2.2.2. Функциональные схемы (fp)
- •2.2.2.3. Список операторов (stl)
- •2.3.1. Загрузка
- •2.3.2. Сохранение
- •2.3.3. Запуск программы
- •2.3.4. Удаление программы
- •2.1.2. Типы контактов
- •2.1.2.1. Нормально разомкнутый контакт
- •2.1.2.2. Выходной контакт
- •2.1.2.3. Отрицание (нормально замкнутый контакт)
- •2.1.2.4. Генерация импульса по положительному перепаду
- •2.1.2.5. Генерация импульса по отрицательному перепаду
- •2.1.2.6. Генерация импульса по положительному и отрицательному перепаду
- •2.1.2.7. Временное хранение
- •2.1.2.8. Соотношение Исключающее или
- •2.1.2.9. Временное хранение без определения адреса
- •2.1.2.10. Условный переход
- •2.1.2.11. Соотношение и
- •2.1.5. Выход из lad-редактора
- •2.2. Цифровые модули
- •2.2.1. Цифровой входной модуль e163
- •2.2.2. Цифровой выходной модуль a161
- •2.2.3. Адресация цифровых входов и выходов
- •3. Замечания практического характера по функционированию плк
- •4. Задание на выполнение лабораторной работы
- •5. Содержание отчета
- •2.2. Вызов fbk из lad
- •2.3. Пример применения fbk
- •3. Задание на выполнение лабораторной работы
- •4. Требования к отчету
- •Лабораторная работа 4
- •1. Цель работы
- •2. Справочные данные
- •2.2. Практическое применение
- •2.2.2.1. Вызов редактора tab
- •3. Задание на выполнение лабораторной работы
- •4. Требования к отчету
- •2.2. Описание fbk, используемых в лабораторной работе
- •3. Задание на выполнение лабораторной работы
- •4. Требования к отчету
- •2.2. Стандартное программное обеспечение
- •3. Задание на выполнение лабораторной работы
- •4. Требования к отчету
- •2.1.2. Временные циклы
- •2.1.3. Временные импульсы
- •2.1.4. Программные часы
- •2.1.4. Часы реального времени
- •2.2. Fbk, реализующие времязадающие функции
- •2.3. Дополнительные сведения
- •2.3.3. Генерация импульса по положительному перепаду
- •2.3.4. Генерация импульса по отрицательному перепаду
- •2.3. Примеры применения
- •3. Задание на выполнение лабораторной работы
- •4. Требования к отчету
- •2.2. Описание интерфейса tty на модуле цпу minicontrol
- •2.4. Программные операции
- •Адреса регистров
- •3. Задание на выполнение лабораторной работы
- •4. Требования к отчету
- •197376, С.-Петербург, ул. Проф. Попова, 5
2.3. Пример применения fbk
В качестве практического примера рассмотрим задачу сохранения значений цифровых входов в регистрах и выдачу этих значений на цифровые выходы. Такая задача может возникнуть при необходимости программной реализации на ПЛК режима ручного управления, когда от управляющего устройства требуется только передача управляющих воздействий от пульта ручного управления на объект. С этой целью рассмотрим следующие FBK:
BTOR упаковка битов в регистр (подкаталог UTILITY)
┌────────────────┐
│ PACK BITS INTO │
│ DATA REGISTERS │
├────────────────┤
1 ──┤ ENABLE BTOR │
│ │
1 ──┤ 8BITS │
│ │
[ADR] 2 ──┤ SOURCE │
│ │
[ADR] 2 ──┤ DEST │
└────────────────┘
Вход/выход |
Описание |
Рекомендуемые типы адресов |
ENABLE |
Если ENABLE=1, то FBK будет выполняться. Если ENABLE=0, то таблица регистров, начальный адрес которой указан DEST, не изменится. |
R, F, # |
8BITS |
Определяет число битов, пакуемых в регистры: 8BITS=0 - 16 битов в 2-байтовый регистр; 8BITS=1 - 8 битов в 1-байтовый регистр. |
R, F, # |
SOURCE |
Начальный адрес 1-битовых переменных, пакуемых в регистры. |
[ADR]F, [ADR]I, [ADR]O |
DEST |
Адрес хранения упакованной битовой информации. В зависимости от входа 8BITS будет использован либо 1-байтовый (8BITS=1), либо 2-байтовый (8BITS=0) регистр. |
[ADR]R |
RTOB распаковка регистра в биты (подкаталог UTILITY)
┌──────────────────┐
│ UNPACK DATA │
│ REGISTERS TO BIT │
├──────────────────┤
1 ──┤ ENABLE RTOB │
│ │
1 ──┤ 8BITS │
│ │
[ADR] 2 ──┤ SOURCE │
│ │
[ADR] 2 ──┤ DEST │
└──────────────────┘
Вход/выход |
Описание |
Рекомендуемые типы адресов |
ENABLE |
Если ENABLE=1, то FBK будет выполняться. Если ENABLE=0, то массив, определенный начальным адресом DEST, не изменится. |
R, F, # |
8BITS |
Определяет число распаковываемых битов: 8BITS=0 - 2-байтовый регистр в 16 битов; 8BITS=1 - 1-байтовый регистр в 8 битов. |
R, F, # |
SOURCE |
Начальный адрес хранения распаковываемой информации. Значение входа 8BITS определяет длину регистра:1 или 2 байта. |
[ADR] R |
DEST |
Начальный адрес 1-битовых переменных, в которые производится распаковка. |
[ADR] F, [ADR] I [ADR] O |
Следует сделать несколько замечаний о входе ENABLE. Он присутствует во всех стандартных FBK и выполняет одну и ту же функцию: разрешение/запрещение выполнения FBK в данном программном цикле. В связи с этим существуют следующие основные способы его применения:
Уменьшение времени цикла программы. Когда нет необходимости в выполнении какого-либо FBK в каждом программном цикле, целесообразно использовать ENABLE для управляемого отключения функционального блока.
Создание модулей начальной (стартовой) инициализации. Для этой цели используется так называемый флажок первого сканирования (T D64). Он автоматически устанавливается операционной системой равным 1 в начале первого цикла программы и сбрасывается в 0 при его завершении. После этого он сохраняет нулевое значение непрерывно до перезагрузки ПЛК. Таким образом, флажок первого сканирования может быть подан на ENABLE тех FBK, которые необходимо выполнить только один раз, в ходе первого цикла программы.
Необходимо также иметь в виду, что стандартные FBK используют регистры R 0863 - R 0889 в качестве памяти временного хранения. Из этого вытекают ограничения на использование этих регистров в пользовательских программах - их можно использовать лишь для временного хранения данных, причем во время хранения не должно совершаться ни одного обращения к FBK.
Приведенных выше сведений достаточно для составления LAD-диаграммы:
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 │
│ └──────────────────┘
│
Для выполнения настоящей лабораторной работы потребуются следующие модули:
BCDU Преобразование двоичных данных в двоично-десятичный формат (подкаталог UTILITY)
┌────────────────┐
│ CONVERT BINARY │
│ TO BCD │
├────────────────┤
1 ──┤ ENABLE BCDU │
│ │
1 ──┤ #DIG ERROR ├── 1
│ │
1 ──┤ LENGTH OVFL ├── 1
│ │
[ADR] 2 ──┤ SOURCE #POI ├── 1
│ │
[ADR] 2 ──┤ DEST │
└────────────────┘
Вход/выход |
Описание |
Рекомендуемые типы адресов |
ENABLE |
Если ENABLE=1, то FBK будет выполняться. |
R, F, # |
#DIG |
Указывает число ДКД разрядов (от 1 до 4) |
# |
LENGTH |
Определяет число преобразуемых двоичных значений (от 1 до 16) |
# |
SOURCE |
Начальный адрес таблицы регистров, содержащей преобразуемые двоичные значения. Длина таблицы зависит от #DIG и LENGTH |
[ADR] R |
DEST |
Начальный адрес таблицы регистров, хранящих преобразованные в ДКД формат числа. |
[ADR] R |
ERROR |
Выход равен 1, если один из входов неверно определен или не подсоединен. |
R, F |
OVFL |
Указывает, что одно из значений в таблице источника содержит двоичное значение, выходящее за пределы допустимого диапазона. #DIG Макс. Значение 1 9 2 99 3 999 4 9999 |
R, F |
#POI |
При возникновении переполнения на этом выходе указывается номер соответствующего двоичного значения. Если переполнение имеет место для нескольких двоичных значений, то на этом выходе указывается номер последнего преобразованного двоичного значения, которое привело к переполнению |
R |
LD## Загрузка константы в регистр (подкаталог UTILITY)
┌────────────────┐
│ LOAD REGISTER │
│ WITH CONSTANT │
├────────────────┤
1 ──┤ ENABLE LD## │
│ │
1 ──┤ 8BITS │
│ │
1 ──┤ LENGTH │
│ │
2 ──┤ VALUE │
│ │
[ADR] 2 ──┤ DEST │
└────────────────┘
Вход/выход |
Описание |
Рекомендуемые типы адресов |
ENABLE |
Если ENABLE=1, то FBK будет выполняться. Если ENABLE=0, то массив с начальным адресом DEST не изменится |
R, F, I |
8BITS |
Указывает формат массива: 8BITS=0 - 2-байтовый формат 8BITS=1 - 1-байтовый формат |
#, R |
LENGTH |
Определяет число записей в массиве (от 1 до 32). |
# |
VALUE |
Значение, которое необходимо записать в массив. |
#, R |
DEST |
Начальный адрес таблицы регистров. Конечный адрес зависит от LENGTH и 8BITS |
[ADR] R |