Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГРАММИРОВАНИЕ ПРОМЫШЛЕННЫХ КОНТРОЛЛЕРОВ В СИСТЕМЕ PROSYS.doc
Скачиваний:
107
Добавлен:
01.05.2014
Размер:
306.69 Кб
Скачать

6.2.3. Временные функции

Рассмотрим, каким образом программируются временные интервалы.

Все ЦП имеют 64 программных таймера, которые работают в режиме задержки включения. Каждый программный таймер содержит следующие адреса.

S Dxx (где xx=от 00 до 63) - запускает таймер, если записать в этот флаг 1. Этот флаг можно считывать, например, для того, чтобы определить, запущен ли некоторый программный таймер.

T Dxx - запрос времени. Если этот флаг равен 1, то время, установленное для соответствующего программного таймера, истекло. Этот флаг можно только считывать. Он сбрасывается при очистке запускающего флага S Dxx.

Txx n”nn - определение времени. Команды для определения времени - от T00 до T63, время устанавливается в секундах.

Пример: длительность временного интервала программного таймера 0 должна быть 5 с, таймера 1 - 10,5 с.

Т00 0005"00

Т01 0010"50

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

81"7081"00

817"00 810"00

1"391"39

Таймеры запускаются по командам присвоения адресов S D00 и S D01:

STAA S D00 стартовый адрес таймера загрузить в AA

SET S D00 стартовый адрес таймера установлен безусловно

PRS S D00 условная установка, если 0-й бит в AA равен 1

Сброс также происходит по командам присвоения адресов, например:

STAA S D00 стартовый адрес загружен в AA

CLR S D00 безусловный сброс

RST S D00 условный сброс, если 0-й бит в AA равен 1

Пример: выключатель должен быть запрограммирован на задержку 5 с. I 000 запускает программный таймер. По прошествии этого времени должен установиться выход.

T00 0005"00 определение времени 5 с

LDAA I 000 загрузка AA I 000

STAA S D00 время запускается, как только I 000 равен 1

LDAA T D00 время вышло ?

STAA O 0F0 записать результат на выход

Пример предполагает, однако, что вход I 000 остается установленным, пока время не вышло.

К модулям аппаратных таймеровможно адресоваться с помощью обычной адресации с использованием места. Если модуль таймеров вставлен на место 4 в базовой кассете 0, то, например, третий таймер можно запустить, используя S 042, а запрос времени, -T 042. Продолжительность задержки времени устанавливается с помощью переключателей и потенциометров.

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

Таблица 6.1

Адрес

t1

t2

Временная диаграмма

T D80

T D81

T D82

T D83

10-2

4·10-2

0,4

4

10-2

6·10-2

0,6

6

Если, например, мигающий сигнал должен производиться ежесекундно, тогда необходимо записать содержимое T D82 на соответствующий выход.

LDAA T D82 загрузить AA временным циклом

STAA O 0F0 и записать на выход

END

Часто требуются адреса, которые обеспечивают так называемые временные импульсы. Временные импульсы - это флаги, которые устанавливаются операционной системой равными 1 в течение цикла программы (табл.6.2):

Таблица 6.2

Адрес

t1

Временная диаграмма

T D90

T D91

T D92

T D93

10-2

0,1

1

10

Например, часть программы должна выполняться только каждые 100 мс:

LDAA T D91 импульс в 100 мс

BEQ LAB1 переход, если 0

... часть, которая должна выполняться только каждые 100 мс

LAB1 NOP

Программные часы - часы реального времени.

Все ЦП, используемые в лабораторных контроллерах, имеют временные функции. В зависимости от реализации различают:

- программные часы (MINI- /MIDICONTROL);

- часы реального времени (COMPACT PLC).

В первом случае время генерируется операционной системой. Содержимое временных регистров сохраняется после отключения питания, однако часы при этом останавливаются. После того как ПЛК будет включен вновь, показания часов необходимо скорректировать. Во втором случае часы функционируют и после отключения питания ПЛК (за счет батареи).

Таблица 6.3

Регистр

Часы

реального времени

COMPACT PLC

Программные часы

MINI-/MIDICONTROL

Примечание

R 0980

0,01 с ($00-$99)

0,01 с ($00-$99)

Все значения

R 0981

Секунды ($00-$59)

Секунды ($00-$59)

в двоично-

R 0982

Минуты ($00-$59)

Минуты ($00-$59)

десятичном

R 0983

Часы ($00-$23)

Часы ($00-$23)

представлении

R 0984

День ($01-$31)

День (000-255)

Увеличивается в 00:00

R 0985

Месяц ($01-$12)

-

В программных

R 0986

Год ($00-$99)

-

часах не

R 0987

День недели (1-7)

-

используются

Часы в обоих случаях управляются через флаг S D85. Запуск часов производится установкой его в 1. При включении питания или при перезапуске контроллера этот флаг автоматически устанавливается равным 0. Таким образом, если необходимо, чтобы часы работали постоянно, нужно вставить команду их запуска в подпрограмму инициализации. Для установки часов необходимо:

- сбросить флаг S D85 в 0;

- загрузить время в соответствующие регистры (табл.6.3);

- установить S D85 в 1 (только для программных часов!).