МТУСиИ — Лабораторный практикум по дисциплине Системы реального времени
Оглавление
Введение. 4
Лабораторная работа №1 Программирование ПЛК. Установка TIA Portal 5
Лабораторная работа №2 Конфигурирование аппаратной части системы управления на базе ПЛК 14
Лабораторная работа №3 Разработка программы на языке LAD.. 18
Лабораторная работа №4. Разработка программы на ПЛК с использованием программных блоков и блоков данных. 25
Лабораторная работа №5. Разработка программы управления технологическим процессом.. 28
Список рекомендованной литературы.. 32
Введение
Системы реального времени сегодня получили широкое распространение в самых разных областях, начиная от автоматизации промышленности и заканчивая медицинскими устройствами. В связи с этим возникает высокий спрос на специалистов с опытом разработки систем реального времени.
На промышленных предприятиях, в качестве устройства управления системой реального времени, наибольшее распространение получили Программируемые логические контроллера (ПЛК). Мировым лидером в производстве ПЛК является компания Siemens. Их контроллеры широко применяется на промышленных предприятиях во всем мире, особенно для автоматизации производственных процессов и управлении техническими системами. Программирование ПЛК Siemens осуществляется в среде TIA Portal.
TIA Portal – это интегрированная среда разработки, позволяющая создавать программное обеспечение для автоматизации промышленных процессов. Она обеспечивает удобный интерфейс, отличную функциональность и возможность интеграции с другими системами автоматизации.
В настоящем пособии представлены лабораторные работы, которые помогут студенту приобрести опыт создания и настройки проектов автоматизации, освоить архитектуру систем реального времени и применить полученные знания для программирования систем автоматизации на базе ПЛК в среде TIA Portal.
Требования к выполнению лабораторных работ:
- Перед выполнением лабораторной работы повторить лекционный материал по соответствующей теме;
- изучить, представленный в УМП, теоретический материал и методические указания к выполнению лаб. работы;
- поэтапно выполнить все задания, в соответствии с ходом выполнения работы;
- сохранять необходимые промежуточные результаты и вносить их в отчет;
Содержание отчёта:
- цель и задачи работы;
- краткая теория;
- описание хода выполнения работы с подтверждающими материалами;
- анализ полученных результатов;
- выводы;
Лабораторная работа №1 Программирование ПЛК. Установка TIA Portal
Цель работы: получение базовых знаний, необходимых для программирования ПЛК в современной среде программирования TIA Portal.
Установка TIA Portal требует операционную систему Windows 7 и выше, большого объема оперативной памяти (не менее 4 Гб) и высокой производительности работы процессора (не менее 3 ГГц).
Задачи:
- Знакомство с устройством и принципом работы ПЛК
- Изучение языков программирования ПЛК
- Установка среды TIA Portal для программирования ПЛК Siemens
- Выводы по проделанной работе и подготовка отчета.
Ход выполнения:
- Принцип работы ПЛК
ПЛК (программируемый логический контроллер) представляет собой микропроцессорное устройство, предназначенное для сбора, преобразования, обработки, хранения информации и выработки команд управления. На входы ПЛК подключаются датчики, контакты кнопок и реле, а на выходы подключаются исполнительные механизмы (рис. 1.1).
Рисунок 1.1 Упрощенная схема работы ПЛК
Программное обеспечение универсальных контроллеров состоит из двух частей: системное программное обеспечении и пользовательская программа. Системное программное обеспечение – проводя аналогию с компьютером можно сказать, что это операционная система, т.е. управляет работой узлов контроллера, отвечает за организацию связи по сети с использованием специальных протоколов коммуникации
Цикл работы контроллера
Системное программное обеспечение ПЛК расположено в постоянной памяти центрального процессора. По включению питания ПЛК выполняет самотестирование и настройку аппаратных ресурсов.
Далее, если прикладная программа обнаружена в памяти, то ПЛК переходит к основной работе, которая состоит из постоянного повторения последовательности действий, входящих в цикл контроллера (рис. 1.2).
Рисунок 1.2 Цикл работы контроллера
Рабочий цикл ПЛК включает 3 фазы:
- ПЛК производит физическое чтение входов. Прочитанные значения размещаются в оперативной памяти контроллера в области памяти входов. Таким образом, создается полная одномоментная копия значений входов.
- Выполняется код пользовательской программы. Пользовательская программа работает с копиями значений входов и выходов, размещенными в оперативной памяти.
- Устанавливаются физические выходы ПЛК в соответствие с расчетными значениями. Именно в этот момент происходят переключения/изменения положения исполнительных механизмов.
Таким образом, значения входов в процессе выполнения пользовательской программы не изменяются в пределах одного рабочего цикла. Это фундаментальный принцип построения ПЛК сканирующего типа. Такой подход исключает неоднозначность алгоритма обработки данных в различных его ветвях. Кроме того, чтение копии значения входа из ОЗУ выполняется значительно быстрее, чем прямое чтение физического входа.
За счет этого обеспечивается максимальная простота построения прикладной программы – ее создатель не должен знать, как производится управление аппаратными ресурсами. Необходимо знать с какого входа приходит сигнал и как на него реагировать на выходах.
Время реакции на событие
Очевидно, что время реакции на событие будет зависеть от времени выполнения одного цикла прикладной программы. Определение времени реакции (сканирования) – времени от момента события до момента выдачи соответствующего управляющего сигнала – поясняется на рисунке 1.3.
Рисунок 1.3 Время реакции на событие
Для уменьшения времени реакции, в контроллерах используется циклические и аппаратные прерываний. Кроме этого, также применяются обработчики прерываний для инициализации системы при первом запуске, для диагностирования и т.п. Время цикла сканирования является базовым показателем быстродействия ПЛК.
В современных контроллерах цикл контроллера не превышает более 10 мс.
Контроль времени рабочего цикла. Правильно составленная пользовательская программа не должна содержать бесконечных циклов. В противном случае управление системе исполнения не будет передано, и, соответственно, нормальное функционирование контроллера будет нарушено. Для решения этой проблемы служит контроль времени цикла.
Контроль осуществляется при поддержке аппаратно-реализованного «сторожевого таймера». Если фаза пользовательского кода выполняется дольше установленного порога, то ее работа будет прервана и цикл работы контроллера принудительно начнется заново. Таким образом, достигается предсказуемое поведение ПЛК при ошибках в программе и при «зависании» по причине аппаратных сбоев.
Введение в программирование ПЛК Siemens
Контроллеры Siemens содержат операционную систему и программу пользователя.
- Операционная система управляет всеми функциями и процессами в контроллере, которые не связаны с определенной задачей управления (например, обработка рестарта, обновление образа процесса, вызов пользовательской программы, обработка ошибок, управление памятью, и т.д.). Операционная система — встроенная часть контроллера.
- Пользовательская программа состоит из блоков, которые необходимы для реализации задачи автоматизации. Пользовательская программа состоит из блоков и в дальнейшем загружается в контроллер.
Схема взаимодействия аппаратной конфигурации, операционной системы и программы пользователя представлена на рисунке 1.4
Рисунок 1.4 Время реакции на событие
Для контроллеров Siemens пользовательская программа всегда выполняется циклически. Циклический организационный блок OB (“Main”) автоматически создаётся в папке “Program blocks” (Программные блоки) после добавления контроллера в TIA Portal. Блок обрабатывается и вызывается контроллером в бесконечном цикле.
В TIA Portal существуют следующие виды программных блоков:
- Организационные блоки
- Функциональные блоки
- Функции
- Блоки данных
- Языки программирования промышленных контроллеров
Раньше при разработке микропроцессорных систем управления для создания программы управления использовали язык ассемблер. Программирование на языке ассемблер требует высокой квалификации программистов, а сам процесс разработки и отладки программы требует больших временных затрат.
Поэтому, для упрощения процесса разработки программного обеспечения для микропроцессорных систем управления начали разрабатывать различные языки программирования. Для стандартизации этих языков программирования в 1993 году был принят стандарт МЭК 61131-3.
Этот стандарт устанавливает пять языков программирования ПЛК, три графических и два текстовых:
- Релейно-контактные схемы, или релейные диаграммы (LD (LAD) — Ladder Diagram);
- Диаграммы функциональных блоков (FBD — Function Block Diagram);
- Список инструкций IL — Instruction List).
- Структурированный текст (ST (STL) — Structured Text);
- Последовательные функциональные схемы (SFC (Graph) — Sequential Function Chart);
Ниже приведен краткий обзор этих языков программирования.
Язык LD – язык релейно-контактных схем
Графический язык релейной логики впервые появился в виде электрических схем, которые состояли из контактов и обмоток электромагнитных реле. До эры микропроцессоров такие схемы использовались в автоматике конвейеров для сборки автомобилей, для управления лифтами и т.д. Для примера на рисунках 1.5 и 1.6 представлены электрическая схема включения двигателя и соответствующая программа на языке релейной логики.
| Пуск |
| Стоп |
| КМ1 |
| КМ1.1 |
Рисунок 1.5 Электрическая схема включения двигателя
Рисунок 1.6 Программа включения двигателя на языке LD
Язык релейной логики был интуитивно понятен людям слегка знакомым с электротехникой и поэтому оказался наиболее распространенным в промышленной автоматике. Обслуживающий персонал легко находил отказ в оборудовании, прослеживая путь сигнала по релейной диаграмме.
Однако, язык LD проблематично использовать для реализации сложных алгоритмов, поскольку он не поддерживает подпрограммы, функции и другие средства структурирования программ с целью повышения качества программирования.
Для выполнения арифметических функций в язык LD добавлены функциональные блоки, которые выполняют операции сложения, умножения, вычисления среднего и т.д. Сложные вычисления в этом языке невозможны. Недостатком является также то, что при программировании на мониторе компьютера или панели оператора умещается только маленькая часть программы.
Несмотря на указанные недостатки, язык LD относится к наиболее распространенным в мире, хотя используется для программирования преимущественно простых систем управления.
В Siemens TIA Portal вместо аббревиатуры LD используется LAD.
Язык FBD – Диаграммы функциональных блоков
FBD является графическим языком и наиболее удобен для программирования процессов прохождения сигналов через логические и функциональные блоки (рис.1.7). Язык FBD удобен для схемотехников, которые легко могут составить электрическую схему системы управления на «жесткой логике» (на основе микросхем), но не имеют опыта программирования.
Рисунок 1.7 Пример программы на языке FBD
Функциональные блоки представляют собой фрагменты программ, написанных на IL, SFC или других языках, которые могут быть многократно использованы в разных частях программы и которым соответствует графическое изображение, принятое при разработке функциональных схем электронных устройств.
Язык IL – Список инструкций
Язык IL по синтаксису схож с языком ассемблер и используется для реализации функций, функциональных блоков и программ, а также шагов и переходов в языке SFC. Основным достоинством языка является простота его изучения.
Наиболее часто язык IL используется в случаях, когда требуется получить оптимизированный код для реализации критических секций программы, а также для решения небольших задач с малым количеством разветвлений алгоритма. На листинге 1 представлен фрагмент кода на языке IL.
Листинг 1. Пример программы на языке IL
| Метки | Операторы | Операнды | Комментарии |
| LD | Voltage | (*Загрузить Voltage в аккумулятор*) | |
| GT | 220 | (*Если >220*) | |
| JMPCN | М1 | (*Перейти к метке, если «>220» не
верно*) |
|
| LD | Current | (*Загрузить Current в аккумулятор*) | |
| SUB | 10 | (*Вычесть из аккумулятора 10 *) | |
| ST | Current | (*Присвоить Current значен.
аккумулятора*) |
|
| M1: | LD | 0 | (*Загрузить в аккумулятор значение
«0»*) |
| ST | Out | (*Присвоить Out значение аккумулятора*) |
В основе языка лежит понятие аккумулятора и переходов по меткам. Начинается программа с загрузки в аккумулятор значения переменной. Дальнейшие шаги программы состоят в выполнении содержимым аккумулятора различных действий (их в языке всего 24).
Язык ST – Структурированный текст
Язык ST является текстовым языком высокого уровня и синтаксически похож на язык Паскаль (листинг 2):
Листинг 2. Пример программы на языке ST
IF Voltage>220 THEN
(*Если V>220 В, то уменьшить ток на 10*) Current:=Current — 10;
ELSE
(*Установить ток 50А и включить мотор*) Current:=50; Speed:= ON;
END_IF;
Язык ST имеет много отличий от языка Паскаль и разработан специально для программирования ПЛК. Он содержит множество конструкций для присвоения значений переменным, для вызова функций и функциональных блоков, для написания выражений условных переходов, выбора операторов, для построения итерационных процессов.
Этот язык предназначен в основном для выполнения сложных математических вычислений, описания сложных функций, функциональных блоков и программ.
Язык SFC – Последовательные функциональные схемы
SFC в стандарте именован языком программирования, хотя по сути это не язык, а вспомогательное средство для структурирования программ. Он предназначен специально для программирования последовательности выполнения действий системой управления, когда эти действия должны быть выполнены в заданные моменты времени или при наступлении некоторых событий. В его основе лежит представление системы управления с помощью понятий состояний и переходов между ними.
Язык SFC предназначен для описания этапов выполнения процесса. Например, процесс приготовления и разливки сока может содержать следующих этапов:
- Начало,
- Наполнение Миксера,
- Перемешивание,
- Транспортировка бутылки,
- Наполнение бутылки
На рисунке 1.8 показан фрагмент программы на языке SFC. Программа состоит из шагов и условий переходов. Шаги показываются на схеме прямоугольниками, условия переходов — жирной перечеркивающей линией. Программа выполняется сверху вниз.
Начальный шаг на схеме показывается в виде двойного прямоугольника. Условия переходов записываются рядом с их обозначениями. Каждый шаг программы может представлять собой реализацию сложного алгоритма, написанного на одном из языков стандарта МЭК-61131-3.
Рисунок 1.8 Пример фрагмента программы на языке SFC
- Установка среды программирования ПЛК Siemens TIA Portal
Для установки TIA Portal откройте установочный пакет, выберите директорию установки ПО и установите его на ПК.
Рисунок 1.9 – Установка TIA Portal
Лабораторная работа №2 Конфигурирование аппаратной части системы управления на базе ПЛК
Цель работы: Конфигурация аппаратных средств систем реального времени в TIA Portal на примере средств автоматизации компании Siemens.
Задачи:
- Изучить классификацию средств автоматизации и их характеристики.
- Изучить протоколы сетевого обмена контроллеров.
- Изучить принцип работы с системной памятью ПЛК.
- Собрать шкаф управления контроллера
Ход выполнения:
- Конфигурирование аппаратной части системы управления
Создайте проект в TIA Portal (рис. 2.1).
Рисунок 2.1 – Окно создания проекта в TIA Portal
При выборе ПЛК, найдите контроллер CPU-315 PN/DP и добавьте его в проект в конфигураторе (рис. 2.2, 2.3).
PN – интерфейс PROFINET IO
DP – интерфейс PROFIBUS DP
Рисунок 2.2 – Выбор контроллера
Рисунок 2.3 – Конфигуратор
Раскройте контроллер и добавьте модули дискретного и аналогового ввода/вывода:
- Модуль аналогового ввода — AI 4×0/4mA/20mA, Ex с 4 каналами ввода 4-20mA.
- Модуль аналогового вывода — AO 4×0/4..20mA, Ex с 4 каналами вывода 4-20mA.
- Модуль дискретного ввода — DI 32x24VDC с 32 каналами напряжением постоянного тока 24В.
- Модуль дискретного вывода — DO 32x24VDC/0.5A с 32 каналами вывода напряжением постоянного тока 24В (рис. 2.3).
AI/АО — аналоговый ввод/вывод
4×0 — четыре входа для подключения аналоговых сигналов (возможно, с разрешением в 0-10 В или 0-20 мА)
4mA/20mA — два возможных диапазона тока для подключения аналоговых сигналов в миллиамперах
DI/DO — Дискретный ввод/вывод
32 — Количество входов
24 — Битность входов
Рисунок 2.3 – Контроллер и модули УСО
- Протокол сетевого обмена контроллеров Profinet
Контроллер и его модули общаются между собой с помощью протокола Profinet.
PROFINET (PROcess FIeld NETwork) — промышленный протокол обмена данными, который применяется в автоматизации и управлении производственными процессами. PROFINET использует Ethernet-сети для передачи данных между промышленными устройствами, такими как контроллеры, датчики, исполнительные механизмы и т.д. Протокол обеспечивает высокую скорость передачи и обработки данных, надежность и возможность удаленного управления и мониторинга производственных процессов. PROFINET является одним из наиболее распространенных промышленных протоколов в мире и поддерживается множеством производителей оборудования для автоматизации.
Добавьте источник питания 5А. В качестве источника питания подойдет модель PSU8600 (рис. 2.4).
Рисунок 2.4 – Блок питания и контроллер
Свяжите блок питания и контроллер между собой с помощью протокола Profinet, как показано на рисунке 2.5.
Рисунок 2.5 — Блок питания и контроллер
Полученная конфигурация аппаратной части системы управления может быть использована при выполнении последующих лабораторных работ.
Лабораторная работа №3 Разработка программы на языке LAD
Цель работы: Разработка и тестирования программы управления на языке LAD.
Задачи:
- Изучить теоретический материал по использованию битовых команд, счетчиков и таймеров;
- Написать простую программу на LAD с помощью битовых команд
- Расширить функционал программы с использованием команд счетчиков и таймеров
- Тестирование работы программы управления с помощью симулятора PLCSim.
Ход выполнения:
- Основы разработки программы на языке LAD
Примеры битовых команд языка LAD.
Битовые логические команды работают лог сигналами (1,0), находятся под узлом Bit logic operations.
—| |—: (Нормально открытый контакт) когда управляющий бит равен 1, контакт будет замыкаться (пропускать ток). (пример- нереверсивный запуск асинхронного двигателя)
—( ): (Выходная катушка) работает как катушка реле в цепи управления релейно-контактной схемы. Выходную катушку можно установить только на правом конце логической цепи.
Если к катушке подводится ток, то управляющий бит катушки устанавливается в «1». Если к катушке не подводится ток, то управляющий бит катушки устанавливается в «0». (пример- нереверсивный запуск асинхронного двигателя)
—| / |—: (Нормально замкнутый контакт). Когда управляющий бит равен 0, то контакт замкнут (т.е. будет пропускать ток).
—(S): (Катушка установки). Эта команда устанавливает катушку с помощью короткого импульса лог «1» на входе этой команды. Если на входе этой команды лог. 0, то эта команда не изменяет состояние катушки.
—(R): (Катушка сброса). Эта команда обнуляет катушку с помощью короткого импульса лог. 1 на входе этой команды. Если на входе лог. 0, то эта команда не изменяет состояние катушки.
—|Р|—: (Команда Выделение положительного фронта). Эта команда обнаруживает изменение сигнала на входе команды с 0 на 1 (положительный фронт) и формирует короткий импульс лог. 1 на один цикл контролера.
—| N|—: (Команда Выделение отрицательного фронта). Эта команда обнаруживает изменение сигнала на входе команды с 1 на 0 (отрицательный фронт) и формирует короткий импульс лог. 1 длиной один цикл контроллера.
На рисунке 3.3 изображена программа включения/выключения лампы.
Рисунок 3.3 – Программа включения лампы на языке LAD
- Программа для нереверсивного включения асинхронного двигателя.
Программа для нереверсивного включения асинхронного двигателя представлена на рисунке 3.1.
Рисунок 3.1 – Программа для нереверсивного включения асинхронного двигателя
На рисунке 3.2 отображены следующие компоненты:
— Кнопка «СТОП» I0.1 – разрывает схему, останавливает работу;
— Кнопка «ПУСК» I0.0 – запускает работу;
— Выход на двигатель Q0.0 – отправляет сигнал на двигатель.
Рисунок 3.2 – Окно интерфейса программы до и после включения кнопки «ПУСК»
- Примеры программ c использованем команд счетчиков.
Команда CTU (прямой счет). Является инкрементным счётчиком. Имеет входы: CU, RESET, PV (word) и выходы: Q(bool), CV (word). На входе CU (переход из false -> true) выход CV увеличивается на 1. Выход Q устанавливается в true, когда счётчик достигнет значения заданного в PV. Счётчик CV сбрасывается в 0 по входу RESET = true.
На рисунке 3.4 показан пример использования счетчика CTU. Кнопка Run_1 запускает счетчик. Он начинает счет. Когда значение CV дойдет до 5, тогда выход Q преобразуется в значение true. Загорится лампа. При нажатии кнопки Stop счетчик сбросится, и лампа погаснет.
Рисунок 3.4 – Пример программы с CTU
Команда CTD (обратный счет). Является декрементным счётчиком. Имеет входы: CD, LOAD, PV (word) и выходы: Q (bool), CV (word). На входе CV (переход из false -> true) выход CV уменьшается на 1. Когда счётчик достигнет 0, счёт останавливается, выход Q переключается в true. Счётчик CV загружается начальными значениями, равными PV по входу LOAD = true.
На рисунке 3.5 показан пример использования счетчика CTD. При нажатии на кнопку Run запускается счетчик. Начинается обратный отсчет, и лампа затухает. Когда значение CV доходит до 0, то лампа загорается снова.
Рисунок 3.5 – Пример программы с CTD
Команда CTUD (реверсивный счетчик). Является инкрементным/декрементным счётчиком. Имеет входы: CU, CD, Reset, Load и выходы: QU and QD (bool), PV and CV (word). По входу RESET счетчик CV сбрасывается в 0, по входу LOAD загружается значением PV. По фронту на входе CU счетчик увеличивается на 1. По фронту на входе CD счетчик уменьшается на 1 (до 0). QU устанавливается в TRUE, когда CV больше или равен PV. QD устанавливается в TRUE, когда CV равен 0.
Рисунок 3.6 – Пример программы с CTUD
На рисунке 3.6 показан пример использования счетчика CTUD. При нажатии на кнопку Run_1 запускается счетчик. Начинается отсчет, и лампа затухает. Когда значение CV доходит до значения PV или выше, то лампа 1 загорается. При нажатии на кнопку Run_2 запускается обратный отсчет. Когда значение CV доходит до значения 0, то лампа 1 гаснет и включается лампа 2.
Примеры программ по использованию команд таймеров
TP (timer pulse) — Импульсный таймер, включается или выключается на фиксированный период времени.
IN — Вход таймера
PT (Preset time) — Вход установки времени.
Q — Выход таймера
ET (Elapsed time) — Истекшее время с момента подачи сигнала на вход IN
Таймер запускается, когда значение на входе IN изменяется с 0 на 1 (положительный фронт) и выключается по истечении времени уставки срабатывания PT. В этом таймере, даже если обнаружен новый положительный фронт, состояние сигнала на выходе Q не изменяется, пока отсчитывается время PT.
Рисунок 3.7 – Пример использования таймера TN
На рисунке 3.7 показан пример использования таймера TN. Кнопка Run_1 запускает таймер. Таймер установлен на 40 минут. В течении 40 минут выход Q будет принимать значение true и лампа будет светиться. Когда 40 минут истекут таймер выключится, выход Q примет значение false и лампа погаснет.
TOF timer (timer off delay) — Таймер с задержкой на выключение.
IN — Вход таймера
PT (Preset time) — Вход установки времени.
Q — Выход таймера
ET (Elapsed time) — Истекшее время с момента подачи сигнала на вход IN
При установке на входе таймера значения TRUE, выход Q также устанавливается в TRUE. При изменении состояния входа IN в FALSE, начинается отсчет времени, заданного PT, после чего выход сбрасывается.
Рисунок 3.8 – Пример использования таймера TOF
На рисунке 3.8 показан пример использования таймера TOF. Когда кнопка Run_1 принимает значение true, то выход Q также принимает значение true. При переходе кнопки Run_1 в значение false таймер запускается. В течении 40 минут выход Q будет принимать значение true и лампа будет светиться. Когда 40 минут истекут таймер выключится, выход Q примет значение false и лампа погаснет.
TON timer (timer on delay) — Таймер с задержкой на включение.
IN — Вход таймера
PT (Preset time) — Вход установки времени. Время задается в таком формате: T#5s — 5сек, T#5m — 5мин, T#5h — 5час, T#5d5h5m — 5дней,5час.5мин.
Q — Выход таймера
ET (Elapsed time) — Истекшее время с момента подачи сигнала на вход IN
Когда на вход таймера приходит положительный фронт импульса, таймер начинает отсчет указанного в PT времени, по истечении которого устанавливает значение на выходе Q в TRUE. Это значение сохраняется в течении всего времени, пока на входе IN сохраняется логическая единица. В случае изменения состояния входа IN раньше, чем он успеет отсчитать время, заданное PT, таймер сбрасывает отсчитанное время в ноль.
Рисунок 3.9 – Пример использования таймера TON
На рисунке 3.9 показан пример использования таймера TON. Когда кнопка Run_1 принимает значение true, то выход Q также принимает значение true и лампа загорается. Пока кнопка Run_1 true, то выход Q также будет true даже по истечении установленного времени. Когда кнопка Run_1 выключена, то лампа гаснет.
- Тестирование работы программы
Тестирования работы программ, написанных в TIA Portal возможно в PLCSim. PLCSim — программа-симулятор контроллера, разработанная компанией Siemens, которая позволяет создавать и отлаживать программы для контроллера в виртуальной среде.
PLCSim позволяет создавать виртуальные модели оборудования, которые можно использовать для тестирования работы контроллера и отлаживания программы, написанной в TIA Portal, в виртуальной среде до того, как они будут загружены на реальный контроллер.
Лабораторная работа №4. Разработка программы на ПЛК с использованием программных блоков и блоков данных
Цель работы: Разработка программы для автоматизированной системы управления шлагбаумом.
Задачи:
- Изучить принцип работы блокa циклического прерывания и добавить его в проект TIA Portal
- Внутри блока ОВ35 реализовать функцию для имитационной модели задвижки
- Тестирование работы программы управления с помощью симулятора.
Ход выполнения:
- Организационные блоки в TIA Portal
Организационные блоки OB могут быть использованы для создания иерархии пользовательской программы. Для этой цели в TIA Portal доступны различные OB, показанные в таблице 1.
Таблица 1. Организационные блоки в TIA Portal
Создание организационного блока ОВ35 для циклического прерывания.
Блоки организации циклических прерываний OB30 ~ OB38 выполняются циклически с заданным интервалом времени. Интервал времени циклического прерывания устанавливается в свойствах ЦП. Интервал времени по умолчанию для каждого OB различен. Например, интервал времени по умолчанию для ОB35 составляет 100 мс. Программа будет вызываться каждые 100 мс, временной интервал можно установить произвольно, а минимальный временной интервал не может быть меньше 55 мс. Время выполнения пользовательской программы в OB должно быть меньше установленного временного интервала. Если интервал короткий, OB циклических прерываний вызывается снова, потому что OB циклических прерываний не завершил сканирование программы, что вызовет сбой CPU и заставит OB80 сообщить об ошибке. Если OB80 не создан в программе, ЦП переходит в режим остановки. Вызывая системные функции SFC39 ~ SFC42, можно запретить, отложить и разрешить вызов циклических прерываний. Организационный блок циклического прерывания обычно обрабатывает программу пользователя, которая требует фиксированного периода сканирования. Например, функциональный блок PID обычно необходимо вызывать в циклическом прерывании для обработки вычисления интегрального времени.
Создание функции для сложения трех чисел;
Рисунок 4.1 – функция для сложения 3 чисел в блоке OB35
На рисунке 4.1 показана функция для сложения 3 чисел. Кнопка Stop останавливает блок, кнопка Run_1 запускает блок ADD. Принцип работы блока ADD заключается в том, что на вход EN подается сигнал BOOL, который его запускает. В ячейки IN1, IN2 вписываются значения, которые нужно сложить. В ячейке OUT отображается конечный результат сложения.
- Функциональный блок для имитационной модели задвижки.
Создайте функциональный блок FB для имитационной модели задвижки. В этом блоке прописаны команды для открытия, закрытия задвижки и срабатывание концевых выключателей.
На рисунке 4.2 показаны программные блоки для открытия и закрытия задвижки.
Рисунок 4.2 – Программа для управление задвижкой
На рисунке 4.3 показана работа концевых выключателей при полном открытии и полном закрытии задвижки. Если положение задвижки будет равно 100, то значит задвижка открылась полностью, сработает концевой выключатель и произойдет сброс кнопки Открыть. Если положение задвижки будет равно 0, то значит задвижка полностью закрылась, сработает концевой выключатель и произойдет сброс кнопки Закрыть.
Рисунок 4.3 – Условия срабатывания концевых выключателей
Лабораторная работа №5. Разработка программы управления технологическим процессом
Цель работы: разработать уникальную программу на языке LAD для управления технологическим процессом.
Задачи:
- Найти и изучить технологический процесс и оборудование для автоматизации;
- Определить аппаратные средства для создания имитационной модели процесса
- Реализовать программу управления для выбранного процесса автоматизации с использованием функциональных блоков, таймеров и дополнительных организационных блоков
- Тестирование работы программы управления технологическим процессом
Для выполнения этой лабораторной работы студент должен выбрать тему для процесса автоматизации и согласовать её с преподавателем.
Возможные варианты темы лабораторной работы:
- Разработка АСУ для процесса получения технического спирта.
- Разработка АСУ для штангово-глубинного насоса (ШГН) добычи нефти.
- Разработка АСУ для дожимной насосной станции (ДНС).
- Разработка АСУ для кустовой насосной станции (КНС).
- Разработка АСУ для группового замерного устройства (ГЗУ)
- Разработка АСУ для оборудования предварительной очистки нефти.
- Разработка АСУ для газотурбинной установки по сжиганию попутного нефтяного газа.
- Разработка АСУ для нефтепереработывающего завода (НПЗ).
- Разработка АСУ для шлифовального станка.
- Разработка АСУ для печи закаливания металла.
- Разработка АСУ для робота манипулятора.
- Разработка АСУ для процесса приготовления теста.
- Разработка АСУ для электрической печи по выпеканию хлеба.
- Разработка АСУ для кофеварки-автомата.
- Разработка АСУ для картонно-бумажного комбината.
- Разработка АСУ для целлюлозно-бумажного комбината.
- Разработка АСУ для оборудования по очистки воды в автомойке.
Ниже, в качестве примера, приведено описание разработки программы управления процессами открытия/закрытия дверей в вагонах Московского Метрополитена.
Разработка программы управления процессами открытия/закрытия дверей в вагонах Московского Метрополитена.
Описание технологического процесса.
Состав стоит на станции. Машинист нажимает кнопку выбора дверей в соответствии с конфигурацией станции, на которой производится посадка/высадка пассажиров. Далее, машинисту необходимо отжать кнопку закрытия дверей и нажать кнопку открытия дверей на соответствующей стороне состава. Нажатие кнопки открытия дверей при отжатой кнопке выбора дверей и/или зажатой кнопке закрытия дверей не приведёт к открытию дверей.
Состав двигается свыше установленной пороговой скоростью. Машинист не имеет возможность открыть двери во время движения состава. Получения доступа к открытию/закрытию дверей возможно лишь в случаях, установленных правилами обеспечения безопасного движения подвижных составов метрополитена (на станции и/или в депо).
В случаях ложного срабатывания индикатора отсутствия контроля дверей предусмотрена кнопка «Блокировка дверей» на панели портового компьютера, активация которой равносильна полному закрытия всех дверей состава при нормальных условиях эксплуатации. В случае неработоспособности кнопки «Блокировка дверей» машинисту необходимо переключить пакетный переключатель «Движение без КД» на задней стенке кабины.
Использование кнопки «Блокировка дверей» и пакетного переключателя «Движение без КД» предусмотрено исключительно в рамках действующего регламента по исправлению неисправностей подвижного состава и требует от машиниста повышенного уровня бдительности ввиду повышения риска опасности, угрожающей пассажирам, находящимся в салоне подвижного состава.
Разработка программы для системы управления
Первым этапом необходимо собрать шкаф управления контроллера в соответствии с этапами, описанными в Лабораторной работе 2.
Далее формируется таблица тегов, содержащая входные и выходные параметры системы. Таблица тегов для разрабатываемой программы управления показана на рисунке 5.2.
Рисунок 5.1 — Таблица тэгов для разрабатываемой системы
В дерево проекта добавляется циклический блок прерывания (OB30) и строится схема для реализации вышеописанного сценария. Полученная схема приведена на рисунке 5.3
Рисунок 5.2 — Схема циклического блока OB30
В основном блоке строятся схемы, показанные на рисунке 5.4.
Рисунок 5.3 — Схема основного блока MAIN
Приведённые схемы представляют собой реализацию системы открытия/закрытия дверей в вагонах Московского Метрополитена. На рисунке 5.5 представлены кнопки управления, которые использует машинист для управления дверьми состава.
Рисунок 4.5 — Кнопки управления дверьми подвижного состава
Список рекомендованной литературы
- Эрджиес, К. Распределенные системы реального времени: руководство / К. Эрджиес ; перевод с английского В. А. Яроцкий. — Москва: ДМК Пресс, 2020. — 382 с. — ISBN 978-5-97060-852-4. — Текст: электронный // Лань: электронно-библиотечная система. — URL: https://e.lanbook.com/book/179479 (дата обращения: 04.04.2023). — Режим доступа: для авториз. пользователей.
- Гома, Х. UML. Проектирование систем реального времени, параллельных и распределенных приложений; Пер. с англ. — М.: ДМК Пресс, 2012. — 704 с.: ил. — — ISBN 5-94074-101-0. – http://znanium.com/bookread.php?book=371912
- SIMATIC HMI WinCC V7.2. Руководство пользователя. Нюрнберг.: Изд-во Siemens AG. 2012. – 1600 с.: ил: ISBN 5-06-005496-9. Электр. ресурс. http://www.automation.siemens.com
- Siemens AG. WinCC V7.0 SP1: Scripting (VBS, ANSI-C, VBA). Нюрнберг.: Siemens AG (изд.), 2008. – 2532 с.: ил. ISBN 5-06-005496-9. Электр. ресурс. http://www.automation.siemens.com
- Г. Бергер. Автоматизация посредством STEP 7 с использованием LAD и FBD и программируемых контроллеров SIMATIC S7-300/400: Издание 3-е переработанное. – Нюрнберг. Siemens AG Промышленные системы автоматизации. 2010. – 776 с.: ил. ISBN 5- 06-005496-9.
- Петров И.В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования. – Litres, 2022.
- Третьяков, А. А. Средства автоматизации управления: системы программирования контроллеров: учебное пособие / А. А. Третьяков, И. А. Елизаров, В. Н. Назаров. — Тамбов: ТГТУ, 2017. — 84 с. — ISBN 978-5-8265-1731-4. — Текст: электронный // Лань: электронно-библиотечная система. — URL: https://e.lanbook.com/book/319808 (дата обращения: 04.04.2023). — Режим доступа: для авториз. пользователей.
- Руководство по программированию S7-1200/S7-1500 // Базовое системное руководство // Изд-во Siemens AG. – 2015.
- Древс, Ю. Г. Технические и программные средства систем реального времени: учебник / Ю. Г. Древс. — 3-е изд. — Москва: Лаборатория знаний, 2020. — 337 с. — ISBN 978-5-00101-917-6. — Текст: электронный // Лань: электронно-библиотечная система. — URL: https://e.lanbook.com/book/151513 (дата обращения: 04.04.2023). — Режим доступа: для авториз. пользователей.
- SIMATIC S7-PLCSIM Advanced Руководство пользователя // Базовое системное руководство Изд-во Siemens AG. – 2016.
- Tiegelkamp M., John K. H. IEC 61131-3: Programming industrial automation systems. – Berlin/Heidelberg, Germany: Springer, 2010. – Т. 166.
или напишите нам прямо сейчас:
Здравствуйте. Скажите пожалуйста, планирую поступать в магистратуру на факультет Психологии « Психология личности»в РГГУ скажите пожалуйста, есть ли у вас, ответы на вступительные экзамены? так как, планирую, сделать акцент на бюджет. Спасибо.
Арсений, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Дистанционная помощь в защите ВКР
Анастасия, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте. Нужна срочно практическая часть вкр, третья глава. Скину похожие работы, на которые можно ориентироваться
Александр, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
вкр по теме: экологический туризм России : анализ состояния, проблемы и перспективы
Людмила, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте вы защищаете ВКР?
Ольга, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Написать магистерскую ВКР на тему «Совершенствование логистических бизнес-процессов на примере торговой компании». Не менее 100 страниц.
Миша, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте нужна работа Вкр
Лена, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Написать ВКР 3 раздела Тема строительство строительство жилого дома с применением каркасно-монолитных технологий Антиплагиат от 75% ПЗ и чертежи
Владимир, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.