- •Разработка конфигурации контроллера Trident в пакете Tristation 1131.
- •Описание интерфейса Tristation 1131
- •1.2. Конфигурирование аппаратной части контроллера
- •1.3. Конфигурирование тегов контроллера
- •1.4 Написание программ для контроллера
- •1.5. Компилирование и отладка программ
- •2. Разработка scada системы iFix.
- •Дополнительная самостоятельная работа
- •4. Написание отчета и защита лабораторной работы
1.4 Написание программ для контроллера
Программа контроллера это минимальный исполняемый модуль контроллера. Создание программы представлено на следующих рисунках
Рис15 Создание новой программы контроллера
Рис16 Создание новой программы контроллера
При создании новой программы указывается ее уникальное имя, тип программы ( управляющая или системы противоаварийной защиты) и язык написания программы.
В нашем случае мы будем использовать языковое представление Function Block Diagram.
Создадим две программы. В программе BLOCK реализуем блокировочные алгоритмы по закрытию отсекателей при превышении уровня, программа MODELS будет содержать модели работы отсекателей (команда на отсекатель – выключение конечника текущего состояния – задержка 2 секунды – включение конечника нового положения), модель расходов от состояния задвижек и положения регулирующего клапана, накопления уровня в смесителе, а также регулятор уровня.
Каждая программа состоит из листов, на которых размещаются разрабатываемые программные элементы. Рекомендуется на каждом листе располагать логически самостоятельные алгоритмы. Управление листами осуществляется из панели инструментов.
Рис.17 Управление листами в программе
Возможно изменение формата листа и его ориентации.
|
|
Рис.18 Управление размерами и ориентацией листа
Создадим программу BLOCK. Определим на ней 3 листа, по листу на задвижку. Алгоритмы необходимые для реализации на каждом из листов представлены на следующих рисунках.
Рис. 19 Алгоритм листа XV1
При вставке на лист программы ссылки на переменную, для того, чтобы в дальнейшем, при отладке программы была возможность просматривать и изменять значения переменной непосредственно на листе программы, необходимо в свойствах ссылки на переменную указать следующее:
|
|
Рис. 20 Определение свойств ссылок на переменные в программе для их дальнейшего мониторинга и изменения в режиме исполнения
Для вставки функциональных блоков используется панель инструментов.
На данном листе представлены два идентичных по работе, но составленных из разных логических элементов, алгоритма блокировки отсекателя XV1 (При появлении сигнала о превышении уровня L_BLOCK в случае нормального состояния блокировочного ключа Key1, выдается команда на закрытие отсекателя, в противном случае используется команда оператора.
Для предотвращения одновременной работы обоих алгоритмов, один из них (верхний) размещен в качестве комментария. Для создания комме6нтарие используется Comment Tool и следующее окно.
Рис.21 Окно Comment Tool
При нажатии PickUp элементы внутри комментария не исполняются, при нажатии Drop они начинают вновь исполняться.
Рис. 22 Алгоритм листа XV2
Рис. 23 Алгоритм листа XV3
На листе XV3 добавлен алгоритм генерации дискретного сигнала о превышении уровня заранее заданного предела. Как видно из рисунка 20, для размещения нескольких несвязанных логических схем необходимо их разделять на цепочки (network) c помощью специальных разделителей.
Теперь рассмотрим программу MODELS.
На листе Zadvig размещены алгоритмы моделирования задвижек. Для каждой из задвижек используется один и тот же алгоритм, только с сигналами соответствующими для данной задвижки. Каждый из алгоритмов на листе находится в своей цепочке (network).
Рис. 24 Алгоритм листа Zadvig
И наконец, на листе Level осуществляется моделирование потоков от состояния задвижек, моделирование накопления уровня и реализован ПИД регулятор системы регулирования уровня.
Рис.25 Алгоритм листа Level
На следующем этапе необходимо назначить разработанные программы для исполнения в контроллере (см.рис.2).
