- •Содержание
- •5. Элементы языка программирования 66
- •6. Библиотека стандартных функциональных блоков 77
- •Введение
- •Общие сведения
- •Программистская модель плк с300
- •Внешний вид контроллера
- •Модули ввода/вывода
- •Распределение памяти контроллера
- •Программистская модель контроллера.
- •Регистры и флаги
- •Области операндов контроллера
- •Отображение входов и выходов
- •Область данных
- •Область меток
- •Область таймеров
- •Область счётчиков
- •Область периферии
- •Область расширенной периферии
- •Структура и обработка технологических программ
- •Система команд лмк
- •Логические команды
- •Команды присвоения битных операндов
- •Команды опроса битных переменных
- •Команды переходов
- •Команды пересылки
- •Арифметические команды
- •Команды сравнения
- •Логические байтовые и словные команды
- •Байтовые и словные команды сдвига
- •Индексная адресация.
- •Счетчики
- •Команды обработки счётчиков
- •Последовательность программирования счётчика
- •Примеры программирования счётчика
- •U е 5.0 ;Если сработал фотоэлемент на входе e5.0
- •Формат слова уставки счётчика
- •Таймеры
- •Команды обработки таймеров
- •Последовательность программирования таймера
- •Примеры программирования таймера
- •Формат слова уставки таймера
- •Организационные команды
- •Команды вызова, активизации и завершения блоков
- •Команды блокировки, деблокировки, задания допустимой длительности скана
- •Команды структурирования текста
- •Команды обработки канала связи
- •Элементы языка программирования
- •Организационные блоки
- •Особенности прерывания циклической обработки блоками ob2...Ob18
- •Программные блоки
- •Функциональные блоки
- •Формат функциональных блоков
- •Особенности использования формальных параметров
- •Блоки данных
- •Формат и использование блока назначений nb0
- •Комментарии к программе
- •Комментарий к строке
- •Комментарий к операнду
- •Комментарий к элементу цепи ркс и к цепи ркс
- •Библиотека стандартных функциональных блоков
- •Блоки организации связи по каналу “эвм”
- •Блоки обработки системы реального времени
- •Арифметические блоки
- •Блоки обработки модулей расширенной периферии
- •Системные блоки
- •Блоки регулирования
Модули ввода/вывода
Модули ввода или вывода выглядят как на рис. 1.2. Звездочками (*) обозначены лампочки, которые горят, когда значение соответствующего сигнала равно 1, и не горят, когда значение равно 0.
По-немецки слово "Вход" - "Eingang", отсюда обозначение "Ex.y", а слово "Выход" - "Ausgang", отсюда его обозначение "Ax.y".
Байты на модуле ввода (вывода) нумеруются, начиная с верхнего, верхний – это младший байт, нижний – это старший байт. Биты в них нумеруются сверху вниз: 0, 1, 2, …7.
Е
0.0 * Е
0.1 * Е
0.2 * Е
0.3 * Е
0.4 * Е
0.5 * Е
0.6 * Е
0.7 *
Е
1.0 * Е
1.1 * Е
1.2 * Е
1.3 * Е
1.4 * Е
1.5 * Е
1.6 * Е
1.7 *
А
2.0 * А
2.1 * А
2.2 * А
2.3 * А
2.4 * А
2.5 * А
2.6 * А
2.7 *
А
3.0 * А
3.1 * А
3.2 * А
3.3 * А
3.4 * А
3.5 * А
3.6 * А
3.7 *
Рис. 1.2. Пример обозначения входов и выходов на модулях ввода или
вывода (МВВ на посадочных местах 00 и 01).
Распределение памяти контроллера
МЦП контроллера выполнен на основе комплекта микросхем К1810, т.е. в нем установлен процессор К1810ВМ86, (в техдокументации упоминается только INTEL 80188). МЦП может адресовать пространство только в 1 Мбайт, которое разбито на следующие зоны:
Таблица 2.2: Распределение памяти контроллера.
00000…1FFFF |
системное ОЗУ МЦП |
20000…6FFFF |
память центрального интерфейса И41 |
70000…703FF |
интерфейс ввода/вывода (ИВВ) |
74000…7FFFF |
системное ПЗУ МЦП |
80000…FFFFF |
кассета пользователя |
Таблица 2.3: Память в МЦП.
00000…003FF |
векторы прерываний |
00410…0052F |
буфер приема последовательного канала PS1 (“УПК”) |
00540…0065F |
буфер передачи последовательного канала PS1 (“УПК”) |
00670…0078F |
буфер приема последовательного канала PS2 (“ЭВМ”) |
007А0…008BF |
буфер передачи последовательного канала PS2 (“ЭВМ”) |
008С0…0F7FF |
системные данные |
0F800…0F83F |
стек системной программы |
0F840…0FBFF |
стек программы пользователя |
0FC00…0FE6F |
область, используемая в тестах ОЗУ для сохранения содержимого тестируемой зоны |
0FE70…0FFFF |
системные данные |
Таблица 2.4: Память в МПД.
20000…210FF |
битный доступ к отображению входов |
21100…221FF |
битный доступ к отображению выходов |
22200…27FFF |
битный доступ к меткам |
28000…289FF |
таймеры пользователя |
28А00…291FF |
счётчики пользователя |
29200…2BFFF |
область блоков данных в памяти данных |
2С000…2CFFF |
системные данные |
2D000…2D21F |
байтный/словный доступ к отображению входов |
2D220…2D43F |
байтный/словный доступ к отображению выходов |
2D440…2DFFF |
байтный/словный доступ к меткам |
2Е000…2EFFF |
память в ММС |
2F300…2F4FF |
зона расширенной периферии |
Таблица 2. 5: Распределение памяти пользователя (в КП ОЗУ или ППЗУ).
80010…8002F |
контрольные суммы микросхем |
80030…8003F |
параметры памяти программ |
80040…8013F |
каталог организационных блоков |
80140…8053F |
каталог программных блоков |
80540…8093F |
каталог функциональных блоков |
80940…8113F |
каталог блоков данных |
81140…FFFFF |
Блоки пользователя (OB, PB, FB, DB) |