Материал: Программируемые логические контроллеры SIMATIC S7-300 400. лабораторный практикум. Таратынов О.Ю., Ткалич С.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ним относятся, например, обращение к несуществующему адресу или ошибка преобразования типа данных.

Типы и номера регистрируемых событий и соответствующих организационных блоков определяются CPU; не каждый CPU способен обработать все возможные события STEP 7.

CPU имеет три режима работы: режим STOP, режим STARTUP и режим RUN. Светодиоды состояния на передней стороне CPU показывают текущий режим работы.

В режиме STOP CPU не выполняет программу, и вы можете загружать проект.

В режиме STARTUP один раз выполняются OB запуска (если имеются).

В режиме RUN многократно выполняется цикл сканирования (рис. 5.1).

Рис. 5.1. Циклическое выполнение программы

45

CPU выполняет полный перезапуск (с OB100) при включении или переключении STOP --> RUN. При полном перезапуске, операционная система удаляет несохраняемые меркеры, таймеры и счетчики, удаляет стек прерываний и стек блоков, сбрасывает все сохраненные аппаратные и диагностические прерывания и запускает контроль времени цикла.

Фазы циклической обработки программы:

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

CPU записывает значения из отображения процесса на выходах в модули вывода.

CPU считывает состояние входов на модулях ввода и обновляет отображение процесса на входах.

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

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

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

С целью повышения удобочитаемости и понимания программы вы можете разбить ее на произвольное число разделов. Языки программирования STEP 7 поддерживают эту концепцию и предоставляют необходимые функции. Каждая часть программы должна быть независимой и обладать технологическим или функциональным базисом. Эти разделы программы называются «блоками» («Blocks»). Блок – это раздел программы, который определяется собственной функциональностью, структурой или решаемой задачей.

Различают следующие типы блоков (рис. 5.2):

Пользовательские блоки (user blocks). Эти блоки содержат пользовательскую программу и пользовательские данные.

46

Системные блоки (system blocks). Эти блоки содержат системную программу и системные данные.

Стандартные блоки (standard blocks). Готовые к непосредственному использованию (созданные заранее) блоки, такие как драйверы для функциональных модулей (FM) и ко м- муникационных процессоров (СР).

Рис. 5.2. Типы блоков

Организационные блоки (Organization blocks - OB)

Эти блоки служат в качестве интерфейса между операционной системой и программой пользователя. Операционная система CPU вызывает организационные блоки при возникновении определенных событий, например, в случае аппаратного прерывания или прерывания по времени суток. Главная программа находится в организационном блоке ОВ 1. Остальные организационные блоки имеют постоянные номера, назначенные в зависимости от событий, для обработки которых они вызываются.

Функциональные блоки (Function blocks - FB)

Эти блоки являются частями программы, вызовы которых могут быть запрограммированы с помощью параметров блока. У них есть область памяти для переменных (variable memory), которая расположена в блоке данных. Этот блок постоянно назначен функциональному блоку или, точнее, вызову (call) функционального блока.

47

Кроме того, каждому вызову функционального блока можно назначить другой блок данных (с такой же структурой данных, но содержащий другие значения). Подобный постоянно назначенный блок называется экземплярным блоком данных или экземпляром блока данных (instance data block), а совокупность вызова функционального блока и экземплярного блока данных называется экземпляром вызова (call instance) или просто «экземпляром» («instance»). Функциональные блоки могут также хранить свои переменные в экземплярном блоке данных вызывающего функционального блока; такой экземпляр называется «локальным экземпляром» («local instance»).

Функции (Functions - FC)

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

Блоки данных (Data blocks - DB)

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

1)в качестве глобальных блоков данных (global data

blocks),

2)в качестве экземплярных блоков данных (instance data

blocks).

Глобальный блок данных в пользовательской программе является, так сказать, ”свободным” блоком данных и не назначается конкретному кодовому блоку. Экземплярный блок данных назначен функциональному блоку и хранит часть локальных данных этого блока.

48

Количество блоков определенного блочного типа и размер блоков зависит от типа CPU. Число организационных блоков и их номера фиксированы; они назначаются операционной системой CPU. Блокам других типов вы можете самостоятельно назначить номера из определенного диапазона. Также вы можете с помощью таблицы символов назначить каждому блоку имя (символ) и затем обращаться к блокам по присвоенному имени.

Системные блоки

Системные блоки являются компонентами операционной системы. Они могут содержать программы (системные функции, SFC, или системные функциональные блоки, SFB) или данные (системные блоки данных, SDB). Системные блоки предоставляют вам доступ к важным системным функциям, таким как управление внутренними таймерами CPU или различные коммуникационные функции.

Вы можете вызвать SFC и SFB, но вы не сможете ни и з- менить их, ни самостоятельно запрограммировать. Сами блоки не занимают места в пользовательской памяти (user memory); только вызовы блоков и экземплярные блоки данных блоков SFB располагаются в пользовательской памяти.

Блоки SDB содержат информацию о таких вещах, как конфигурация системы автоматизации или параметры модулей. Система STEP 7 сама генерирует эти блоки и управляет ими. Тем не менее, вы можете определять их содержимое, например, при конфигурировании станций. Как правило, блоки SDB располагаются в загрузочной памяти (load memory). Из пользовательской программы доступ к ним получить нельзя.

Стандартные блоки

В дополнение к создаваемым вами функциям и функциональным блокам вы можете использовать готовые к применению блоки (называемые «стандартными блоками»). Они могут поставляться на носителях данных или содержаться в библио-

49

Источник: https://studfile.net/preview/16568750/