Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метода S300.doc
Скачиваний:
54
Добавлен:
28.05.2015
Размер:
1.45 Mб
Скачать
      1. Область счётчиков

Счётчики используются для подсчета внешних и внутренних событий по некоторым условиям. Можно одновременно считать в прямом и в обратном направлениях. Можно прочитать как логическое, так и цифровое состояние счётчика. Под каждый счётчик в области памяти данных отводится 4 байта. Область счётчиков расположена по адресам 28A00H...291FFH.

старшие адреса памятимладшие адреса памяти

Рис. 6. Структура адресного пространства счётчиков.

      1. Область периферии

Через область периферии возможен непосредственный (минуя отображение) доступ к модулям входов/выходов. Доступ возможен только к модулям, установленным в центральном блоке. Команды, обращающиеся к области периферии, не затрагивают областей отображения соответствующих переменных (входов или выходов). Область периферии не имеет физических адресов, т.к. доступ к ней осуществляется через модуль контроля и управления. Доступ осуществляется через зону адресов 70000H...701FFH. Структура адресного пространства периферии представлена на рис. 3.

      1. Область расширенной периферии

Через область расширенной периферии осуществляется доступ к модулям специальной обработки (модулям аналогового ввода/вывода, быстродействующих счётчиков, управления электроприводами, коммутаторы сети связи и др.), устанавливаемым только в центральном блоке. Обращение к этой области осуществляется с помощью специальных операндов, называемых байтами и словами расширенной периферии. Область расширенной периферии расположена по адресам 2F300H...2F4FFH. Необходимо помнить, что обращение к этим адресам ведется непосредственно из программы пользователя. Команды обращения к расширенной периферии позволяют встраивать аппаратные модули, расширяющие возможности контроллера без изменения системной программы контроллера. Протокол работы в этом случае формируется из набора команд работы с расширенной периферией в программе пользователя. Структура адресного пространства расширенной периферии представлена на рис. 3.

  1. Структура и обработка технологических программ

Язык программирования контроллера ориентирован на структурное программирование, которое предполагает разделение программы пользователя на отдельные функционально завершенные структурные единицы - блоки. Это дает пользователю следующие преимущества:

  • простое и наглядное программирование, в том числе и больших по объему программ;

  • простую организацию программы;

  • возможность модернизации программы с минимальными затратами;

  • возможность стандартизации разделов программы;

  • быструю отладку программы.

Для реализации возможности структурирования программ пользователя имеются различные типы блоков:

OВ - организационные блоки. Предназначены для управления последовательностью выполнения частей программы пользователя. Они программируются пользователем, но вызываются системной программой и обеспечивают взаимодействие между системной программой и программой пользователя;

РВ - программные блоки. Предназначены для программирования основной обработки;

FB - функциональные блоки. Предназначены для программирования часто повторяющихся сложных функций (вычисления, сообщения, функции регулирования и т.д.);

DB - блоки данных. Служат для запоминания констант, данных с байтной или словной организацией, текстов, используются в командах с индексной адресацией; позволяют вести обработку массивов данных. Блоки данных по своим функциям отличаются от перечисленных выше блоков. Они содержат не команды, а данные, являющиеся операндами. Обращение к блокам данных происходит через команды загрузки и передачи.

NB0 - блок назначений. Предназначен для описания символических имен переменных, связывая их с абсолютными именами переменных. Например, входной бит Е 2.4 можно обозвать как “КонВык24”, что, допустим, означает “сигнал с концевого выключателя номер 24”, при этом Е 2.4 - это абсолютное имя, а “КонВык24” - это символическое имя.

Пользователь может программировать все предоставленные ему организационные, программные и функциональные блоки. Последовательность программирования и размещение блоков в памяти контроллера - произвольная. Последовательность обработки программных, функциональных блоков задается в организационных блоках командами условного и безусловного вызова. Программные блоки, в свою очередь, позволяют вызывать другие программные и функциональные блоки в любой комбинации. Это дает возможность строить иерархическую древовидную структуру пользовательской программы с выделением уровней управления. При этом не рекомендуется использовать более 8 вложений блоков.

Для дополнительного структурирования блоков программы предназначена возможность сегментирования блоков. Каждый организационный и программный блок может иметь от 1 до 10 сегментов. Функциональные блоки обязательно содержат два сегмента: в первом сегменте всегда располагается заголовок блока, а во втором - тело блока. Блоки данных и блок назначений не имеют деления на сегменты.

Разделение программы на отдельные блоки напоминает организацию программ на языках высокого уровня. Например, в сравнении с PASCAL организационный блок аналогичен телу основной программы, программный блок - это процедура, а функциональный блок - это функция.

Пользователь с помощью организационных блоков может управлять режимами обработки программы или отдельных блоков программы. Предусмотрены следующие режимы обработки пользовательской программы (частей программы):

  1. обработка при переходе в режим СТОП; вызывается блоком OB0;

  2. циклическая обработка программы; обеспечивается организационным блоком OB1. Программа, внесенная в этот блок, обрабатывается циклически;

  3. обработка по сообщению; производится при изменении состояния любого из восьми каналов младшего байта входов. При этом виде обработки циклическая обработка программы прерывается на границе блоков, вызывается и обрабатывается один из организационных блоков: OB2...OB9;

  4. обработка с управлением по времени; производится по прерываниям от системного таймера. При этом циклическая обработка программы прерывается на границе блоков, вызывается и обрабатывается один из организационных блоков: OB10...OB18;

  5. обработка по возникновению ситуаций включения, перезапуска ПКЛ, ошибок модулей и др., при вызове блоков OB19...OB50.

Возможна организация комбинированной обработки, когда в программе присутствуют организационные блоки, соответствующие разным видам обработки.

Выполнение вызванного блока заканчивается командой BE – “Конец блока”. “ИНТЕРВЬЮ” автоматически вставляет в конец блока эту команду. После выполнения команды BE обработка программы продолжается в блоке, где находился вызов обработанного блока, с команды, стоящей после команды вызова.

Для начала изучения языка S300 на лабораторных работах достаточно писать программы в одном блоке – в ОВ1, в конце блока ставится BE – обозначение конца блока.

Блок OB1 - блок циклической обработки программы пользователя. Циклическая обработка - основной (общепринятый) вариант обработки пользовательских программ в программируемом контроллере. Циклическое выполнение программы начинается с первой команды, запрограммированной в OB1, и заканчивается выполнением команды BE. После выполнения системной программы сканирования модулей ввода/вывода управление вновь передается на начало OB1, на первую команду и т.д.

При изучении системы команд С300 и решении лабораторных заданий по данному методическому пособию обратите внимание на формат индексных команд, они пригодятся в п.4.9 и на лабораторной работе.