Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
STEP7_V53_Programming_r.pdf
Скачиваний:
2
Добавлен:
29.05.2025
Размер:
5.18 Mб
Скачать

Основы проектирования структуры программы

4.2.3Типы блоков

4.2.3.1Организационный блок для циклической обработки программы (OB1)

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

Последовательность циклической обработки программы

В следующей таблице показаны фазы циклической обработки программы:

Шаг

Последовательность в существующих

Последовательность в новых CPU (с 10/98)

 

CPU

 

1.

Операционная система запускает время

Операционная система запускает время

 

контроля цикла.

контроля цикла.

2

CPU считывает состояния входов

CPU записывает значения из таблицы образа

 

модулей ввода и обновляет таблицу

процесса на выходах в модули вывода.

 

образа процесса на входах.

 

3

CPU обрабатывает программу

CPU считывает состояния входов модулей

 

пользователя и исполняет содержащиеся

ввода и обновляет таблицу образа процесса

 

в ней команды.

на входах.

4

CPU записывает значения из таблицы

CPU обрабатывает программу пользователя и

 

образа процесса на выходах в модули

исполняет содержащиеся в ней команды.

 

вывода.

 

5

В конце цикла операционная системы

В конце цикла операционная системы

 

выполняет все ждущие своей очереди

выполняет все ждущие своей очереди задачи,

 

задачи, например, загрузка и удаление

например, загрузка и удаление блоков, прием

 

блоков, прием и передача глобальных

и передача глобальных данных.

 

данных.

 

6

Наконец, CPU возвращается к началу

Наконец, CPU возвращается к началу цикла и

 

цикла и перезапускает время контроля

перезапускает время контроля цикла.

 

цикла.

 

Образ процесса

Чтобы в CPU во время циклической обработки программы находился непротиворечивый образ сигналов процесса, CPU обращается не непосредственно к адресным областям входов (I) и выходов (Q) на модулях ввода/вывода, а к области внутренней памяти CPU, содержащей образ входов и выходов.

Программирование циклической обработки программы

Циклическая обработка программы программируется записью программы пользователя в ОВ1 и в блоки, вызываемые внутри ОВ1 с помощью

STEP 7.

Programming with STEP 7 V5.3

4-11

A5E00261405-01

Основы проектирования структуры программы

Циклическая обработка программы начинается, как только завершается без ошибок программа запуска.

Прерывания

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

• прерывания

• команды STOP (переключатель выбора режимов, опция меню на устройстве программирования, SFC46 STP, SFB20 STOP)

• выхода из строя питания появления неисправности или ошибки в программе

Время выполнения цикла

Время выполнения цикла – это время, необходимое операционной системе для выполнения циклической программы и всех программных секций, прерывающих цикл (например, выполнение других организационных блоков), и системных операций (например, обновления образа процесса). Это время контролируется.

Время выполнения цикла (TC) не одинаково в каждом цикле. На следующих рисунках показаны различные времена выполнения циклов (TC1 ≠ TC2) для существующих и новых CPU от 10/98 и CPU до 10/98:

Различные времена выполнения цикладля существующих CPU

 

Текущий цикл

 

 

Следующий цикл

Следующий цикл

 

T

 

 

 

T

 

 

 

 

OB10

 

 

 

 

 

 

 

Обновление таб-

 

 

Обновление таб-

Обновление таб-

 

Обновление таб-

Обновление таб-

 

лицы образа про-

OB1

OB1

лицы образа про-

лицы образа про-

OB1

лицы образа про-

лицы образа про-

OB1

цесса на входах

цесса на выходах

цесса на входах

цесса на выходах

цесса на входах

4-12

Programming with STEP 7 V5.3

A5E00261405-01

 

 

 

 

Основы проектирования структуры программы

 

Различные времена выполнения циклов для новых CPU (10/98)

 

 

 

Текущий цикл

 

 

Следующий цикл

 

Следующий цикл

 

T

 

 

 

T

 

 

 

 

 

 

OB10

 

 

 

 

 

Обновление таб-

Обновление таб-

 

 

Обновление таб-

Обновление таб-

 

Обновление таб-

Обно

лицы образа про-

лицы образа про-

OB1

OB1

лицы образа про-

лицы образа про-

OB1

лицы образа про-

лицы

цесса на выходах

цесса на входах

 

 

цесса на выходах

цесса на входах

 

цесса на выходах

вход

В процессе выполнения OB1 прервано прерыванием по времени дня.

Максимальное время цикла

С помощью STEP 7 Вы можете изменить максимальное время цикла, установленное по умолчанию. Когда это время истекает, или CPU переходит в режим STOP, или вызывается ОВ80, в котором Вы можете определить, как CPU должен реагировать на эту ошибку.

Минимальное время цикла

С помощью STEP 7 Вы можете установить минимальное время цикла для S7400 и CPU 318. Это полезно в следующих ситуациях:

если интервал, с которым запускается исполнение программы в ОВ1 (проход главной программы), всегда должен быть одним и тем же или

если таблицу образа процесса не нужно обновлять излишне часто без необходимости, когда время цикла слишком коротко.

На следующих рисунках показано функционирование времени контроля цикла обработки программы в существующих и новых CPU от 10/98 и CPU до

10/98.

Programming with STEP 7 V5.3

4-13

A5E00261405-01

Основы проектирования структуры программы

 

 

 

 

 

 

Время контроля цикла для существующих CPU

 

 

Текущий цикл

 

 

Следующий цикл

 

 

 

Tmax

 

 

 

 

 

 

Tmin

 

Резерв

 

 

 

 

 

 

 

 

 

TC

 

Tожид

 

 

PC16

 

 

 

 

OB40

 

PC07

 

OB10

 

OB10

 

 

 

Обновление та-

Обновление та-

 

Обновление та-

 

блицы образа

OB1

блицы образа

 

блицы образа

OB1

PC01

процесса на

OB1процесса на

 

процесса на

входах

 

выходах

 

входах

 

PC29

 

 

OB90

OB90

OB90

 

Tmax

= максимальное время цикла, которое может быть установлено

 

 

Tmin

= минимальное время цикла, которое может быть установлено

 

 

Tc

= время исполнения текущего цикла

 

 

 

Tожид = разность между T min и временем исполнения текущего цикла. В это время могут обрабатываться произошедшие

PC

прерывания и фоновый ОВ

 

 

 

 

= Класс приоритета

 

 

 

 

4-14

Programming with STEP 7 V5.3

A5E00261405-01

 

 

 

 

 

 

Основы проектирования структуры программы

 

 

 

Время контроля цикла для новых CPU (10/98)

 

 

Текущий цикл

 

 

 

 

 

Следующий цикл

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tmax

 

 

 

 

 

 

 

Tmin

 

 

Резерв

 

 

 

 

 

 

 

 

 

 

 

TC

 

 

 

 

Tожид

 

 

PC16

 

 

 

 

 

 

 

OB40

 

PC07

 

 

 

 

 

OB10

OB10

 

 

 

Обновление

Обновление

 

 

 

 

Обновление

Обн

PC01

таблицы обратаблицы обра-

OB1

OB1

 

таблицы обра- табл

за процесса

за процесса

 

 

за процесса

на вх

 

на выходах

на входах

 

 

 

 

на выходах

 

PC29

 

 

 

 

 

OB90

OB90

OB90

 

Tmax

= максимальное время цикла, которое может быть установлено

 

 

Tmin

= минимальное время цикла, которое может быть установлено

 

 

Tc

= время выполнения текущего цикла

 

 

 

 

Tожид = разность между T min

и временем выполнения текущего цикла. В это время могут обрабатываться произошедшие

PC

прерывания и фоновый ОВ

 

 

 

 

 

 

= класс приоритета

 

 

 

 

 

 

 

Обновление образа процесса

Когда CPU обрабатывает циклическую программу, образ процесса обновляется автоматически. В случае CPU S7-400 и CPU 318 Вы можете отменить обновление образа процесса, если Вы хотите:

вместо этого непосредственно обращаться к входам/выходам или

обновлять одну или более секций входов или выходов образа процесса в другой точке программы, используя системные функции SFC26 UPDAT_PI

и SFC27 UPDAT_PO.

Коммуникационная нагрузка

Вы можете использовать параметр CPU "Scan Cycle Load from Communication [Нагрузка времени цикла от коммуникаций]" для управления в пределах заданного кадра длительностью, выделенной коммуникационному процессу, что всегда увеличивает время обработки. Примеры коммуникационных процессов включают передачу данных другим CPU посредством MPI или загрузку блоков посредством программатора.

Тестовые функции с программирующим устройством слабо зависят от этого параметра. Однако, Вы можете значительно увеличить время выполнения цикла. В рабочем режиме Вы можете ограничивать время для тестовых функций (только S7-300).

Programming with STEP 7 V5.3

4-15

A5E00261405-01

Основы проектирования структуры программы

Как работает параметр

Операционная система CPU постоянно обеспечивает для задач связи долю времени работы CPU (квант времени). Если производительность процессора не нужна для соединения, это применяется для отдыха.

Эффект от актуального времени сканирования

Без дополнительных асинхронных событий, время сканирования цикла OB1 умножается на коэффициент, который вычисляется по формуле:

100

100 - "Scan cycle load from communication (%)"

Пример 1 (нет дополнительных асинхронных событий):

Когда Вы устанавливаете нагрузку, добавляя к циклу соединения 50%, время сканирования цикла OB1 может удвоиться.

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

Пример 2 (учитываются дополнительные асинхронные события):

Для OB1 время увеличивается на 500 мс, соединение может читать 50% результатов в реальном времени сканирования до 1000 мс (обеспечивается, что у CPU всегда достаточно заданий для обработки процесса). Если, параллельно с этим, каждые 100 мс выполняется циклическое прерывание со временем обработки 20 мс, циклическое прерывание увеличит цикл в общем на 5*20 мс = 100 мс без учета времени коммуникаций. Реальное время сканирования будет 600 мс. Поскольку циклическое прерывание прерывает и коммуникации, это влияет на время сканирования 10 * 20 мс с 50% коммуникационной нагрузкой. По этой причине, реальное время сканирования равно от 1200 мс до 1000 мс.

Замечания

Проверьте эффект изменения величины параметра "Нагрузка времени цикла от коммуникаций", пока система работает.

Коммуникационная нагрузка должна приниматься во внимание при определении минимального времени цикла; иначе происходит временная ошибка.

4-16

Programming with STEP 7 V5.3

A5E00261405-01