Добавил:
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. Упражнения для самостоятельной работы
- •ЗАКЛЮЧЕНИЕ
- •ЛИТЕРАТУРА

61
• присваивание начального значения;
• ввод комментария;
• просмотр всех свойств переменной в отдельном диалоговом окне
свойств.
Рис. 4.9. Редактор переменных
Редактор документирования (рис. 4.10) проекта позволяет вы-
полнять следующие функции:
• печать всего проекта (2) или по секциям (3);
• выбор между структурным и функциональным видом (1);
• настройка результата (нижний колонтитул, общая информация
и т. п.);
• местная печать для редакторов языков программирования, кон-
фигуратора и т. п.;
• специальная индикация (полужирное начертание) для ключевых
слов;
• выбор формата бумаги;
• предварительный просмотр перед печатью (4);
• сохранение документации.

62
Симулятор ПЛК (рис. 4.11) позволяет вести поиск ошибок в проекте без связи с реальным ПЛК. Все задачи проекта (Mast, Fast, AUX и
Event), которые выполняются на настоящем ПЛК, также доступны в
симуляторе. Отличия от реального ПЛК состоят в отсутствии модулей
ввода/вывода и коммуникационных сетей (таких как ETHWAY, Fipio и
Modbus Plus) с недетерминированным поведением в реальном времени. Все функции отладки, функции анимации, точки останова, форсирование переменных и т. п. доступны в симуляторе ПЛК.
Рис. 4.10. Редактор документирования проекта

63
Рис. 4.11. Симулятор Unity Pro
4.4. Иерархическое построение программы ПЛК
Программа может быть построена на основе:
• задач, которые выполняются циклически или периодически. За-
дачи строятся из:
– секций;
– подпрограмм.
• обработки событий, которая выполняется перед остальными за-
дачами. Обработка событий строится из:
– секций для обработки событий, управляемых временем;
– секций для обработки событий, управляемых аппаратно.
Unity Pro поддерживает множество задач (Многозадачность). Задачи выполняются «параллельно» и независимо друг от друга, приоритеты выполнения контролируются ПЛК. Задачи могут подстраиваться
для соответствия различным требованиям и поэтому являются мощным инструментом для структурирования проекта.
Многозадачный проект может быть составлен из:
• управляющей задачи (MAST). Управляющая задача выполняется
циклически или периодически. Она формирует основную секцию программы и выполняется последовательно;

64
• быстрой задачи (FAST). Быстрая задача выполняется периодиче-
ски. Она имеет больший приоритет, чем управляющая задача. Быстрая
задача используется для процессов, которые выполняются быстро и
периодически;
• от одной до четырех вспомогательных задач (AUX). Вспомога-
тельные задачи выполняются периодически. Они используются для
медленных процессов и имеют наименьший приоритет.
Проект также может быть построен из одной задачи. В этом случае
активна только управляющая задача.
Обработка событий производится в секциях событий. Секции событий выполняются с большим приоритетом, чем все остальные задачи. Они подходят для процессов, которые требуют очень короткого
времени реакции после наступления события. Для обработки событий
доступны следующие типы секций:
• секции для обработки событий, управляемых временем (Секции
Timerx);
• секции для обработки событий, управляемых аппаратно (Секции
Evtx).
Секции являются автономными единицами программы, в которых
создается логика проекта. Секции выполняются в порядке отображения
в браузере проекта (структурный вид). Секции связаны с задачей. Одна
секция не может принадлежать больше, чем одной задаче одновременно.
Подпрограммы создаются как отдельные единицы в секциях подпрограмм.
Подпрограммы вызываются из секций или других подпрограмм.
Возможна вложенность до восьми уровней. Подпрограмма не может
вызывать сама себя (не рекурсивна). Подпрограммы связаны с задачей.
Одна подпрограмма не может вызываться разными задачами.
4.5. Редакторы языков программирования Unity Pro
Объекты языка программирования FBD (Function Block Diagram)
помогают разбивать секцию на некоторое количество:
• элементарных функций (EFs);
• элементарных функциональных блоков (EFBs);
• производных функциональных блоков (DFBs);
• процедур;

65
• подпрограмм;
• переходов;
• связей;
• фактических параметров;
• текстовых объектов для комментирования логики.
Вид программы с объектами языка программирования FBD приведен на рис. 4.12.
Рис. 4.12. Объекты языка программирования FBD
Объекты языка программирования LD (Ladder Diagram) помогают разбить секцию на некоторое количество:
• контактов;
• катушек;
• элементарных функций (EFs);
• элементарных функциональных блоков (EFBs);
• производных функциональных блоков (DFBs);
• процедур;
• контролирующих элементов;
• операционных блоков и блоков сравнения, которые представля-
ют расширение к IEC 1131-3;
• вызовов подпрограмм;
• переходов;

66
• связей;
• фактических параметров;
• текстовых объектов для комментирования логики.
Вид программы с объектами языка программирования LD приведен на рис. 4.13.
Рис. 4.13. Объекты языка программирования LD
Одним из языков программирования может являться список инструкций IL(Instruction List). Список инструкций составляется из набора инструкций.
Каждая инструкция начинается на новой строке и состоит из:
• оператора;
• модификатора, если требуется;
• одного или более операндов, если требуется;
• метки как цели перехода, если требуется;
• комментария к логике, если требуется.
Пример программы на языке IL приведен на рис. 4.14.

67
Рис. 4.14. Пример программы на языке IL
Еще одним языком программирования алгоритмического типа является язык структурированного текста ST(Structure Text). Язык программирования ST работает с «Выражениями».
Выражения составляются из операторов и операндов, которые возвращают значение после выполнения.
Операторы являются символами для операций, которые выполняются.
Операторы используются для операндов. Операндами являются
переменные, литеры, входы/выходы функций и функциональных блоков и т. п.
Инструкции используются для структурирования и контроля выражений.
Пример программы на языке ST приведен на рис. 4.15.
Рис. 4.15. Пример программы на языке IL

68
Секция SFC (рис. 4.16) предоставляет следующие объекты для ге-
нерирования программы:
• шаги;
• макрошаги (вложенные последовательности подшагов);
• переходы (условия переходов);
• секции переходов;
Рис. 4.16. Пример секции SFC

69
• секции действий;
• переходы;
• связи;
• альтернативные последовательности;
• параллельные последовательности;
• текстовые объекты для комментирования логики.
Следует заметить, что секция SFC задает только общий алгоритм
выполнения программы, а отдельные шаги алгоритма программируются на языках, рассмотренных выше.
4.6. Соединение терминала с ПЛК
Для программирования ПЛК Premium или Quantum с использованием программного обеспечения Unity Pro необходимо соблюдать
следующие правила.
Последовательность соединения ПК с ПЛК
1. Физически соедините ПЛК с компьютером при помощи кабеля.
Перечень кабелей приведен в табл. 4.4.
2. Убедитесь, что для выбранного коммуникационного протокола
корректно установлен драйвер, который подходит для вашей операционной системы.
Примечание. В документации по драйверам описаны разнообразные драйверы, доступные в соответствии с операционной системой.
Например, чтобы ПК мог использовать X-Way адрес в сети Ethernet,
нужно установить драйвер XIP.
3. Убедитесь в том, что на панели инструментов иконка симулято-
ра не выделена.
4. Выберите адрес ПЛК, с которым необходимо соединиться, и тип
связи, используя команду PLC ® Set Address.
5. Установите соединение при помощи команды PLC ® Con-
nection.
Результат. Теперь можно выполнять все операции, доступные в
оперативном режиме, устанавливать ПЛК в режим Работа или Оста-
нов, загружать проекты или изменять программу и т. п.

70
Quantum
Modbus кабель, шифр 990 NAA 263 20
Quantum
Modbus Plus кабель, шифр UNY XCA 42 020
Quantum
Crossed Ethernet кабель, шифр 490 NTC 000 05
Quantum
USB кабель, шифр UNY XCA USB 033
Premium
Terminal port кабель, шифр TSX PCX 1031 (RS 232/RS 485)
Premium
Terminal port кабель, шифр TSX PCX 3030 (USB/RS 485)
Premium
Crossed Ethernet кабель, шифр 490 NTC 000 05
Premium
USB кабель, шифр UNY XCA USB 033
Табли ца 4.4
Тип ПЛК Тип кабеля
Доступ к ПЛК через сеть
1. Активируйте команду PLC ® Set address («Установка адреса»),
которая отобразит соответствующий экран.
2. В поле Address введите адрес нового ПЛК.
3. В выпадающем меню Media выберите тип связи, который вы хо-
тите использовать.
4. При желании вы можете изменить:
– коммуникационные параметры, используя команду Communication;
– Parameters в полях PLC и Simulator;
– пропускную способность соединения, используя кнопку Bandwidth;
– окно установки адреса.
Окно, которое позволяет получить доступ к новому ПЛК (Set
Address), изображено ниже.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
