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

81
Для конфигурации модуля аналоговых входов (рис. 5.10) щелкните
дважды по модулю в слоте 4. Задайте параметры канала 0:
• задача (Task): MAST;
• диапазон (Range): +/- 10V;
• масштаб (Scale): User;
• фильтр (Filter): 2.
Подтвердите конфигурацию путем выбора позиции меню Edit/
Validate.
Рис. 5.10. Конфигурация модуля аналоговых входов
Чтобы сконфигурировать процессор (рис. 5.11), щелкните дважды
по процессорному модулю в слоте 0. Задайте параметры:
• режим функционирования (Operating mode): сброс слов внутрен-
ней памяти при «холодном» старте (%MWi Reset on cold start);
• размер областей памяти: 256 %M, 512 %MW, 128 %KW.
Подтвердите конфигурацию путем выбора позиции меню Edit/
Validate.

82
Рис. 5.11. Конфигурация процессора
Чтобы создать локальную сеть Ethernet, доберитесь до обозревателя проектов (Project Browser) и, щелкнув правой клавишей по
Communication/Networks, выберите New Network (рис. 5.12).
Рис. 5.12. Доступ к настройкам локальной сети Ethernet
В закладке Network:
• выберите сеть Ethernet;
• введите имя Ethernet_1;
• подтвердите, нажав кнопку OK.
Таким образом, будет создана сеть Ethernet_1 (рис. 5.13).

83
Рис. 5.13. Создание локальной сети Ethernet
Для конфигурации локальной сети Ethernet (рис. 5.14) щелкните
дважды по логической сети – строке Ethernet_1, чтобы добраться до
конфигурации. Определите параметры:
• IP-адрес: 139.158.12.x (IP адрес станции);
• маска подсети: 255.255.128.0;
• адрес шлюза: 139.158.12.0 (не обязательно).
Подтвердите выбор в меню Edit/Validate.
Рис. 5.14. Конфигурация локальной сети Ethernet

84
данных
Для конфигурации порта Ethernet (рис. 5.15) щелкните дважды по
ETY PORT (слот 1), чтобы добраться до конфигурации порта. Определите параметры:
• Channel 0;
• функция (Function): ETH TCP IP.
Свяжите логическую сеть с портом Ethernet. Определите параметры: сеть (Net Link): Ethernet_1.
Подтвердите выбор в меню Edit/Validate.
Рис. 5.15. Конфигурация локальной сети Ethernet
5.3. Работа с переменными
Рис. 5.16. Запуск редактора
Для запуска редактора данных в
обозревателе приложения откройте
папку Variables & FB instances (переменные и экземпляры функциональных
блоков), затем дважды щелкайте мышкой по строкам Elementary Variables,
Derived Variables и т. д. для заполнения
соответствующих таблиц (рис. 5.16).
Для создания переменных элементарных типов выберите вкладку Variables (рис. 5.17).

85
Рис. 5.17. Создание переменных элементарных типов
Для того чтобы определить переменную:
• дважды щелкните по первой незаполненной строке в колонке
Name (Имя) (на это поле указывает стрелка) и введите имя переменной
(например, Blocking);
• дважды щелкните в той же строке по полю в колонке Type (Тип)
и выберите тип переменной (например, BOOL);
• если переменная является локализованной, дважды щелкните по
полю в колонке Address и введите адрес памяти контроллера;
• если требуется, введите комментарий.
Для того чтобы в проекте использовать экземпляры функциональ-
ных блоков (рис. 5.18):
• выберите вкладку Function Blocks редактора данных;
• дважды щелкните по первой незаполненной строке в колонке
Name (Имя) (на это поле указывает стрелка) и введите имя экземпляра
(например, Timer_close);
• нажмите <Enter> для подтверждения;
• в библиотеке Libset доберитесь до нужного семейства блоков
(например, Timers &Counters) и выберите тип EFB (например, TON);
• нажмите <Enter> для подтверждения.

86
Рис. 5.18. Использование экземпляров функциональных блоков
Для создания производного типа данных DDT (рис. 5.19):
• выберите вкладку DDT Types редактора данных;
• дважды щелкните по первой незаполненной строке в колонке
Name (Имя) (на это поле указывает стрелка) и введите имя новой переменной (например, motor);
• дважды щелкните по соответствующему полю в колонке Type и
выберите тип (например, <Struct>);
• расширьте структуру данных, нажав на символ «+»;
• дважды щелкните по полю Name, введите имя первого элемента
структуры, его тип и, если требуется, комментарий.
• дважды щелкните по следующей строке (она помечена стрел-
кой), введите следующий элемент и т. д.

87
Рис. 5.19. Создание производного типа данных DDT
Выберите рассматриваемый тип DDT (т. е. motor). Проанализируй-
те этот тип, используя контекстное меню Build/Analyze. Если в результате анализа не будет выявлено ошибок, иконка рядом с DDT изменится (рис. 5.20).
Рис. 5.20. Анализ производного типа данных DDT

88
Для того чтобы в проекте использовать экземпляр DDT (рис. 5.21):
• выберите вкладку Variables в редакторе данных;
• щелкните дважды по первому незаполненному полю Name (на
него указывает стрелка) и введите имя экземпляра (например,
pump_1);
• щелкните дважды по полю Type в этой же строке;
• нажмите на кнопку с многоточием […];
• в библиотеке Application (Приложение) выберите нужный про-
изводный тип данных DDT (например, motor);
• нажмите OK для подтверждения.
Для создания типа DFB(рис. 5.22):
• выберите вкладку DFB Types в редакторе данных;
• дважды щелкните по строке в колонке Name, отмеченной стрел-
кой, и укажите имя нового DFB (например, valve);
• расширьте новый DFB, нажав на символ «+»;
• расширьте папку inputs, нажав на символ «+»;
• дважды щелкните по полю Name, введите имя первого входа
(например, open), его тип и, если требуется, комментарий;
• дважды щелкните по следующей строке, введите следующий
вход и т. д;
• аналогично определите элементы в папках outputs, inputs/outputs,
public и private;
• отметьте рассматриваемый тип DFB (т. е. valve). Выполните ана-
лиз, используя контекстное меню Build/Analyze.
Для того чтобы использовать в проекте экземпляр DFB (рис. 5.23):
• выберите вкладку Function Blocks редактора данных;
• щелкните дважды по строке, отмеченной стрелкой, и введите
имя экземпляра DFB (например, Control_blocking_valve);
• нажмите Enter для подтверждения и проверки;
• в соответствующей библиотеке (в данном случае – Application)
выберите нужный тип DFB (например, valve);
• нажмите OK для подтверждения.

89
Рис. 5.21. Использование в проекте производного типа
данных DDT

90
Рис. 5.22. Создание типа DFB
Рис. 5.23. Использование в проекте экземпляра DFB
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
