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

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

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