теоретические сведения

advertisement
Красноярский государственный университет цветных металлов и
золота
Кафедра автоматизации производственных процессов
ЦМ
Дисциплина “Применение
ЭВМ в СУ”
Красноярск 2005 г.
Лабораторная работа № 4 б
”Изучение среды программирования UltraLogik32”
Цель работы
1. Изучить систему программирования микроконтроллеров UltraLogik32.
2. Разработать проект в UltraLogik32.
ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Система UltraLogik предназначена для разработки программного обеспечения
сбора данных и управления технологическими процессами, исполняемого на IBM PC
совместимых контроллерах и промышленных компьютерах с открытой архитектурой.
Система пpогpаммиpования UltraLogik разработана в соответствии со
стандаpтом Междунаpодной Электpотехнической Комиссии (МЭК) IEC 61131 и в
качестве основного языка программирования использует язык функциональных
блоковых диагpамм Function Block Diagram (FBD).
Система предоставляет пользователю механизм объектного визуального
программирования, когда программа собирается из готовых функциональных блоков.
Кроме этого, UltraLogik предоставляет возможность выполнять программные модули,
написанные на других языках программирования, таких как Си, Паскаль, Ассемблер.
При этом внешне такая программа выглядит как обычный функциональный блок,
назначение входов и выходов которого определяет пользователь.
UltraLogik является мощной и в то же время простой в использовании
инструментальной системой, которая на порядки сокращает время проектирования
программ для контроллеров и промышленных компьютеров. Широкий выбор
функциональных блоков и демонстрационных проектов, реализующих всевозможные
алгоритмы регулирования, позволит даже начинающему пользователю создавать с
помощью UltraLogik изящные и оптимальные программы.
Основные характеристики:
1. Визуальное программирование.
2. Встроенная поддержка процессоров и модулей ввода-вывода Octagon
Systems, Fastwel, контроллеров серии ADAM-4000, ADAM-5510.
3. Поддержка языков программирования FBD, ST, IL, ASSEMBLER.
4. Встроенный редактор ОЕМ - библиотек, позволяющий легко подключать в
систему собственные модули УСО.
5. Библиотеки поддержки модулей-преобразователей серии G5 и 70L/73L
(Grayhill).
6. Мощные коммуникационные возможности для создания распределенных
АСУТП с гомогенными и гетерогенными сетями, поддержка протоколов TCP/IP, IPX,
RS-485, простые настройки и установки.
7. Встроенные алгоритмы дискретного и аналогового управления и
регулирования, в т. ч. П, ПИ, ПИД-законы.
8. Калибровка входных измерительных каналов.
9. Широтно-импульсная модуляция аналоговых переменных.
10. Моделирование процессов.
11. Эмуляция контроллера на системе программирования.
12. Удобная система документирования проекта, использующая современные
форматы хранения графических данных.
13. Эффективный контроль (прослеживаемость) использования каждой
переменной в разных элементах проекта.
14. Расширенный набор базовых функциональных блоков и встроенных
математических функций.
15. Возможность непосредственной адресации к портам ввода/вывода.
UltraLogik состоит из двух частей: системы программирования и системы
исполнения.
Система программирования содержит собственно средства подготовки
программ и средства их отладки. Менеджер проекта объединяет средства подготовки
программ и содержит:
 редактор переменных;
 конфигуратор контроллера;
 редакторы программ;
 компиляторы.
Подсистема отладки содержит загрузчик программ, просмоторщик, набор
сетевых драйверов, эмулятор контроллера, средства осциллографирования, удаленной
и пошаговой отладки.
Встроенный эмулятор предназначен для предварительной отладки программы
непосредственно в среде UltraLogik без целевого контроллера. В этом режиме работа
контроллера эмулируется специальной программой, выполняемой на компьютере
системы программирования. Программа эмуляции работает в режиме «резинового»
времени, т.е. отсчеты времени производятся через интервалы, устанавливаемые
пользователем.
Рисунок 1 - Архитектура системы
UltraLogik позволяет моделировать физические и технологические процессы и
включает в себя библиотеку моделей процессов. Исследование поведения
моделируемого объекта совместно с эмулятором позволяет производить эффективное
обучение в области теории регулирования. Средства осциллографирования
переменных позволяют оценивать переходные характеристики процессов, подбирать
коэффициенты регулирования и отлаживать программу. Наличие в составе системы
функциональных блоков, обеспечивающих работу с массивами, позволяет
организовать регистрацию и анализ быстропеременных процессов.
Система исполнения функционирует в контроллере, который может
базироваться как на платформе Intel, так и другой аппаратной платформе.
UltraLogik использует метод сетевого взаимодействия между системами
исполнения, а также и системами визуализации (отладки) данных. Каждый участник
сети имеет свой уникальный сетевой адрес и может быть территориально расположен
на любом участке сети. Сетевой адрес задается программно. Количество участников
одной сети — 256.
Проекты, созданные с помощью системы UltraLogik, могут взаимодействовать
друг с другом и со SCADA-системами двумя основными способами.
В случае если контроллеры имеют аппаратные средства поддержки
стандартных промышленных сетей Fieldbus, например, от фирмы Hilscher, обмен
данными между контроллерами, пассивными УСО и системами верхнего уровня
может осуществляться с помощью этих сетей. В системе UltraLogik реализована
поддержка унифицированного CIF-интерфейса, что делает возможным применение в
качестве среды обмена данными такие популярные промышленные сети, как
PROFIBUS, CAN, ModBus, Interbus и др.
Кроме того, возможность работы с сетевыми платами Fieldbus позволяет
включать в состав каналов ввода-вывода не только локально установленные платы, но
и распределенные УСО, такие как WAGO I/O, Siemens ET200 и др.
В случае, когда в распоряжении разработчика остаются только стандартные
последовательные порты с интерфесом RS-232, RS-422/485 или адаптер Ethernet,
сетевое взаимодействие между контроллерами и системами визуализации может быть
реализовано с помощью собственного программного сетевого протокола системы
UltraLogik — сети UltraNet.
На нижнем уровне для различных типов интерфейсов система имеет различные
сетевые драйверы: IPXNet — драйвер для сетей Ethernet, работающих по протоколу
IPX/SPX; PLCNet — драйвер для сетей PLCnet с интерфейсом RS-485.
В сети могут быть активные участники — Master и пассивные — Slave. В
качестве активных участников могут выступать системы верхнего уровня (MMI,
SCADA-системы), система отладки (собственно UltraLogik), а также контроллеры,
если они имеют переменные со статусом Удаленная (Remote). Любой активный
участник может опрашивать и изменять переменные любого другого участника сети
точно так же, как собственные локальные. Таким образом, UltraLogik реализует
классическую схему принципа распределенного управления технологическим
процессом безотносительно территориального расположения контроллеров.
Создание проекта с помощью системы
последовательности следующих действий:
1. Создание нового проекта.
2. Заполнение таблиц глобальных переменных.
3. Разработка программ.
4. Конфигурирование контроллера.
5. Компиляция.
6. Отладка программ.
UltraLogik
состоит
из
МЕТОДИКА ВЫПОЛНЕНИЯ РАБОТЫ
Запуск системы программирования
Для начала работы с программой щелкните два раза левой
кнопкой мыши по значку, находящемуся на рабочем столе. На экране
появится главное окно системы UltraLogik32.
Рисунок 2 Главное окно
Создание нового проекта
Для того, чтобы открыть окно нового проекта, в меню Проект выберите строку
Новый. Откроется окно Менеджера проекта с заголовком Проект – Без_имени.
В левой части Менеджера проекта размещается дерево проекта. Дерево
проекта в наглядной форме дает представление обо всех объектах, составляющих
проект, и позволяет быстро перейти в любую часть проекта.
Выберите корень дерева - Проект. На главном окне системы активизируется
панель Добавить с объектами, которые могут быть элементами проекта. Это
следующие объекты:
 Контроллер – устройство, реализующее логику работы программ. Количество
контроллеров в проекте не ограничивается.
 Библиотека Проекта – совокупность библиотек, используемых в проекте.
 Типы данных – раздел объявления пользовательских типов данных. Типы
данных системы UltraLogik соответствуют основным классам типов данных
языка Турбо Паскаль 7.0.
 Примечание – любая информация сопровождающая проект. Информация
может быть в текстовом виде и в виде графических файлов форматов PDF,
BMP, ICO, EMF, WMF.
В правой части окна Менеджера проекта введите имя проекта и имя файла, в
котором будет сохраняться проект. Имя проекта может содержать любые символы
русского и латинского алфавита, спецсимволы и пробелы. Имя файла, в котором
будет сохраняться проект, записывается в соответствии с правилами допустимых
имен для используемой операционной системы. UltraLogik автоматически
присваивает имени файла проекта расширение PLC.
Рисунок 3 Создание нового проекта
Щелкните на кнопке Сохранить проект
в окне главного меню.
Создание списка глобальных переменных
1. Щелкните на знаке + напротив изображения контроллера на дереве
проекта:
.
На изображении контроллера появится ветвь со строками Переменные и
Список программ.
2. Щелкните на ветви Переменные. В правой части окна Менеджера проекта
откроется первая строка таблицы переменных, а на главном окне активизируется
панель инструментов Variable для добавления и удаления переменных.
Рисунок 4 – Таблица Глобальных переменных
3. Добавьте в список следующие переменные: Control, Sensor, K, Ref, Kp, Ki,
Kd, Imin, Imax, Ival, Dlt, dT, Dist, Man, A_Dist, K_Dist, P_Dist.
4. Для добавления переменной Control щелкните на панели инструментов
кнопку Добавить переменную
. Активизируется окно Создать новую
переменную.
Введите информацию в следующие поля:
Имя (имя переменной): Control
Тип (тип переменной): FLOAT
Значение (значение при инициализации): 0
Атрибуты (Константа С, Глобальные P, Входные I, Выходные O,
Сетевые N, Сохраняемые S, Удаленные чтение R, Удаленные
запись W): N
Комментарий: Управляющее воздействие на объект. .
Рисунок 5 – Окно создания новой переменной
Повторите эти действия для остальных переменных, заполняя поля следующим
образом:
Имя
Sensor
Комментарий
Обратная связь от объекта (датчик)
Тип
Float
Значение
0
Для всех переменных в поле Атрибуты установите значение Сетевая.
Имя
Комментарий
Тип
Значение
K
Коэффициент реакции объекта
Float
0.001
Имя
Комментарий
Тип
Значение
Ref
Значение стабилизации
Float
0
Имя
Комментарий
Тип
Значение
Kp
Коэффициент пропорциональности
Float
100
Имя
Комментарий
Тип
Значение
Ki
Коэффициент интегратора
Float
0.01
Имя
Комментарий
Тип
Значение
Kd
Коэффициент дифференциатора
Float
5000
Имя
Комментарий
Тип
Значение
Imin
Минимальное значение интегратора
Float
-100
Имя
Комментарий
Тип
Значение
Imax
Максимальное значение интегратора
Float
+100
Имя
Комментарий
Тип
Значение
Ival
Начальное значение интегратора
Float
0
Имя
Комментарий
Тип
Значение
Dlt
Остаточное рассогласование
Float
0
Имя
Комментарий
Тип
Значение
dT
Приращение времени для дифференциатора
Timer
S01
Имя
Комментарий
Тип
Значение
Dist
Помеха
Float
0
Имя
Комментарий
Тип
Значение
Man
Ручной режим управления регулятором
Boolean
False
Имя
Комментарий
Тип
Значение
A_Dist
Амплитуда переменной части помехи
Float
1
Имя
Комментарий
Тип
Значение
K_Dist
Коэффициент переменной части помехи
Float
0.1
Имя
Комментарий
Тип
Значение
P_Dist
Постоянная часть помехи
Float
0.5
Таблица переменных примет следующий вид:
Рисунок 6 – Таблица с созданными Глобальными переменными
Разработка программ
Создание списка программ проекта
Разработка программ производится в разделе Список программ Менеджера
проекта. Для выбора раздела нужно щелкнуть левой кнопкой мыши на названии
раздела Список программ.
Рисунок 7 – Список программ
Далее при нажатии правой кнопкой мыши появится контекстное меню.
Рисунок 8 – Создание новой программы
Выполните команду контекстного меню Новая – Function Block Diagram.
Активизируется окно Введите имя программы. Создайте программы: REGUL,
OBJECT, DIST.
Рисунок 9 – Список созданных программ
Для ввода комментария нажмите правой кнопкой мыши в рабочем поле
Менеджера проекта. Выполните команду контекстного меню Комментарий.
Активизируется окно Введите комментарий. В появившемся окне введите
необходимые пояснения.
Рисунок 10 – Ввод комментария
Установка статуса программы
Установка Статуса программы осуществляется командами START
и
панели инструментов Edit.
Статус Start означает, что данная программа включена в цикл контроллера и
будет автоматически запущена. Статус Stop означает, что данная программа не
включена в цикл контроллера и может быть запущена другими программами при
определенных условиях. В системе есть зарезервированное имя программы STOP.
Если программа с таким именем существует в проекте, то она выполняется последней
перед остановом программы управления контроллером, независимо от своего
состояния. Останов программы управления контроллером происходит по нажатию
клавиши ENTER. Программа STOP служит для установки оборудования в нужное
состояние перед завершением программы.
Статус программы можно изменять командами с панели инструментов
главного окна или командами контекстного меню.
Программы будут выполняться в контроллере в очередности, соответствующей
их расположению на дереве проекта.
Для изменения очередности выполните следующее:
 Сделайте щелчок на элементе дерева Список программ.
 Выберите передвигаемую программу в списке программ.
 Выполните команду Передвинуть программу вверх или Передвинуть
программу вниз.
Изменять имя программы, комментарий и статус возможно в произвольный
момент времени.
STOP
Разработка и редактирование
программы
Редактор вызывается при открывании окна с редактируемой программой. Для
этого необходимо сделать щелчок на соответствующей программе в дереве проекта.
Откройте окно с программой Regul. Для выбора библиотечного блока сделайте
щелчок на кнопке Добавить функциональный блок из FBD- библиотеки
панели инструментов Edit, выберите библиотеку Regulation и элемент библиотеки
PID_Reg. Изображение функционального блока появится в рабочем поле, и будет
следовать за курсором. Положение блока зафиксируйте на рабочем поле щелчком.
Рисунок 11 – Размещение библиотечного блока PID_Reg в рабочем поле программы
Далее выполните следующие шаги:
1. Выберите на панели Edit кнопку Рисование связей
и щелкните на ней
левой кнопкой мыши. Выберите Рисовать связь.
Эта команда используется для создания связей между входами и выходами
функциональных блоков. Фактически связь является графическим изображением
переменной, и для функциональных блоков ее наличие является обязательным
условием. Компилятор выдает сообщение об ошибке, если обнаруживает
несоединенный вход или выход. Соединение изображается отрезками, концы которых
фиксируются щелчком.
Установите курсор на выбранном месте рабочего поля и сделайте щелчок. Отпустите
кнопку мыши и ведите соединение в нужную точку. Если соединение выходит за
границы поля, редактор автоматически передвигает изображение. Для получения
излома сделайте щелчок. Соединительная линия будет продолжаться до тех пор, пока
не сделаете правый щелчок. Повторный правый щелчок переводит редактор в режим
ожидания команды.
Эта команда используется для присоединения связей ко входам и выходам
функциональных блоков. Соединение изображается отрезками, концы которых
фиксируются однократным нажатием левой кнопки мыши.
2. Для присвоения связи имени переменной установите курсор на какой либо
связи, и сделайте щелчок. Выбранная связь будет выделена белым цветом, и
откроется окно ввода имени.
Рисунок 12 – Окно ввода имени связи
Вы можете ввести имя связи двумя способами:
 С помощью клавиатуры.
Введите с клавиатуры имя переменной, тип переменной и нажмите Enter. Имя
связи, выделенное белым цветом, появится в рабочем поле. Установите имя связи на
выбранное место и сделайте щелчок. Если вы ввели имя существующей глобальной
переменной, ее тип автоматически будет скопирован из таблицы глобальных
переменных. Если вы присваиваете связи имя несуществующей переменной, эта
переменная будет является локальной, т.е. доступной только в данной программе. Для
объявления ее глобальной, переменную следует внести в списки глобальных
переменных.
 Выбрать имя из списка Показать переменные.
Установите курсор поле имени переменной и сделайте двойной щелчок.
На форме списка Показать переменные имеются три флажка Глобальные,
Локальные, Используемые. Установка этих флажков включает соответствующий ему
фильтр просмотра переменных.
3. Для подписи элемента выберите на панели Edit кнопку Ввод комментария
и щелкните на ней левой кнопкой мыши. Появиться окно, в котором введите
соответствующий комментарий, нажмите Ок и разместите текст в нужном месте.
Выполните пункты с 1 по 3 в соответствии с нижеприведенным рисунком:
Рисунок 13 – Окно программы Regul
Откройте окно с программой Object. Для выбора библиотечного блока
сделайте щелчок на кнопке Добавить функциональный блок из FBD- библиотеки
панели инструментов Edit, выберите библиотеку Emulator и элемент библиотеки
Object2. Изображение функционального блока появится в рабочем поле, и будет
следовать за курсором. Положение блока зафиксируйте на рабочем поле щелчком.
Рисунок 14 – Размещение библиотечного блока Object2 в рабочем поле программы
Затем проведите связи у каждого вывода элемента, присвойте имена связям,
подсоединенным к каждому выводу элементов, и введите комментарий в
соответствии с нижеприведенным рисунком:
Рисунок 15 – Окно программы Object
Откройте окно с программой Dist. Для выбора библиотечного блока сделайте
щелчок на кнопке Добавить функциональный блок из FBD- библиотеки
панели инструментов Edit, выберите библиотеку Emulator и элемент библиотеки
Dist. Изображение функционального блока появится в рабочем поле, и будет
следовать за курсором. Положение блока зафиксируйте на рабочем поле щелчком.
Рисунок 16 – Размещение библиотечного блока Dist в рабочем поле программы
Затем проведите связи у каждого вывода элемента, присвойте имена связям,
подсоединенным к каждому выводу элементов, и введите комментарий в
соответствии с нижеприведенным рисунком:
Рисунок 17 – Окно программы Dist
Конфигурирование контроллера
Выбор модели контроллера
1. Щелкните изображение контроллера на дереве проекта. В правой части
менеджера проекта откроются поля для ввода информации о контроллере: Имя,
Модель, Компилятор, Выходной файл.
2. Введите Имя контроллера.
3. Выберите Модель контроллера из списка. Для этого щелкните на
переключателе в правой части поля ввода. На дереве проекта появится новая ветвь с
выбранной моделью. Список содержит следующие модели:
 None – модель не выбрана (отмена предыдущего выбора);
 Adam-5510, Advantech – модель контроллера ADAM 5510.
 IBM-PC Compatible Controller – любая модель PC совместимого контроллера.
4. Выберите Компилятор из списка:
 80х86 compatible simple compiler создает код для всех моделей процессоров
серии 80х86. Созданный код исполняется на целевом контроллере.
 Emulator создает код, исполняемый среде UltraLogik. Созданный код
предназначен для отладки программы.
Выберите модель контроллера IBM-PC Compatible Controller и компилятор
80х86 compatible simple compiler.
5. Введите имя Выходного Файла проекта. Имя может иметь расширение ЕХЕ
или OBJ. В первом случае будет создан исполняемый файл с указанным именем, во
втором случае – объектный модуль, для последующей компоновки с другими
модулями.
Рисунок 18- Окно выбора модели контроллера, компилятора и выходного файла
Выбор центрального процессора
Щелкните на знаке + на ветви с изображением контроллера (при этом
откроется новое дерево с корнем Контроллер), а затем на условном изображении
модели контроллера IBM-PC Compatible Controller.
Рисунок 19 – Окно выбора модуля ЦПУ
Выберите Модуль ЦПУ из списка. Для этого щелкните на переключателе в
правой части поля ввода
.
Рисунок 20 – Список модулей ЦПУ
Выбор из списка конкретного модуля учитывает его индивидуальные
технические данные.
Выберите Micro PC 6050 Microcontroller. Для того чтобы провести
дальнейшую детализацию технических данных щелкните на закладке Micro PC 6050
Microcontroller.
Рисунок 21 – Окно конфигурирования процессорного модуля 6050
В правой части менеджера проекта откроются дополнительные поля:
Используемые компоненты, Базовый адрес EZ I/O, Положение перемычек.
В поле Используемые компоненты установите флажки напротив COM1, WDT,
EZ1.
Watchdog Timer - сторожевой таймер. Если программа в контроллере
функционирует нормально, сторожевой таймер в каждом цикле получает от
программы сигнал “все в порядке, работаем дальше”. Включенный сторожевой
таймер автоматически перезапускает контроллер в том случае, если сигнала
подтверждения работы программы не получено. Промежуток времени ожидания
таймера фиксирован и выбирается перемычками на плате CPU-card
В поле Базовый адрес EZ I/O установите адрес в соответствии с положением
перемычек, установленных на модуле. Порядок установки перемычек изложен в
технической документации на модуль.
Выбор модулей УСО и привязка к ним
переменных
Щелкните на ветви Список установленных модулей. На рабочем поле
откроется список модулей контроллера, а на главном окне появится панель
инструментов Модули УСО.
Рисунок 22 – Таблица установленных модулей
Выполните команду Добавить модуль
. Откроется окно Выберите.
Рисунок 23 – Список модулей
Выберите из списка модуль УСО. Модуль будет добавлен в список
установленных модулей, а его условное изображение на дерево проекта.
Рисунок 24 – Таблица с добавленным модулем 5600
Привязка переменной – это назначение глобальной переменной проекта
определенному входу/выходу контроллера. Одна и та же переменная может быть
назначена на различные входы/выходы. Привязка переменных производится в окнах
конфигурирования модулей.
Откройте окно конфигурирования модуля. Для этого сделайте щелчок на
условном изображении модуля в дереве проекта. Окно может содержать несколько
таблиц, каждая из которых предназначена для привязки переменных к различным
группам каналов ввода/вывода.
Рисунок 25 – Окно конфигурирования модуля 5600
Окно может содержать поля, предназначенные для общих настроек, таких, как
выбор базового адреса модуля, выбора драйвера для портов ввода/вывода. Эти
операции приведены в описании конкретных модулей. Всегда осуществляйте эти
операции перед тем, как перейти к привязке переменных. Это связано с тем, что
функциональное назначение портов ввода/вывода зависит от типа выбранного для
них драйвера.
Все действия производятся только с выбранным каналом ввода/вывода. Чтобы
выбрать канал, установите курсор на строке с выбираемым каналом и сделайте
двойной щелчок. Откроется окно со списком глобальных переменных, которые могут
быть привязаны к каналу ввода/вывода.
Рисунок 26 – Привязка переменных к каналам ввода/вывода
Рисунок 27 – Окно выбора переменных
Список может быть отфильтрован.
В окне Фильтр выберите тип и атрибуты переменных, которые должны быть
отображены в окне Выберите переменную.
Рисунок 28 - Фильтр
Все действия осуществляются через команды контекстного меню, которое
вызывается правым щелчком в поле таблицы.
Для некоторых типов модулей контекстное меню может иметь дополнительные
команды, являющиеся специфическими для выбранного модуля. Эти команды будут
приводиться в описаниях по привязке переменных к модулям.
Конфигурирование последовательных
портов
Конфигурирование последовательных портов заключается в установке их
параметров: Имя, Базовый адрес, Прерывание, Скорость, Использование.
1. Сделайте щелчок на условном изображении COM порта. В рабочем поле
появится окно настроек порта.
Рисунок 29 – Окно конфигурирования последовательного порта COM1
Назначение порта определяется драйвером, который можно выбрать в
специальном поле Использование. Для того чтобы увидеть список драйверов вашей
версии системы сделайте щелчок на кнопке в правой части поля Использование. Для
последовательных портов система предлагает следующие драйверы:
 PLCNET driver (master) - драйвер активного участника сети PlcNet. Назначается
на последовательный порт, через который осуществляется сетевой обмен. В
том случае, если драйвер назначен на несколько портов, контроллер может
быть подключен к различным сетям PLCNet, имея при этом одинаковый адрес
в сетях. Следует иметь ввиду, что контроллер не является шлюзом между
сетями. Драйвер функционирует на процессорах модели 80386 и выше.
 PLCNET driver (slave) - драйвер пассивного участника сети PlcNet. Назначается
на последовательный порт, через который осуществляется сетевой обмен. В
том случае, если драйвер назначен несколько портов, контроллер может быть
подключен к различным сетям PLCNet, имея при этом одинаковый адрес в
сетях. Контроллер не является шлюзом между сетями.
 ModBus ASCII driver (slave) - драйвер пассивного участника сети ModBus
ASCII. Должен быть назначен на последовательный порт, через который
осуществляется сетевой обмен. В том случае, если драйвер назначен несколько
портов, контроллер может быть подключен к различным сетям ModBus ASCII.
Контроллер не является шлюзом между сетями.
2. Выберите драйвер порта PLCNET driver (master).
3. Установите скорость передачи данных 38400 в поле Скорость.
4. Установите в поле Базовый адрес 03F8 и номер прерывания порта 4. Если
базовый адрес и/или номер прерывания заблокированы от изменения, значит они
могут быть изменены только аппаратным способом и система информирует
пользователя, как они должны быть установлены.
5. Сделайте щелчок на условном изображении контроллера на дереве проекта
. В рабочей части Менеджера проекта появится
дополнительное поле установки адреса контроллера. Установите адрес контроллера.
Помните, что у каждого контроллера в сети должен быть уникальный адрес.
Рисунок 30 – Выбор сетевого адреса
Компиляция
Компилятор создает исполняемые файлы для каждого контроллера отдельно.
Выбор типа компилятора и подключение производиться в режиме
конфигурирования контроллера.
Кнопка
на панели инструментов служит для вызова компилятора и
дублирует команду Компилировать главного меню системы.
Перед компиляцией установите адрес узла сети (контроллера). Напомним, что
адрес контроллера можно установить, если в его конфигурации присутствует
коммуникационные порты, назначенные на драйвер PlcNet (MODBUS ASCII), или
сетевое оборудование.
Компилятор проверяет программу и в случае обнаружения ошибок выдает в
список ошибок и замечаний.
Для локализации ошибки в программе сделайте правый щелчок на строке с
сообщением об ошибке. Выполните команду Найти контекстного меню. Элементы
программы, содержащие ошибку, выделяются красным цветом.
Если в программе нет формальных ошибок, объектный файл обрабатывается
компоновщиком для получения исполняемого кода программы.
Отладка программы
Эмуляция контроллера
Режим эмуляции предназначен для предварительной отладки программы
непосредственно в среде UltraLogik без целевого контроллера. В этом режиме работа
контроллера эмулируется специальной программой, выполняемой на компьютере
системы программирования.
Для запуска эмулятора выполните следующие действия:
1. Загрузите проект.
2. Сделайте щелчок на изображении контроллера на дереве проекта. В правой
части менеджера проекта откроется раздел Контроллер. В поле Компилятор сделайте
щелчок на кнопке и выберите из списка компиляторов строку Emulator.
Рисунок 31 – Окно выбора компилятора
3. Скомпилируйте проект (сделайте щелчок на кнопке
Эмулятор.
). Открывается окно
Рисунок 32 – Окно Emulator
Окно Эмулятор является динамическим объектом, который порождается
эмулирующей программой автоматически после компиляции проекта. Если вы внесли
изменения в проект, закройте окно Эмулятор перед повторной компиляцией, в
противном случае система выдаст сообщение об ошибке.
Рисунок 33 – Сообщение о ошибке
Если вы закрыли окно Emulator, повторно его можно вызвать только
компиляцией проекта.
В
левой части окна отображается иерархическое дерево выполняемой
программы и точки останова, если они установлены. В правой части окна
открываются два списка – список глобальных переменных и список локальных
переменных. Правый щелчок в поле списков вызывает контекстное меню.
Рисунок 34 – Контекстное меню
Команда Добавить сетевые переменные в список вызывает окно со списком
всех сетевых переменных проекта
Рисунок 35 – Список Сетевых переменных
Отметьте переменные, которые должны визуализироваться в списке и сделайте
щелчок на кнопке ОК. Отмеченные переменные будут помещены в список отладки.
Рисунок 36 – Окно Emulator с добавленными переменными
Правый щелчок в окне дерева программы вызывает контекстное меню с
командами отладчика
Рисунок 37 – Команды отладчика
Показать Исходный Объект
Поставить Точку Останова
Исполнить
Идти во внутрь
Перешагнуть
Исполнить до Курсора
раскрывает программу с элементом, на котором
установлен курсор. Элемент (функциональный
блок) будет выделен белым цветом;
ставит (снимает) точку останова в позиции
курсора;
запускает выполнение программы;
выполняет один шаг с погружением на
следующий уровень программы, если он
существует;
выполняет один шаг на текущем уровне
программы;
выполняет программу до позиции курсора.
При нажатии кнопки
на панели Эмулятор появляется окно Длительность
исполнения команды, в котором можно устанавливать скорость эмуляции.
Рисунок 38 – Задание скорости эмуляции
Данная опция позволяет указать, какое количество операций необходимо
эмулировать, чтобы время в эмуляторе изменилось на одну сантисекунду. Это
необходимо делать для более точного приближения результатов математических
вычислений реального процессора целевого контроллера и вычислений,
производимых эмулятором.
Чтобы запустить эмуляцию программы, выполните команду Исполнить. Для
того чтобы поставить (удалить) точку останова программы, установите маркер мыши
в поле окна Эмулятор на головной линии (или левее) дерева программ напротив
программы или команды и щелкните левой кнопкой мыши. Условное изображение
программы или команды, после выполнения которой произойдет остановка, будет
помещено в рамку.
Программа эмуляции работает в режиме «резинового» времени. Отсчеты
времени производятся через интервалы, кратные значению, установленному с
помощью опции Длительность исполнения команды. Это означает, что вы можете
эмулировать алгоритмы работы реальной программы, но не работу с реальным
оборудованием.
Режим переменные
Меню Отладчик предназначено для отладки программы. Меню содержит
следующие команды:
Переменные
Осциллограф
Формат
просмотр, изменение значений переменных;
осциллографирование, изменение значений переменных;
устанавливает формат чисел для визуализаци переменных.
Рисунок 39 - Меню Отладчик
После выбора команды Переменные система сканирует сеть, и появляется
окно Выберите сетевой адрес со списком всех узлов сети.
Рисунок 40 - Выбор сетевого адреса
Кнопка Скан служит повторного сканирования сети.
Выберите адрес узла, с которым необходимо установить связь. Сделайте
двойной щелчок на строке с выбранным узлом, или введите цифровой адрес узла (в
шестнадцатеричном виде), и сделайте щелчок на кнопке ОК.
Система установит связь с узлом, и в окне Переменные будет отображен
список переменных выбранного узла. В заголовке окна будет указан адрес узла.
Рисунок 41 – Список переменных
Список является динамическим, т.е. отражает реальное значение переменной с
частотой сетевого обмена. Учтите, что окно Переменные для каждого узла сети
должно быть закрыто и открыто вновь, если вы перекомпилировали программу для
данного узла.
Окно Переменные имеет контекстное меню, которое вызывается правым
щелчком.
Назначение команд контекстного меню:
Выбрать все
выбирает все переменные списка;
Новое значение
задать новое значение переменной;
Удалить переменную
удаляет переменную из списка;
Сортировать по имени
Сортировать по типу
Формат
Редактировать описание
Показывать номер узла
Добавить/Удалить
сортирует переменные по имени;
сортирует переменные по типу;
установить формат чисел с плавающей точкой.
ввод комментария
добавляет к имени переменной номер узла
добавляет (удаляет) переменные в список из
любого узла сети.
Часть команд доступна из панели Debug главного меню системы.
Рисунок 42 - Панель Debug
Режим осциллограф
Предназначен для представления значений переменных в виде графической
зависимости от времени. Данный режим позволяет осуществлять графическое
представление поведения переменных во время исполнения программы. Этот режим
удобно использовать для анализа графиков переходных процессов и подбора
параметров функций регулирования.
Для перехода в данный режим в меню Отладчик необходимо выбрать команду
Осциллограф. Система сканирует сеть, и появляется окно Выберите сетевой адрес
со списком всех узлов сети.
Рисунок 43 - Выбор сетевого адреса
Выберите сетевой адрес узла, с которым необходимо установить связь. Для
этого установите курсор на строке с названием узла и сделайте щелчок. Система
установит связь с узлом. После выбора узла открывается окно Осциллограф, а в
главном меню появляется панель инструментов Oscilloscope.
Рисунок 44 - Панель Oscilloscope
На панели Oscilloscope имеются кнопки, с помощью которых осуществляется
управление осциллографированием.
Рисунок 45 – Окно осциллографа
Все команды доступны через команды контекстного меню.
В нижней части окна выводится комментарий, введенный в проекте для
выбранной осциллографируемой переменной.
Перед пуском осциллографирования необходимо выбрать переменные и
назначить время между снятием отсчетов.
Учтите, что окно Осциллограф для каждого узла сети должно быть закрыто и
открыто вновь, если вы перекомпилировали программу для данного узла. В
противном случае нарушается динамическая связь между окном вывода и именем
переменной, что приводит к непредсказуемому результату вывода.
Выбор переменных
осуществляется командой Добавить/Удалить
Переменные.
Время между снятием отсчетов задается в окне, которое вызывается кнопкой
.
Рисунок 46 - Задание времени опроса
Минимальное время можно установить равным нулю, при этом система
снимает значения с максимально-возможной скоростью.
Запуск осциллографирования осуществляется кнопкой
.
Во время осциллографирования вы можете изменять масштаб изображения по
осям Х и Y, устанавливать границы и размер изображения осциллограмм, для
выбранной осциллограммы послать новое значение переменной в контроллер.
Каждая осциллограмма выводится в своем поле вывода. Вы можете
произвольно менять положение полей вывода осциллограмм, накладывать
осциллограммы друг на друга, а также выбирать цвет осциллограмм.
Остановка осциллографирования происходит по нажатию кнопки
, или
автоматически при съеме 16000 значений отсчетов.
После останова осциллограмма может быть сохранена в виде файла и
загружена из файла. Стандартное окно сохранения вызывается кнопкой
, окно
загрузки - кнопкой .
После того, как съем осциллограммы закончен, (или она загружена из памяти)
имеется возможность анализировать численные значения переменных в зависимости
от времени. Для этого достаточно перемещать маркер мыши вдоль графика. Значение
переменной и соответствующее значение времени в секундах от начала
осциллографирования будет индицироваться в нижней строке окна.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ
Согласно МЕТОДИКЕ ВЫПОЛНЕНИЯ РАБОТЫ разработайте в
UltraLogik32 проект, моделирующий абстрактный процесс в виде резервуара, уровень
жидкости в котором (значение параметра регулирования) определяется
соотношением объёма втекающей и вытекающей из него жидкости.
Проект состоит из трёх программ:
Regul
ПИД-регулятор, управляющий объектом.
Object
Иммитатор объекта.
Dist
Генератор помехи.
Значение параметра стабилизации задается переменной Ref. ПИД-регулятор на
выходе формирует такое значение переменной Control, чтобы значение сигнала
обратной связи от объекта Sensor, было равно заданному значению стабилизации. На
управляющее воздействие Control накладывается помеха Dist, которую вырабатывает
генератор случайной помехи. Контур регулирования представляет из себя следующее:
Помеха
Dist
Объект
Sensor
K
Control
ПИД-регулятор
Ref
Рисунок 47 - Контур регулирования
Коэффициент реакции объекта К - характеризует время отклика Объекта на
регулирующее воздействие. Значение К должно быть в пределах: 0 < K < 1. Чем
меньше К, тем медленнее объект реагирует на регулирующее воздействие (т.е.
больше фазовый сдвиг в контуре регулирования).
Генератор помехи формирует на выходе сигнал, состоящий из суммы
постоянной и переменной составляющих, и имеет три параметра:
P_DIST
постоянная составляющая помехи.
A_DIST
амплитуда переменной составляющей помехи. Например, если
A_DIST=0.8, переменная часть изменяется в пределах от -0.8 до
+0.8.
K_DIST
характер изменения переменной составляющей. Чем меньше
K_DIST, тем медленнее изменяется переменная часть помехи.
ПИД-регулятор имеет три основных коэффициента:
Kp
коэффициент пропорциональности.
Ki
коэффициент интегратора.
Kd
коэффициент дифференциатора.
Кроме этого у интегратора есть дополнительные параметры:
Imin
минимальное значение интегратора.
Imax
максимальное значение интегратора.
Ival
начальное значение интегратора.
Изменяя пределы интегратора можно ограничивать накопление остаточного
рассогласования и тем самым влиять на характеристику выхода регулятора на режим.
Начальная предустановка может использоваться для безударного перехода
регулятора с ручного режима управления на автоматический. Значение переменной
dT определяет промежуток времени, за который берется дифференциал функции
обратной связи от объекта Sensor. Для медленных процессов время dT должно быть
больше, чтобы на дифференциатор не оказывали влияния высокочастотные помехи.
При ручном режиме работы, напрямую задается значение переменной Control. В
этом режиме ПИД-регулятор не оказывает ни какого воздействия на объект.
ВАРИАНТЫ ЗАДАНИЙ
Таблица 2
№
варианта
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
K
Kp
Ki
Imin
Imax
Kd
0,001
0,2
0,003
0,007
0,001
0,04
0,045
0,09
0,1
0,15
0,075
0,06
0,4
0,009
0,008
0,12
0,25
0,005
0,03
0,006
100
120
70
80
110
150
135
105
95
85
115
130
145
140
100
90
80
140
120
60
0,01
0,015
0,02
0,014
0,021
0,019
0,1
0,02
0,025
0,015
0,013
0,016
0,018
0,074
0,09
0,017
0,095
0,018
0,016
0,06
-100
-110
-120
-80
-75
-95
-90
-100
-110
-150
-140
-120
-130
-80
-90
-100
-130
-140
-110
-70
+100
+110
+120
+80
+75
+95
+90
+100
+110
+150
+140
+120
+130
+80
+90
+100
+130
+140
+110
+70
5000
4550
5310
5200
4900
5300
5010
4800
4700
5100
4400
5250
4650
4750
4600
5150
4850
5090
5340
5060
A_DIST K_DIST
1
0,8
0,9
1,1
1
0,7
0,8
1,1
0,9
0,85
0,95
1,1
1,05
0,7
0,8
0,9
1,2
0,8
0,75
1,05
0,1
0,09
0,11
0,12
0,1
0,09
0,2
0,14
0,17
0,13
0,19
0,18
0,08
0,15
0,14
0,1
0,11
0,09
0,08
0,12
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Назначение и основные характеристики среды UltraLogik32.
2. Архитектура и составные части системы.
3. Сетевые возможности UltraLogik32.
P_DIST
0,5
0,4
0,6
0,7
0,3
0,5
0,4
0,6
0,4
0,5
0,6
0,8
0,7
0,9
0,5
0,4
0,8
1
0,9
0,5
Алгоритм разработки проекта в UltraLogik32.
Как производится заполнение списка переменных?
Как осуществляется разработка программ?
Порядок конфигурирования микроконтроллера.
В чем заключается компиляция проекта, и какие компиляторы
используются системой?
9. Для чего используется режим Эмуляции?
10. В каких режимах работает отладчик и каково назначение этих
режимов?
4.
5.
6.
7.
8.
ЛИТЕРАТУРА
1. Основные функции UltraLogik. Руководство пользователя. Книга 1.
2. Описание библиотек FBD. Руководство пользователя. Книга 2.
3. Контроллеры модели IBM-PC compatible. Руководство пользователя.
Книга 3.
Дисциплина
ЦМ
“Применение
ЭВМ в системах управления”
Красноярск 2005 г.
Download