Программирование промышленных контроллеров
Покупка
Тематика:
Проектирование, отладка и тестирование ПО. Вспомогательные средства проектирования. CASE-технологии
Издательство:
Издательство Уральского университета
Год издания: 2019
Кол-во страниц: 96
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7996-2693-8
Артикул: 799107.01.99
Пособие содержит основные сведения по системе программирования промышленных контроллеров серии Simatic S7-200, поясняет формат и назначение его основных команд. Здесь же рассмотрены примеры задач и предложены задания для самостоятельной работы, которые могут выполняться на специальных стендах, представляющих собой упрощенные макеты электроприводов и электрооборудования станков с ЧПУ, или на программных эмуляторах контроллера и объектов промышленной автоматики. Издание ориентировано на современные технологии автоматизации с применением программируемых логических контроллеров и содержит оригинальный материал.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации Уральский федеральный университет имени первого Президента России Б. Н. Ельцина К. Е. Нестеров А. М. Зюзев ПРОГРАММИРОВАНИЕ ПРОМЫШЛЕННЫХ КОНТРОЛЛЕРОВ Учебно-методическое пособие Рекомендовано методическим советом Уральского федерального университета для студентов вуза, обучающихся по направлению подготовки 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).