Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программируемые логические контроллеры для управления технологическими процессами. В 2 ч. Ч 1.pdf
Скачиваний:
4
Добавлен:
29.11.2025
Размер:
2.39 Mб
Скачать

104

12.5Конец области программы (FEND)

Спомощью «FEND»-инструкции определяется конец области программы. В программе возможно применение нескольких «FEND»-инструкций. После отработки «FEND»-инструкции выполняется обработка выходов, затем выполняется возврат к программному шагу 0, после чего обновляется обработка входов и время установки контроля цикла программы. Пример работы программы с применением «FEND» показан на рисунке 12.6.

Работа

Работа

про-

програм-

граммы,

если

мы, если

X10 включен

X10 не

 

 

включен

Область

про-

 

граммы B

пе-

 

репрыгивается

Рисунок12.6 – Пример программирования

«FEND»-инструкции

105

12.6Обновление таймера времени работы программы (WDT)

Спомощью «WDT»-инструкции можно длинные программы разделить на отдельные отрезки программ. Время цикла программы (скана) определяется для каждого отдельного отрезка программы самим ПЛК (WDT обновляется после каждого отрезка программы).

Спомощью «WDT»-инструкции можно обрабатывать программу, время цикла которой превышает 200 мс. На рисунке 12.7 показана типичная ситуация, в которой необходимо использовать «WDT»- инструкцию.

Рисунок 12.7 – Пример программирования при использовании «WDT»-инструкции

Время обработки для отрезка программы А превысило значение 200 мс. Поэтому отрезок программы А был разделен с помощью «WDT»-инструкции на два отрезка программ (В, С). Отрезки программ В и С требуют соответственно только по 120 мс времени цикла.

Значение времени цикла программы изменяется в специальном регистре D8000. Если время цикла программы постоянно превышает значение 200 мс, можно изменить значение максимально допустимого времени цикла в специальном регистре D8000 (смотри пример на рисунке 12.8)

106

 

Установка

макси-

 

мально допустимого

 

времени цикла про-

Рисунок 12.8 – Пример изменения

граммы

в

регистре

данных

D8000 на

длительности скана программы

значение 300 мс.

 

12.7 Повторение части программы, задание цикла (FOR, NEXT)

Начало повторения программы

Конец повторения программы

Программирование повторений программы (петля программы). Эти инструкции позволяют, чтобы часть программы между «FOR»- и «NEXT» повторялась «n» раз. После завершения «FOR» выполняется шаг программы после «NEXT»-инструкции. Значение «n» может находиться внутри следующей области значений: от +1 до +32 767. Если для «n» указано значение между 0 и -32 767, то петля «FOR-NEXT» отрабатывается только один раз. Можно программировать до пяти «FOR-NEXT»-уровней вложения.

Примечание:

«FOR»- и «NEXT»-инструкции могут программироваться только попарно. К каждой инструкции «FOR» должна программироваться соответственно «NEXT»-инструкция.

Источники ошибок:

В следующих случаях появляются ошибки в работе програм-

мы:

«NEXT»инструкциязапрограммирована перед «FOR»- инструкции.

«NEXT»-инструкция запрограммирована после «FEND»- инструкции или «END»-инструкции.

Количество «NEXT»-инструкций не соответствует количеству «FOR»-инструкций.

Пример применения «FOR»- и «NEXT»-инструкций показан на рисунке 12.9.

107

Рисунок 12.9 – Использование «FOR»-

и«NEXT»-инструкций

Впримере запрограммированы три входящие друг в друга «FOR»- и «NEXT»-уровня вложения.

Отрезок программы С обрабатывается четыре раза (здесь К4 константа). В конце обработки последний программный шаг выполняется после третьей «NEXT»-инструкции.

При каждом исполнении отрезка С отрезок программы В обрабатывается шесть раз, если в регистре данных D0Z записано число 6.

Поэтому отрезок В обрабатывается 6 · 4 = 24 раза.

Если вход Х10 включен, то «FOR -NEXT»-петля (отрезок программы) пропускается (не обрабатывается) с помощью «CJ»- инструкции.

Если вход Х10 выключен и содержание К1Х0 (блок К1 - первых 4 бита – в слове Х0) равно 7, то при каждом выполнении отрезка

Вотрезок программы обрабатывается семь раз.

Поэтому отрезок A обрабатывается 168 раз (6 · 4 · 7).