Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программирование промышленных контроллеров

Покупка
Артикул: 799107.01.99
Доступ онлайн
300 ₽
В корзину
Пособие содержит основные сведения по системе программирования промышленных контроллеров серии Simatic S7-200, поясняет формат и назначение его основных команд. Здесь же рассмотрены примеры задач и предложены задания для самостоятельной работы, которые могут выполняться на специальных стендах, представляющих собой упрощенные макеты электроприводов и электрооборудования станков с ЧПУ, или на программных эмуляторах контроллера и объектов промышленной автоматики. Издание ориентировано на современные технологии автоматизации с применением программируемых логических контроллеров и содержит оригинальный материал.
Нестеров, К. Е. Программирование промышленных контроллеров : учебно-методическое пособие / К. Е. Нестеров, А. М. Зюзев. - Екатеринбург : Изд-во Уральского ун-та, 2019. - 96 с. - ISBN 978-5-7996-2693-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/1936362 (дата обращения: 29.03.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство науки и высшего образования 
Российской Федерации
Уральский федеральный университет
имени первого Президента России Б. Н. Ельцина

К. Е. Нестеров
А. М. Зюзев

ПРОГРАММИРОВАНИЕ
ПРОМЫШЛЕННЫХ КОНТРОЛЛЕРОВ

Учебно-методическое пособие

Рекомендовано методическим советом
Уральского федерального университета
для студентов вуза, обучающихся 
по направлению подготовки
13.03.02 «Электроэнергетика и электротехника»

Екатеринбург
Издательство Уральского университета
2019

УДК 61.337.2:004.4(075.8)
ББК 31.264.34я73
          Н56

Рецензенты:
кафедра электрификации горных предприятий ФГБОУ ВО «Уральский 
государственный горный университет» (завкафедрой д-р техн. наук,  
ст. науч. сотр. А. Л. Карякин);
директор ООО «Тяжпромэлектропривод» канд. техн. наук, доц. В. И. Зеленцов


Научный редактор — канд. техн. наук, доц. В. П. Метельков

 
Нестеров, К. Е.
Н56    Программирование промышленных контроллеров : учеб.-метод. пособие / 
К. Е. Нестеров, А. М. Зюзев. — Екатеринбург : Изд-во Урал. ун-та, 
2019. — 96 с. : ил.

ISBN 978-5-7996-2693-8

Пособие содержит основные сведения по системе программирования про-
мышленных контроллеров серии Simatic S7-200, поясняет формат и назначение 
его основных команд. Здесь же рассмотрены примеры задач и предложены задания 
для самостоятельной работы, которые могут выполняться на специальных стен-
дах, представляющих собой упрощенные макеты электроприводов и электрообо-
рудования станков с ЧПУ, или на программных эмуляторах контроллера и объ-
ектов промышленной автоматики.
Издание ориентировано на современные технологии автоматизации с при-
менением программируемых логических контроллеров и содержит оригиналь-
ный материал.

Библиогр.: 5 назв. Табл. 2. Рис. 15.

УДК 61.337.2:004.4(075.8)
ББК 31.264.34я73

ISBN 978-5-7996-2693-8 
© Уральский федеральный
 
     университет, 2019

Оглавление

1. Языки программирования контроллеров. Среда Step7‑Micro/WIN .....5

1.1. Битовые логические команды ...................................................7
1.2. Операции сравнения ................................................................10
1.3. Счетчики и таймеры .................................................................11
1.4. Математические команды и преобразование типов 
        переменных ..............................................................................15
1.5. Подпрограммы и прерывания .................................................18
1.6. Указатели и косвенная адресация ...........................................25
1.7. Аналоговые входы и выходы, встроенные потенциометры ...28
1.8. Цикл FOR-NEXT .....................................................................30
1.9. Управление последовательностью операций ..........................31

2. Программирование устройств автоматики на базе 
      промышленных контроллеров ..........................................................34

2.1. Структура комплекса для изучения систем управления 
        промышленной автоматики ....................................................34
2.2. Задачи по теме «Автоматизация общепромышленных 
        установок» ................................................................................38

2.2.1. Управление автоматизированными воротами ..............38
2.2.2. Электронное табло .........................................................38
2.2.3. Кодовый замок ...............................................................43
2.2.4. Управление светофорами перекрестка .........................44
2.2.5. Система управления гирляндой ....................................45
2.2.6. Автоматизация освещения ............................................46
2.2.7. Автоматическое поддержание заданной 
           температуры воды ..........................................................48
2.2.8. Система автоматического поддержания 
           температуры в помещении ............................................49
2.2.9. Автоматизация дистиллятора ........................................49
2.2.10. Система управления автоматизированной 
              коробкой передач ........................................................50
2.2.11. Система управления башенными часами ...................50
2.2.12. Автоматизация насосной станции ..............................51

Оглавление

2.2.13. Система управления лифтом .......................................52
2.2.14. Автоматизация установки для получения 
             заданного количества смеси растворов требуемой 
             температуры .................................................................53
2.2.15. Автоматизация установки для смешивания 
             химических реактивов .................................................54
2.2.16. Система управления установкой для получения 
             смеси заданной температуры .......................................55
2.2.17. Автоматизация крана-штабеллера ..............................56
2.2.18. Автоматизация сверлильного станка ..........................57

2.3. Задачи по теме «Электроавтоматика станков с ЧПУ» ............58

2.3.1. Автоматизация токарного станка ..................................58
2.3.2. Автоматизация механизма смены инструмента ...........63
2.3.3. Управление механизмами участка механообработки ...69

2.4. Автоматизация робототехники ...............................................77

2.4.1. Цикловая система управления промышленным роботом 
МП-9С .....................................................................................80
2.4.2. Позиционная система управления роботом ТУР-10 ....86

Библиографический список ..................................................................95

1. 
Языки программирования контроллеров. 
Среда Step7‑Micro/WIN

П

рограммное обеспечение Step7-Micro/WIN [4] предназначено 
для программирования и обслуживания логических контроллеров 
серии Simatic S7–200 фирмы Siemens. Среда разработки 
управляется операционной системой Windows и способна 
отображать программу в одном из трех видов: LAD (язык релейных 
схем), FBD (язык функциональных блоков) или STL (текстовый язык 
ассемблерного типа). Главное окно среды Step7-Micro/WIN по умолчанию 
содержит (рис. 1): 1 — кнопки выбора содержимого главного 
окна и вызова специализированных мастеров; 2 — таблицу переменных 
программы или параметров подпрограммы; 3 — дерево инструкций 
контроллера; 4 — поле для набора программы (подпрограммы); 
5 — окно вывода сообщений компилятора.

Рис. 1. Среда Step7-Micro/WIN

1. Языки программирования контроллеров. Среда Step7‑Micro/WIN

Программа для контроллера, показанная на рис. 1, представлена 
на языке Ladder. Среда позволяет изменить язык программирования 
(пункт меню View), даже если программа уже написана (некоторые 
программы, написанные на языке STL, нельзя перевести на другие 
языки). На рис. 2 приведена та же программа, представленная на дру-
гих языках.
а                                                                             б

Рис. 2. Программа для контроллера на языках FBD (а) и STL (б)

Наиболее простым для понимания и наглядным является язык 
Ladder. Язык STL, хотя и позволяет создавать более эффективный 
в некоторых случаях код, является самым сложным и требует больше-
го внимания при написании программ.
Среда разработки поддерживает абсолютную и символьную адреса-
цию, позволяет создавать пользовательские подпрограммы и подпро-
граммы обработки прерываний, имеет встроенные средства для опреде-
ления типа подключенного контроллера (от типа контроллера зависит 
набор доступных для программирования инструкций). Step7-Micro/WIN 
позволяет загружать программу из среды разработки в контроллер, вы-
гружать ее из контроллера в среду разработки, может считывать и ото-
бражать значения переменных контролера во время его работы.
Для подключения контроллера к компьютеру или программатору 
могут использоваться PC/PPI-кабель, USB/PPI-кабель, коммуника-
ционные процессоры CP 5511 (PCMCIA-карта)/CP 5611 (PCI-карта) 
с MPI-кабелем, а также встроенные интерфейсы программаторов 
SIMATIC.
Среда Step7-Micro/WIN содержит набор мастеров для выполнения 
функций конфигурирования:
· текстового дисплея TD200;
· ПИД-регуляторов;
· коммуникационных соединений для обмена данными между цен-
тральными процессорами;

1.1. Битовые логические команды

· скоростных счетчиков;
· модуля позиционирования EM253;
· модема EM 241;
· коммуникационного процессора CP 243–1.
Имеется встроенная система помощи по всем инструкциям кон-
троллера, типам данных, ошибкам и возможностям среды разработки, 
поддерживается импорт и экспорт программ в формат AWL (исполь-
зуется при работе с эмулятором контроллера). Все данные проекта, 
включая программу, подпрограммы, параметры и настройки, сохраня-
ются в одном файле, что упрощает перенос и копирование программ 
с одного компьютера на другой.

1.1. Битовые логические команды

Битовые команды предназначены для выполнения операций над 
переменными логического типа (принимающих одно из двух значе-
ний: 0 или 1), результатом их исполнения также является переменная 
логического типа.
· Команда Normally Open (нормально открытый контакт);
· Команда Normally Close (нормально закрытый контакт).
Эти команды получают значение из памяти или из регистра об-
раза процесса, если типом данных является I или Q. В блоках AND 
(И) и OR (ИЛИ) можно использовать не более семи входов. Контакт 
Normally Open замкнут (включен), когда бит равен 1. Контакт Normally 
Close замкнут (включен), когда бит равен 0. В FBD команды, соот-
ветствующие нормально открытым контактам, представлены блока-
ми AND/OR. Эти команды могут быть использованы для манипули-
рования булевыми сигналами таким же образом, как контакты LAD. 
Команды, соответствующие нормально замкнутым контактам, тоже 
представлены блоками AND/OR. Команда, соответствующая нор-
мально замкнутому контакту, строится путем помещения символа 
отрицания на отметке входного сигнала. Количество входов блоков 
AND и OR может быть увеличено максимум до семи. В STL нормаль-
но открытый контакт представляется командами LD (load — загру-
зить), A (and — И) и O (or — ИЛИ). Эти команды загружают значение 
адресного бита в вершину стека или выполняют логическое сопряже-

1. Языки программирования контроллеров. Среда Step7‑Micro/WIN

ние значения адресного бита со значением в вершине стека в соот-
ветствии с таблицей истинности логического И или ИЛИ. В STL нор-
мально замкнутый контакт представляется командами LDN (загрузить 
инверсное значение), AN (И-НЕ) и ON (ИЛИ-НЕ). Эти команды загру-
жают логическое отрицание значения адресного бита в вершину стека 
или выполняют логическое сопряжение логического отрицания зна-
чения адресного бита со значением в вершине стека в соответствии 
с таблицей истинности логического И или ИЛИ.
· Команда Output (выход).
Когда выполняется команда Output, в регистре образа процесса 
устанавливается выходной бит. В LAD и FBD при выполнении ко-
манды Output указанный бит устанавливается равным потоку сигна-
ла на входе команды Output. В STL команда = (выход) копирует вер-
шину стека в указанный бит.
· Команда Positive Transition (положительный фронт);
· Команда Negative Transition (отрицательный фронт).
Команда Positive Transition пропускает поток сигнала в течение од-
ного цикла при каждом появлении положительного фронта. Команда 
Negative Transition пропускает поток сигнала в течение одного цик-
ла при каждом появлении отрицательного фронта. В LAD команды 
Positive Transition и Negative Transition представляются контактами. 
В FBD эти команды представляются блоками P и N. В STL команде 
Positive Transition соответствует команда EU (edge up). При обнаруже-
нии перехода значения в вершине стека с 0 на 1, значение в вершине 
стека устанавливается в 1; в противном случае оно устанавливается 
в 0. В STL команде Negative Transition соответствует команда ED (edge 
down). При обнаружении перехода значения в вершине стека с 1 на 0, 
значение в вершине стека устанавливается в 1, в противном случае оно 
устанавливается в 0.

· Команды S (set — установить) и R (reset — сбросить) для несколь-
ких (N) разрядов.
Когда исполняется команда S или R, устанавливается (включается) 
или сбрасывается (выключается) указанное количество разрядов (N), 
начиная со значения, определенного параметром (бит) команды. Ко-
личество разрядов, которые могут быть установлены или сброшены, 
составляет 1…255. При использовании команды R, если указанный бит 
является битом таймера или счетчика, сбрасывается как таймер или 
счетчик, так и текущее значение таймера или счетчика.

1.1. Битовые логические команды

Задача 1. Разработать программу, реализующую прямое управление 
выходом контроллера Q0.0 с помощью входа I0.0, т. е. выход Q0.0 дол-
жен повторять состояние входа I0.0.

Решение:

Задание для самостоятельной работы
Модифицировать программу таким образом, чтобы вход I0.0 управ-
лял не только выходом Q0.0, но и выходом Q0.1.

Задача 2. Разработать программу, реализующую алгоритм работы пу-
скателя с кнопками Пуск и Стоп: импульс, поступивший на вход кон-
троллера I0.0 (кнопка Пуск), включает выход Q0.0, а импульс на вхо-
де I0.1 (кнопка Стоп) отключает его.
Решение:

Задание для самостоятельной работы
1. Добавить возможность управления выходом Q0.0 со второй кно-
почной станции (вход I0.2 — Пуск, I0.3 — Стоп).

2. Решить задачу, используя триггерные команды S и R.
Задача 3. Разработать программу, управляющую выходом Q0.0 с по-
мощью импульсов, поступающих с входа I0.0 (первый импульс вклю-
чает выход, второй — выключает и т. д.).
Решение:

1. Языки программирования контроллеров. Среда Step7‑Micro/WIN

Задание для самостоятельной работы
1. Добавить возможность управления выходом Q0.0 с входа I0.1.
2. Решить задачу, используя RS-триггер.
3. Создать программу, последовательно включающую выходы 
Q0.0 …Q0.7 при появлении импульсов на входе I0.1.

1.2. Операции сравнения

Операции сравнения могут осуществляться над переменными бай-
тового (Byte), словного (двухбайтового Int), двухсловного (четырех-
байтового DInt) и вещественного (Real) типов. Для каждого типа срав-
ниваемых переменных существует свой набор операций сравнения 
(больше, меньше, равно, не равно, больше или равно, меньше или рав-
но), например, не допускается сравнение переменных словного типа 
при использовании операции сравнения байтов. Сравнивать между 
собой можно только переменные одного типа.
Команды сравнения используются для сравнения двух величин: 
IN1 и IN2. Возможны следующие сравнения: IN1 = IN2, IN1 >= IN2, 
IN1 <= IN2, IN1 > IN2, IN1 < IN2 и IN1 <> IN2. Байты сравниваются 
без знака. В LAD контакт включен, когда сравнение истинно. В FBD 
выход включен, когда сравнение истинно. В STL, если сравнение ис-
тинно, то эти команды загружают «1» в вершину стека или выполня-
ют логическое сопряжение значения 1 со значением в вершине стека 
в соответствии с таблицей истинности для И или ИЛИ.
Задача 4. Разработать программу, выполняющую сравнение значе-
ний байтов IB0 и IB1. Если IB0 > IB1, то включить выход контроллера 
Q0.0. Примечание: младший бит имеет индекс 0 (для байта IB0 млад-
ший бит — I0.0).

1.3. Счетчики и таймеры

Решение:

Задание для самостоятельной работы
1. Дополнить программу так, чтобы включался выход Q0.1 при 
IB0 < IB1, а Q0.2 — при IB0 = IB1.
2. Разработать программу, выполняющую сравнение значений слов 
(двухбайтовых целочисленных переменных) VW0 и VW2. Результат 
сравнения отобразить аналогично предыдущей задаче (включить со-
ответствующий выход контроллера).

1.3. Счетчики и таймеры

Счетчики предназначены для подсчета импульсов, поступающих 
на их вход. Существует 3 вида счетчиков: прямой, реверсивный и об-
ратный.
Команда CTU (count up — прямой счет) увеличивает значение счет-
чика вплоть до максимального значения при появлении нарастающих 
фронтов сигнала на входе CU. Когда текущее значение (Сххх) больше 
или равно предустановленному значению (PV), бит счетчика (Cxxx) 
устанавливается. Счетчик сбрасывается, когда включается вход сбро-
са. Он прекращает счет при достижении PV.
Команда CTUD (count up/down — реверсивный счет) увеличива-
ет значение счетчика при появлении нарастающих фронтов сигнала 
на входе CU. Она уменьшает значение счетчика при появлении нарастающих 
фронтов сигнала на входе CD. Когда текущее значение (Сххх) 
больше или равно предустановленному значению (PV), бит счетчика (
Cxxx) устанавливается. Счетчик сбрасывается, когда включается 
вход сброса.
Команда CTD (count down — обратный счет) уменьшает значение 
счетчика от предустановленного значения при появлении нарастающих 
фронтов сигнала на входе CD. Когда текущее значение равно 

1. Языки программирования контроллеров. Среда Step7‑Micro/WIN

нулю, бит счетчика (Cxxx) включается. Счетчик сбрасывает свой бит 
(Cxxx) и загружает текущее значение предустановленным значением 
(PV), когда включается вход загрузки (LD). Обратный счет прекращается 
при достижении нуля. Область счетчиков Cxxx = C0…C255. В STL 
входу сброса CTU соответствует значение, находящееся в вершине 
стека, а входу «Прямой счет» — значение, загруженное во второй уровень 
стека. В STL входу сброса CTUD соответствует значение, находящееся 
в вершине стека, входу «Обратный счет» — значение, загруженное 
во второй уровень стека, а входу «Прямой счет» — значение, 
загруженное в третий уровень стека. В STL входу загрузки CTD соот-
ветствует вершина стека, а входу «Обратный счет» — значение, загру-
женное во второй уровень стека.
Таймеры используются для реализации временных задержек меж-
ду некоторыми событиями, например, между поступлением сигнала 
на контроллер и включением его выхода. Таймеры различаются вре-
менным разрешением — минимально возможной задержкой, реали-
зуемой с их помощью. По величине разрешения они разделены на три 
группы: 1, 10 и 100 мс. К первой группе относятся таймеры с адреса-
ми Т32, Т96; ко второй — Т33…Т36 и Т97…Т100; к третьей — Т37…Т63 
и Т101…Т255. Далее рассмотрены следующие таймерные команды:
· TON (On-Delay Timer — таймер с задержкой включения);
· TOF (Off-Delay Timer — таймер с задержкой выключения).
Команды TON (таймер с задержкой включения) и TONR (таймер 
с задержкой включения с запоминанием) отсчитывают время, ког-
да включен разрешающий вход (IN). Когда текущее значение (Txxx) 
становится больше или равно предустановленному времени (PT), бит 
таймера устанавливается.
Текущее значение таймера с задержкой включения сбрасывается, 
когда выключается разрешающий вход, в то время как текущее зна-
чение таймера с задержкой включения с запоминанием сохраняется, 
когда этот вход выключается. Можно использовать таймер с задерж-
кой включения с запоминанием для накопления времени за несколько 
периодов, когда включен разрешающий вход. Для стирания текущего 
значения таймера с задержкой включения с запоминанием, использу-
ется команда R (сбросить). Таймер с задержкой включения и таймер 
с задержкой включения с запоминанием продолжают счет после до-
стижения предустановленного значения, они останавливают счет при 
достижении максимального значения, равного 32767.

Доступ онлайн
300 ₽
В корзину