- •Содержание
- •5. Элементы языка программирования 66
- •6. Библиотека стандартных функциональных блоков 77
- •Введение
- •Общие сведения
- •Программистская модель плк с300
- •Внешний вид контроллера
- •Модули ввода/вывода
- •Распределение памяти контроллера
- •Программистская модель контроллера.
- •Регистры и флаги
- •Области операндов контроллера
- •Отображение входов и выходов
- •Область данных
- •Область меток
- •Область таймеров
- •Область счётчиков
- •Область периферии
- •Область расширенной периферии
- •Структура и обработка технологических программ
- •Система команд лмк
- •Логические команды
- •Команды присвоения битных операндов
- •Команды опроса битных переменных
- •Команды переходов
- •Команды пересылки
- •Арифметические команды
- •Команды сравнения
- •Логические байтовые и словные команды
- •Байтовые и словные команды сдвига
- •Индексная адресация.
- •Счетчики
- •Команды обработки счётчиков
- •Последовательность программирования счётчика
- •Примеры программирования счётчика
- •U е 5.0 ;Если сработал фотоэлемент на входе e5.0
- •Формат слова уставки счётчика
- •Таймеры
- •Команды обработки таймеров
- •Последовательность программирования таймера
- •Примеры программирования таймера
- •Формат слова уставки таймера
- •Организационные команды
- •Команды вызова, активизации и завершения блоков
- •Команды блокировки, деблокировки, задания допустимой длительности скана
- •Команды структурирования текста
- •Команды обработки канала связи
- •Элементы языка программирования
- •Организационные блоки
- •Особенности прерывания циклической обработки блоками ob2...Ob18
- •Программные блоки
- •Функциональные блоки
- •Формат функциональных блоков
- •Особенности использования формальных параметров
- •Блоки данных
- •Формат и использование блока назначений nb0
- •Комментарии к программе
- •Комментарий к строке
- •Комментарий к операнду
- •Комментарий к элементу цепи ркс и к цепи ркс
- •Библиотека стандартных функциональных блоков
- •Блоки организации связи по каналу “эвм”
- •Блоки обработки системы реального времени
- •Арифметические блоки
- •Блоки обработки модулей расширенной периферии
- •Системные блоки
- •Блоки регулирования
Область данных
Область данных имеет блочную структуру. Блок данных может иметь произвольный размер в пределах от 1 слова до 256 слов. Блоки данных DB0...DB255 располагаются в области памяти программ в кассете пользователя и предназначены для хранения констант, сообщений, начальных установок таймеров и счётчиков и т.п. Слово данных DW делится на правый байт DR, расположенный по меньшему адресу в памяти, и левый байт DL. Вещественная переменная DG в блоке данных состоит из двух смежных слов данных.
В каждый момент времени возможно обращение только к одному (активному) блоку данных. Назначение блока активным (загрузка блока данных) производится специальной командой A DBn. К байтам и словам блоков данных DB1...DB255 можно обращаться только с помощью индексных команд и средств спецассемблера (в отличие от DB0).
При запуске в режиме РАБОТА (Р2) исходный блок DB0 (запрограммированный пользователем) из кассеты пользователя копируется системной программой в ОЗУ в рабочую зону блока DB0, находящуюся в памяти данных контроллера. Все команды обращения к битам, байтам или словам блока данных работают с блоком DB0, расположенным в памяти данных контроллера. Блок данных DB0 может использоваться для хранения переменных контроллера без исходного программирования. В этом случае пользователь не программирует блок DB0, а работает в программе только с рабочей зоной блока DB0 в оперативной памяти.
Под блоки данных переменных в памяти контроллера выделена область 08000H...0F7FFH (30 Кб). По адресам 08000H...081FFH расположен блок DB0, всегда присутствующий в контроллере. Адреса расположения остальных блоков данных заранее не определены и определяются в процессе загрузки программы в контроллер.
старшие адреса памятимладшие адреса памяти
Рис. 4. Структура блока данных.
Биты в словах данных DW нумеруются справа налево от 0 до 15.
Область меток
Метки служат для хранения промежуточных результатов. Это своего рода пронумерованные переменные, доступ к которым может быть как байтным, так и побитным. В распакованной области меток каждый битный операнд (Мх.у) хранится в виде байта. Логические команды, оперирующие с логическим аккумулятором LA и битным операндом, обращаются именно в эту область. В упакованной области каждый байтный или словный операнд (МВх, MWx) хранится в виде байта или слова. Область меток занимает следующие адреса в памяти контроллера:
битная область: 22200H...27FFFH;
байтная/словная область: 2D440H...2DFFFH.
Для меток между битными и байтно-словными областями всегда существует взаимообратное соответствие, т.е. информация в битной области соответствует информации в байтно-словной области и наоборот.
Структура байтных/словных областей отображения меток приведена на рис. 3.
Область таймеров
Таймеры используются для формирования сложных временных диаграмм. Имеется пять функционально различных вариантов запуска таймеров. Максимальное число таймеров определяется типом контроллера. Можно прочитать как логическое, так и цифровое состояние таймера. Под каждый таймер в области памяти данных отводится 4 байта. Область таймеров расположена по адресам 28000H...289FFH.
старшие адреса памятимладшие адреса памяти
Рис. 5. Структура адресного пространства таймеров.