Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование технологических контроллеров в среде Unity. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •1.1. Принцип действия системы промышленной автоматизации
- •2.1. Структура программируемого логического контроллера
- •2.2. Конструктивное исполнение контроллеров
- •2.3. Модули ввода-вывода
- •2.4. Языки и среды программирования логических контроллеров
- •2.5. Триггеры, таймеры, счетчики
- •Значение
- •Значение
- •2.6. Математические операции и команды работы с массивами
- •3. ТИПЫ ПЕРЕМЕННЫХ
- •3.1. Элементарные типы данных
- •3.2. Представление элементарных типов данных
- •3.4. Система адресации переменных Telemecanique
- •4. ПАКЕТ ПРОГРАММИРОВАНИЯ Unity Pro
- •4.1. Общие сведения
- •4.2. Структура пакета Unity Pro
- •4.3. Интерфейс пользователя Unity Pro и его составные части
- •4.4. Иерархическое построение программы ПЛК
- •4.5. Редакторы языков программирования Unity Pro
- •4.6. Соединение терминала с ПЛК
- •5.1. Настройки проекта
- •5.2. Конфигурирование контроллера Premium
- •5.3. Работа с переменными
- •5.4. Структура приложения
- •5.5. Программирование с использованием блоков FBD
- •6.1. Введение
- •6.3. Библиотека для управления аналоговым вводом/выводом
- •6.3.2. Блоки настройки конфигурации
- •6.3.2.1. Блок конфигурации модуля ACI 030 00 (ACI030)
- •6.3.2.2. Блок конфигурации модуля AC0 020 00
- •6.3.2.3. Блок конфигурации модуля ATI 030 00
- •6.3.2.4. Блок конфигурации модуля ARI 030 00
- •6.3.2.5. Блок конфигурации модуля AVI 030 00
- •6.3.2.6. Блок конфигурации модуля AVO 020 00
- •6.3.2.8. Блок конфигурации главного модуля (QUANTUM)
- •6.3.2.9. Блок конфигурации расширителя объединенной платы (XBP)
- •6.3.3. Блоки масштабирования
- •6.3.3.1. Блок нормализации аналоговых входов (I_NORM)
- •6.3.3.3. Блок преобразования физических аналоговых входов (I_PHYS)
- •6.3.3.4. Блок преобразования физических аналоговых входов со статусом предупреждения (I_PHYS_WARN)
- •6.3.3.5. Блок масштабирования аналоговых входов (I_SCALE)
- •6.3.3.6. Блок масштабирования аналоговых входов со статусом предупреждения (I_SCALE_WARN)
- •6.3.3.7. Блок преобразования необработанных значений аналоговых входов (I_ROW)
- •6.3.3.8. Блок нормализации аналоговых выходов (O_NORM)
- •6.3.3.11. Блок имитации необработанных сигналов аналоговых входов (I_RAW_SIM)
- •6.3.4. Блоки отладки аналогового ввода/вывода
- •6.3.4.1. Блок линеаризации аналоговых входов (I_FILTER)
- •6.4.2. Регуляторы (Controller)
- •6.4.3. Арифметические операции (Mathematics)
- •6.4.4. Измерения (Measurement)
- •6.4.5. Устройства сопряжения с объектом (Output Processing)
- •6.4.6. Формирование сигналов задания (Setpoint Managment)
- •6.6. Управление с обратной связью (CLC)
- •6.6.1. Типовые динамические звенья
- •6.6.1.1. Блок запаздывания (DELAY)
- •6.6.1.2. Интегратор с ограничением выхода (INTEGRATOR1)
- •6.6.1.3. Апериодическое звено (фильтр) первого порядка (LAG1)
- •6.6.1.5. Ограничитель скорости первого порядка (LIMV)
- •6.6.1.6. Дифференциатор с запаздыванием (SMOOTH_RATE)
- •6.6.2. Регуляторы
- •6.6.2.1. Пропорционально-интегральный регулятор (PI1)
- •6.6.2.2. Пропорционально-интегрально-дифференциальный регулятор (PID1)
- •6.6.2.3. ПИД-регулятор с параллельной структурой (PIDP1)
- •6.6.3. Управление с обратной связью для профессионалов (CLC_PRO)
- •6.6.3.1. Генератор функций (FGEN)
- •6.6.3.2. Фильтр второго порядка (LAG2)
- •6.7. Автоматизированная настройка регулятора в пакете Unity
- •6.8. Упражнения для самостоятельной работы
- •ЗАКЛЮЧЕНИЕ
- •ЛИТЕРАТУРА

11
б) исполнительная часть представляет собой один или более про-
цессоров, взаимодействующих с обслуживающим персоналом через
средства человеко-машинного интерфейса;
в) исполнительная часть воздействует на физические величины.
2. Датчик:
а) изменяет состояние исполнительной части в зависимости от ко-
манд, формируемых управляющей частью;
б) информирует управляющую часть о состоянии исполнительной
части;
в) воздействует на физические величины.
3.Преобразователь:
а) информирует исполнительную часть о состоянии управляющей
части;
б) информирует управляющую часть о состоянии исполнительной
части;
в) воздействует на силовой исполнительный механизм.
4. Исполнительный механизм:
а) измеряет физические величины: давление, температуру, пере-
мещение;
б) формирует электрический сигнал, используемый для воздейст-
вия на исполнительную часть;
в) воздействует непосредственно на двигатель, домкрат и т. д.

12
2. ОСНОВЫ ПРОГРАММИРОВАНИЯ
CPU
Блок
питания
Память
Comm-процессор
Модули
ввода
Модули
вывода
Сигналы
от датчиков
Сигналы
к исполнительным
устройствам
Обмен
информацией
с другими
устройствами
Микропроцессор
Общая шина
ЛОГИЧЕСКИХ КОНТРОЛЛЕРОВ
2.1. Структура программируемого логического контроллера
Программируемый логический контроллер (ПЛК) является специа-
лизированным микропроцессорным устройством управления, предназначенным для обработки сигналов от внешних устройств и сигналов
управления подключенными к нему исполнительными механизмами в
соответствии с заданной программой.
Обобщенная структура ПЛК представлена на рис.2.1.
Блок питания обеспечивает преобразование сетевого напряжения к
уровню, необходимому для нормальной работы всех составляющих
частей ПЛК.
Центральный процессорный модуль (CPU) содержит цифровой
микропроцессор (или несколько микропроцессоров в контроллерах
большой мощности) и память. CPU считывает преобразованные вход-
Рис. 2.1. Общая структура ПЛК

13
ные данные, выполняет находящуюся в памяти логическую программу
Память данных
Память программы
Flash-память
и пересылает соответствующие выходные сигналы на исполнительные
устройства. В функции CPU входит также осуществление обмена данными с другими устройствами управления в рамках локальных сетей
или в рамках единичной связи между двумя устройствами (Point-to-
point). В небольших моделях ПЛК коммуникационные функции осуществляет тот же микропроцессор, который выполняет основную программу. В высокопроизводительных ПЛК CPU может содержать дополнительный коммуникационный микропроцессор или отдельный
микропроцессорный коммуникационный модуль (модули) – Comm-
процессор.
Модули ввода подключаются к полевым датчикам [5–7] (кнопки,
переключатели выбора, концевые выключатели, датчики линейного и
вращательного перемещения и т. д.) и осуществляют преобразование
сигналов во внутреннюю форму представления, с которой оперируют.
Модули вывода осуществляют преобразование и передачу форми-
руемых CPU сигналов на исполнительные устройства.
Все элементы ПЛК связаны между собой посредством внутренней
общей шины, которая включает в себя шину данных, адресную шину и
шину управления.
Схема памяти ПЛК воспроизведена на рис. 2.2.
Память ПЛК
Операционная
система
пользователя
Таблицы конфигурации
системы
Специальные
загружаемые функции
Программа
пользователя
пользователя
Таблица Status RAM
(дискреты и регистры)
Таблица Enable/Disable
Таблица предыдущего
состояния
Status RAM
Рис. 2.2. Память ПЛК

14
Память контроллера в зависимости от назначения подразделяется
на три разновидности.
Flash-память (ПЗУ). Находящаяся во Flash-памяти операционная
система является совокупностью супервизорных программ, которые
обеспечивают функционирование ПЛК. Эти программы:
• определяют один из языков программирования, на котором пи-
шется программа пользователя;
• осуществляют управление статической и динамической памятью
CPU для различных целей;
• устанавливают порядок обработки и хранения данных в ПЛК.
Память программы пользователя. Предназначена для хранения
таблиц конфигурации системы (режим работы ПЛК, параметры коммуникационных портов, таблицы параметров поддерживаемых CPU
модулей ввода-вывода, диспетчер секций программ пользователя и
т. д.), специальных загружаемых функций и собственно программы
пользователя.
Память данных пользователя. Все входы и выходы ПЛК имеют
соответствующее отображение (ссылки) в памяти данных, которая организована в виде отдельных дискрет и 16-битовых регистров. Кроме
того, свои ссылки имеют некоторые внутренние узлы программной
логики пользователя.
Память программы пользователя и память данных пользователя
располагаются в статическом ОЗУ КМОП-типа, поддерживаемого литиевой батареей (срок службы 1 год) или специальным буферным конденсатором (время гарантированного сохранения информации 72 ч).
2.2. Конструктивное исполнение контроллеров
Все контроллеры по виду аппаратной реализации условно можно
разделить на несколько групп:
• контроллеры низкой степени интеграции
(условно эти контроллеры можно отнести к семейству Micro), у которых в одном корпусе находятся и CPU, и входы-выходы. Как правило,
такие контроллеры имеют до нескольких десятков интегрированных входов-выходов. Обычно
контроллеры этого класса могут расширяться
модулями ввода-вывода, общее число входов-выходов при этом может
достигать 256;

15
• контроллеры средней степени интеграции
(условно эти контроллеры можно отнести к семейству Compact). Как правило, такие контроллеры имеют от нескольких десятков до нескольких сотен входов-выходов. Конструктивно они
выполняются с одномодульным CPU, устанавливаемом на одной платформе (корзине, панели) с модулями ввода-вывода;
• контроллеры высокой степени интеграции
(примером может служить контроллер Quantum).
Конструктивно эти контроллеры также выполнены в виде наборных модулей, расположенных
на отдельных платформах. Теоретически общее
число входов-выходов таких контроллеров может достигать нескольких тысяч, хотя на практике редко превышает одну тысячу.
На практике можно встретить и другие типы контроллеров и контроллерных систем, например:
• одноплатные ПЛК, устанавливаемые на различные вычисли-
тельные системы;
• распределенные системы управления, часто объединяющие ме-
жду собой распределенные мезонинные модули или контроллеры, в
том числе разных типов.
Независимо от аппаратной реализации принципы функционирования всех контроллеров одной фирмы-изготовителя, как правило, общие. Языки их программирования стандарта IEC 1131-3 ориентированы прежде всего на технолога и основаны на принципах логического
программирования с возможностью использования большого количества различных функциональных блоков. Общий набор основных команд включает логические и арифметические функции, функции времени и счета, операции по поиску и перемещению данных. Контроллеры одного семейства могут объединяться с другими контроллерами
и устройствами в локальные сети на основе сетевого интерфейса, программирование параметров которого осуществляется также с помощью команд программной логики.
Наличие большого количества моделей позволяет сделать правильный выбор аппаратуры для конкретного технического приложения на основе таких характеристик, как объем памяти для логических

16
программ и памяти состояния (количество отдельных битов и 16-раз-
Дискретные
DC: 5, 12, 24, 10-60,
8, 16, 32
Дискретные
DC: 5, 24, 10-60,
8, 16, 32
Аналоговые
V: 0-1, 0-5, 1-5, 1-10,
4, 8
Аналоговые
V: 0-5, 0-10, +/–5, +/–10
4
рядных регистров), производительность (скорость обработки логической программы и управления вводом-выводом), а также наличие сетевых интерфейсов для подключения к локальным сетям.
2.3. Модули ввода-вывода
Поскольку контроллеры средней и высокой степени интеграции
являются наборными и позволяют определять свою архитектуру проектировщику, фирмы-изготовители предлагают широкий спектр модулей ввода-вывода. Примеры различных типов модулей приведены в
табл. 2.1. Модули отличаются техническими характеристиками, временем преобразования сигнала, разрядностью и т. п.
Таблица 2.1
Периферия Вид сигнала Количество каналов на модуль
входы
выходы
входы
выходы
Кроме модулей ввода-вывода общего назначения выпускаются мо-
дули для специальных целей: высокоскоростные счетчики, эмуляторы
входов – выходов и т. д.
48, 120 V
AC: 120, 230 V
12-250 V
AC: 24, 48, 120, 230 V
Реле: 0-30 VDC/
0-240 VAC
0-300 VDC/0-230 VAC
+/–1, +/–5, +/–10
mV: 0-10, 0-50, 0-100,
+/–10, +/–50, +/–100
mA: 0/4-20
Термопары
mA: 4-20

17
Серии модулей содержат также большое количество модулей интеллигентной периферии, имеющих собственный микропроцессор.
Эти модули существенно облегчают работу CPU, увеличивая тем самым скорость обработки программы пользователя. К ним относятся
модули:
• для управления позиционированием;
• управления различными объектами с использованием ПИД-ал-
горитма;
• поддержки коммуникаций с другими устройствами;
• модули быстрой обработки логической программы пользователя
(сопроцессоры).
На рис. 2.3. представлен пример конфигурации контроллера.
Рис.2.3. Пример к
онфигурации контроллера
Упражнение. Охарактеризовать структуру программируемого ло-
гического контроллера (ПЛК) и назначение основных элементов.
1. Ознакомьтесь с контроллером, представленным на вашем рабо-
чем месте. По надписям на блоках контроллера попытайтесь определить назначение каждого из них. Если конфигурация вашего контроллера отличается от приведенной на иллюстрации, зарисуйте ее.
2. Ознакомьтесь с пультом имитатора сигналов. Попробуйте подать
на вход контроллера дискретный и аналоговый сигналы. Проследите
за индикацией.
3. Запустите тестовую программу и с помощью преподавателя свя-
житесь с контроллером. Пронаблюдайте изменение сигналов на входах

18
и выходах программных блоков при подаче на вход контроллера дис-
Численное
Формула
кретных сигналов.
4. Подайте на вход контроллера аналоговый сигнал. Проследите за
изменением числового значения входного сигнала. Сопоставьте величину входного аналогового сигнала с его численным значением. Заполните следующую таблицу.
U
входа
, В
Значение
Формула
пересчета
U
=
min
U
=
max
5. Если ваш контроллер имеет модуль аналоговых выходов, вы-
полните следующее. Подайте на аналоговый выход контроллера численное значение. Проследите за изменением аналогового сигнала на
выходе. Сопоставьте величину выходного аналогового сигнала с его
численным значением. Заполните следующую таблицу.
значение
N
=
min
N
=
max
U
выхода
, В
пересчета
6. Просмотрите список переменных тестовой программы.
7. Еще раз проанализируйте все пункты упражнения и сделайте
выводы по проделанной работе.
2.4. Языки и среды программирования логических контроллеров
Системы программирования в области автоматизации технологических процессов и оборудования, как и везде, имеют свои особенности. Существуют так называемые языки верхнего уровня (С++, Pascal,
Delphi и т. д.). С их помощью можно написать программу для технологического процесса, или, например, для расчета основных фондовых
индексов, или систему «банк–клиент». Эти языки гибки, универсаль-

19
ны, но ориентированы они на профессионалов-программистов. Для
конкретных областей существуют специальные программы-приложения. Экономисты выбирают Excel, инженеры – Autocad, бухгалтеры – 1С и т. д. Функции, заложенные в этих приложениях, учитывают
специфические особенности данной отрасли и существенно ускоряют
процесс «программирования» задачи. Разделим понятия «язык программирования» и «система (среда) программирования». Написать
программу на языке С++ можно в любом текстовом редакторе, например в MSWord в соответствии с принятым синтаксисом. Затем ее надо
скомпилировать, выполнить и отладить. Для этих целей и существуют
такие системы (среды) программирования, как Visual С++ или Delphi.
Для программирования контроллеров применяется специально
разработанная система программирования, где в качестве одного из
языков используется так называемый язык FBD (Function Block Dia-
gram), язык функциональных блоков, перечень которых определяется
общемировым стандартом МЭК.
FBD – это язык, позволяющий выполнять разработку программы
по аналогии с разработкой функциональной схемы устройства управления, создаваемого на основе интегральных логических элементов,
счетчиков, таймеров и т. д. Логика функционирования системы представляется в виде взаимодействия элементарных функциональных
блоков. Каждый элементарный блок выполняет одну функцию взаимодействия между своими входами и выходами (от элементарных логических И, ИЛИ, НЕ до очень сложных).
Как же создавать программы на языке FBD-диаграмм? Этот процесс ничем не отличается от написания любой компьютерной программы и включает следующие этапы.
1. Определение целей проекта.
2. Составление самого проекта.
3. Написание программного кода (создание FBD-схемы).
4. Компиляция.
5. Выполнение программы.
6. Тестирование и отладка.
7. Сопровождение и модернизация программы.
Освоить метод построения FBD-схем несложно, достаточно по-
нять, как работает каждый функциональный блок. Рассмотрим следующую задачу – схему работы насосной станции (рис. 2.4).

20
Насос № 1
Насос № 2
Датчик контроля
превышения
давления
Датчик контроля
понижения
давления
К потребителям
Рис. 2.4. Схема работы насосной станции
Насосную станцию, состоящую из двух насосов, необходимо автоматизировать. Насос № 2 включается по команде датчика понижения
давления, когда давление в сети падает ниже установленного уровня.
Оба насоса должны аварийно выключаться, если давление в сети станет выше нормы (датчик превышения давления). Теперь посмотрим,
как решение этой задачи будет реализовано на языке FBD-диаграмм
(рис. 2.5).
Рис. 2.5. Реализация работы насосной станции на FBD
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
