Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1319

.pdf
Скачиваний:
19
Добавлен:
30.04.2022
Размер:
978.4 Кб
Скачать

Ю.С. Слепокуров

ОСНОВЫ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ

НА ЯЗЫКЕ STEP 7

Учебное пособие

2004

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Государственное образовательное учреждение высшего профессионального образования “Воронежский государственный технический университет”

Ю.С. Слепокуров

ОСНОВЫ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ НА ЯЗЫКЕ STEP 7

Утверждено редакционно-издательским советом в качестве учебного пособия

Воронеж 2004 1

УДК 681.142.2

Слепокуров Ю.С. Основы программирования микроконтроллеров на языке STEP 7: Учеб. пособие. Воронеж: Воронеж. гос. техн. ун-т. Воронеж, 2004. 139 с.

В учебном пособии рассматривается принцип организации программного обеспечения в технологических контроллерах SIMATIC S7 фирмы SIEMENS: типы программных блоков и их назначение, порядок работы организационных блоков в программе пользователя, правила создания блоков и использования символических имен. Дано описание основных операторов языка программирования контроллеров AWL (текстовый язык программирования, который может быть использован для создания операторной части логического блока) и приведены примеры текстов программ.

Предназначено для студентов специальности 210300 “Роботы и робототехнические системы”, изучающих курс “Программирование роботов и РТС”. Пособие будет полезно студентам других специальностей, в программе обучения которых имеются подобные дисциплины, а также инженерам и аспирантам, занимающимся разработкой программного обеспечения для систем управления технологическими процессами.

Учебное пособие подготовлено к изданию в электронном виде и содержится в файле “Step7 full.pdf”.

Табл. 19. Ил. 39. Библиогр.: 2 назв.

Научный редактор д-р техн. наук, профессор А.И. Шиянов

Рецензенты: кафедра информатики и вычислительной техники Международного института компьютерных технологий (зав. кафедрой д-р техн. наук, проф. О.Я. Кравец); канд. техн. наук О.Ю. Таратынов

Слепокуров Ю.С., 2004

Воронежский государственный технический университет, 2004

2

1. ЗНАКОМСТВО С ПРОДУКТОМ

ЧТО ТАКОЕ STEP 7?

STEP 7 – это пакет стандартного программного обеспечения, используемый для конфигурирования и программирования программируемых логических контроллеров SIMATIC. Он является частью промышленного программного обеспечения SIMATIC.

Языки программирования SIMATIC и встроенные в STEP 7 представления языков соответствуют требованиям стандарта EN 61131-3 или IEC 1131-3. Стандартный пакет работает в операционной системе Windows 95/98/NT и соответствует графической и объектно-ориентированной философии работы Windows.

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

Установка и авторизация. При первом использовании STEP 7, установите его и перенесите авторизацию с дискеты на жесткий диск.

Спланируйте концепцию использования вашего контроллера. Перед началом работы со STEP 7 спланируйте решение задачи автоматизации от деления процесса на отдельные задачи до создания диаграммы конфигурации.

Спроектируйте структуру программы. Преобразуйте задачи, описанные в эскизном проекте вашего контроллера, в структуру программы, используя блоки, имеющиеся в STEP 7.

Запустите STEP 7. STEP 7 запускается из пользовательского интерфейса Windows 95/98/NT.

Создайте структуру проекта. Проект похож на папку, в которой все данные хранятся в виде иерархической структуры и доступны вам в любое время. После создания проекта все остальные задачи выполняются в этом проекте.

Сконфигурируйте станцию. При конфигурировании станции вы указываете, какой программируемый контроллер вы хотите использовать;

например, SIMATIC 300, SIMATIC 400, SIMATIC S5.

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

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

3

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

Создайте программу. Используя один из доступных языков программирования, создайте программу, связанную с модулем или независимую от модуля, и сохраните ее в виде блоков, исходных файлов или схем.

Спроектируйте сообщения. Сообщения, относящиеся к блокам, создаются, например, с помощью их текстов и атрибутов. Используя передающую программу, вы переносите созданные данные о конфигурации сообщений в базу данных системы взаимодействия с оператором.

Спроектируйте переменные для управления и наблюдения оператором. Вы создаете переменные для управления и наблюдения оператором один раз в STEP 7 и назначаете им требуемые атрибуты. Используя передающую программу, вы переносите созданные переменные для управления

инаблюдения оператором в базу данных системы взаимодействия с оператором

WinCC.

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

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

Наблюдайте за работой, диагностируйте аппаратуру. Причина неисправности модуля определяется отображением информации о модуле в режиме online. Причины ошибок в обработке программы пользователя определяются с помощью диагностического буфера и содержимого стеков. Вы можете также проверить, может ли программа пользователя исполняться на конкретном CPU.

2.ОСНОВЫ ПРОЕКТИРОВАНИЯ СТРУКТУРЫ ПРОГРАММЫ

Программы в CPU

ВCPU всегда исполняются две программы:

операционная система;

программа пользователя.

4

ОПЕРАЦИОННАЯ СИСТЕМА

Каждый CPU содержит операционную систему, которая организует все функции и последовательности в CPU, не связанные с конкретной задачей управления. Задачи операционной системы состоят в следующем:

обработка "теплого" и "горячего" перезапуска;

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

вызов программы пользователя;

обнаружение прерываний и вызов ОВ прерываний;

обнаружение и обработка ошибок;

управление областями памяти;

обмен информацией с устройствами программирования и другими коммуникационными партнерами.

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

ПРОГРАММА ПОЛЬЗОВАТЕЛЯ

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

определение условий для "теплого" и "горячего" перезапуска в CPU (например, инициализация сигналов с определенным значением);

обработка данных процесса (например, логическая комбинация двоичных сигналов, считывание и анализ аналоговых сигналов, задание двоичных сигналов для вывода, вывод аналоговых значений);

определение реакции на прерывания;

обработка нарушений в нормальном исполнении программы.

3. БЛОКИ В ПРОГРАММЕ ПОЛЬЗОВАТЕЛЯ

БЛОКИ В ПРОГРАММЕ ПОЛЬЗОВАТЕЛЯ

Программное обеспечение STEP 7 дает вам возможность структурировать свою пользовательскую программу, иными словами, разбивать программу на отдельные автономные программные секции. Это дает следующие преимущества:

Такие программы проще для понимания.

Отдельные программные секции могут быть стандартизованы.

Упрощается организация программы.

Легче производить модификацию программы.

Отладка упрощается, так как можно тестировать отдельные секции.

Значительно упрощается прием системы в эксплуатацию.

5

ТИПЫ БЛОКОВ

Имеется несколько различных типов боков, которые вы можете использовать внутри пользовательской программы S7:

Блок

Краткое описание функции

 

См. также

 

Организационные

OB

определяют

структуру

Организационные

блоки (OB)

 

программы пользователя.

 

блоки

и

структура

 

 

 

 

 

 

 

программы

 

 

Системные

 

SFB и SFC встроены в CPU S7

Системные

 

 

функциональные

и обеспечивают вам доступ ко

функциональные блоки

блоки

(SFB) и

всем

важным

системным

(SFB)

и

системные

системные функции

функциям.

 

 

функции (SFC)

 

(SFC)

 

 

 

 

 

 

 

 

 

 

Функциональные

FB – это блоки с "памятью",

Функциональные

 

блоки (FB)

 

которые

вы

можете

блоки (FB)

 

 

 

 

программировать сами.

 

 

 

 

 

Функции (FC)

FC

содержат программы для

Функции (FC)

 

 

 

часто встречающихся функций.

 

 

 

 

Экземплярные блоки

Экземплярные DB связываются

Экземплярные

блоки

данных

 

с блоком, когда вызывается

данных

 

 

(экземплярные DB)

FB/SFB.

Они

создаются

 

 

 

 

 

 

автоматически

 

при

 

 

 

 

 

 

компиляции.

 

 

 

 

 

 

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

DB – это области данных для

Совместно

 

 

 

 

хранения данных пользователя.

используемые

блоки

 

 

Кроме

 

данных,

данных (DB)

 

 

 

 

соответствующих

 

 

 

 

 

 

 

 

функциональному блоку,

могут

 

 

 

 

 

 

быть

определены

также

 

 

 

 

 

 

данные,

 

совместно

 

 

 

 

 

 

используемые

любыми

 

 

 

 

 

 

блоками.

 

 

 

 

 

 

OB, FB, SFB, FC и SFC содержат секции программы и поэтому известны также как логические блоки. Допустимое количество блоков каждого типа и допустимая длина блоков зависят от CPU.

ОРГАНИЗАЦИОННЫЕ БЛОКИ И СТРУКТУРА ПРОГРАММЫ

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

6

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

ПРИОРИТЕТ ОРГАНИЗАЦИОННОГО БЛОКА

Организационные блоки определяют порядок, в котором исполняются отдельные программные секции. Исполнение ОВ может быть прервано вызовом другого ОВ. Какому ОВ разрешается прервать другой ОВ, зависит от его приоритета. ОВ с более высоким приоритетом могут прерывать ОВ с более низким приоритетом. Фоновый ОВ имеет самый низкий приоритет.

ТИПЫ ПРЕРЫВАНИЙ И КЛАССЫ ПРИОРИТЕТА

События, которые приводят к вызову ОВ, известны как прерывания. Следующая таблица показывает типы прерываний в STEP 7 и приоритеты соответствующих им организационных блоков. Перечисленные организационные блоки и их классы приоритета доступны не во всех CPU S7 (см. “Программируемый контроллер S7-300. Руководство по аппаратному обеспечению и монтажу” и “Программируемые контроллеры S7-400, M7-400. Спецификации модулей. Справочное руководство”).

Тип

Организационный

Приоритет

См. также

 

прерывания

блок

(по

 

 

 

 

 

умолчанию)

 

 

 

Главный

OB1

1

Организационный

блок

программный

 

 

для

циклической

цикл

 

 

обработки

программы

 

 

 

(OB1)

 

 

Прерывания

OB10 OB17

2

Организационные

блоки

по времени

 

 

прерываний

по

времени

суток

 

 

(OB10 OB17)

 

Прерывания с

OB20

3

Организационные

блоки

задержкой

OB21

4

прерываний

с задержкой

 

OB22

5

(OB20 OB23)

 

 

OB23

6

 

 

 

Циклические

OB30

7

Организационные

блоки

прерывания

OB31

8

циклических

прерываний

 

OB32

9

(OB30 OB38)

 

 

OB33

10

 

 

 

 

OB34

11

 

 

 

 

OB35

12

 

 

 

 

OB36

13

 

 

 

 

OB37

14

 

 

 

 

OB38

15

 

 

 

Аппаратные

OB40

16

Организационные

блоки

7

Тип

Организационный

Приоритет

См. также

 

прерывания

 

блок

 

(по

 

 

 

 

 

 

 

умолчанию)

 

 

 

прерывания

OB41

 

 

17

аппаратных

прерываний

 

OB42

 

 

18

(OB40 OB47)

 

 

OB43

 

 

19

 

 

 

 

OB44

 

 

20

 

 

 

 

OB45

 

 

21

 

 

 

 

OB46

 

 

22

 

 

 

 

OB47

 

 

23

 

 

 

Мультипроце

OB60

 

 

25

Многопроцессорный

 

ссорное

Многопроцессорный

 

режим

–Синхронная

прерывание

режим

 

 

 

работа нескольких CPU

 

 

 

 

 

 

Ошибки

OB70 Ошибка

 

25

Организационные

блоки

резервирован

резервирования

 

 

обработки

ошибок

(OB70

ия

ввода/вывода

 

 

OB87 / OB121 OB122)

(только в Н-

OB72 Ошибка

 

28

 

 

 

системах)

резервирования CPU

 

 

 

 

Асинхронные

OB80

Временная

26

Организационные

блоки

ошибки

ошибка

 

 

(или 28, если

обработки

ошибок

(OB70

 

OB81 Ошибка

по

ОВ

OB87 / OB121 OB122)

 

питанию

 

асинхронны

 

 

 

 

OB82

 

 

х ошибок

 

 

 

 

Диагностическое

 

существует в

 

 

 

 

прерывание

 

программе

 

 

 

 

OB83

Ошибка

запуска)

 

 

 

 

установки/ удаления

 

 

 

 

 

модуля

 

 

 

 

 

 

 

OB84

Аппаратная

 

 

 

 

 

неисправность CPU

 

 

 

 

 

OB85 Ошибка класса

 

 

 

 

 

приоритета

 

 

 

 

 

 

OB86 Неисправность

 

 

 

 

 

стойки

 

 

 

 

 

 

 

OB87 Ошибка связи

 

 

 

 

Фоновый

OB90

 

 

29 1)

Фоновый

 

 

цикл

 

 

 

 

организационный

блок

 

 

 

 

 

(OB90)

 

 

Запуск

OB100

Теплый

27

Организационные

блоки

 

рестарт

 

 

 

запуска

 

 

 

OB101

Горячий

27

(OB100/OB101/OB102)

 

рестарт

 

 

 

 

 

 

8

Тип

Организационный

Приоритет

См. также

 

прерывания

 

блок

(по

 

 

 

 

 

умолчанию)

 

 

 

OB102

Холодный

27

 

 

 

рестарт

 

 

 

 

Синхронные

OB121

Ошибка

Приоритет

Организационные

блоки

ошибки

программирования

ОВ,

обработки ошибок

(OB70

 

OB122

Ошибка

вызвавшего

OB87 / OB121 OB122)

 

доступа

 

ошибку

 

 

1) Класс приоритета 29 соответствует приоритету 0,29. Фоновый цикл имеет более низкий приоритет, чем свободный цикл.

ИЗМЕНЕНИЕ ПРИОРИТЕТА

Прерываниям с помощью STEP 7 могут быть назначены параметры. Назначая параметры, вы можете, например, отменить выбор ОВ прерываний или классы приоритета в блоках параметров: прерывания по времени суток, прерывания с задержкой, циклические прерывания и аппаратные прерывания.

Приоритет организационных блоков в CPU S7-300 фиксирован.

У CPU S7-400 (и CPU 318) вы можете изменять приоритет следующих организационных блоков с помощью STEP 7:

OB10OB47;

OB70 OB72 (только H-CPU) и OB81 OB87 в режиме RUN.

Разрешены следующие классы приоритета:

классы приоритета от 2 до 23 для OB10 OB47;

классы приоритета от 2 до 28 для OB70 OB72;

классы приоритета от 24 до 26 для OB81 OB87.

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

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

ЛОКАЛЬНЫЕ ДАННЫЕ

При создании логических блоков (OB, FC, FB) вы можете описать временные локальные данные. Область локальных данных в CPU делится между классами приоритета.

В S7-400 вы можете изменить количество локальных данных на класс приоритета в блоке параметров ”priority classes [классы приоритета]" с помощью STEP 7.

9