Меню
Главная
Авторизация/Регистрация
 
Главная arrow Техника arrow АВТОМАТИКА
Посмотреть оригинал

Программирование логических контроллеров на языке функциональных логических блоков

Помимо языка программирования РКС для ПЛК существует и другой язык программирования, например, язык FBD (Function Block Diagram) — графический язык программирования стандарта IEC61131-3, который широко используется для программирования промышленных логических контроллеров. Программирование на языке FBD представляет собой размещение на рабочем поле программы набора различных библиотечных блоков, так называемых алгоблоков, и установление связи между ними. Каждый алгоблок имеет настройки, которые могут редактироваться для придания ему тех или иных свойств.

Рассмотрим язык программирования FBD на примере программно-технического комплекса (ПТК) KONTAR для автоматизации и диспетчеризации территориально распределенных объектов, выпускаемого Московским заводом тепловой автоматики (МЗТА). Комплекс состоит из трех микроконтроллеров: МС8, МС5 и релейного модуля MR8 фирмы Silicon Laboratories, которые объединяются в локальную сеть по интерфейсному каналу RS485. В этом случае контроллер МС8 является ведущим (Master), а остальные — ведомыми (Slaves). К контроллеру МС8 по интерфейсу RS-232C подключен модуль расширения МЕ4. Соединенные таким образом устройства (МС8 и МЕ4) представляют собой «расширенный» контроллер. Связь локальной сети с верхним уровнем управления осуществляется через Master- контроллер но каналу Ethernet (дословно но каналу «эфирной сети»), У всех этих микроконтроллеров одна система команд однокристального микроконтроллера семейства INTEL i8051, что дает возможность разрабатывать алгоритм функционирования любого из этих модулей в одной инструментальной системе — в пакете программирования KONGRAF. Свободно программируемые контроллеры делают легким решение многих задач автоматизации: от мониторинга нескольких технологических параметров до комплексной автоматизации зданий и групп сооружений.

Имеются исполнения контроллеров с симисторными и транзисторными выходными ключами. Контроллеры, имеющие симисторные выходные ключи, могут непосредственно управлять исполнительными механизмами клапанов, заслонок, магнитными пускателями и т.д. Контроллеры с транзисторными выходными ключами обычно устанавливаются в комплекте с релейными модулями MR8, которые выполняют функции усиления мощности и расширения дискретных входов. Входное напряжение переменное, 220 и 24 В. У контроллера МС8 имеется восемь универсальных аналоговых входов (AI) плюс четыре дискретных гальванически изолированных входа (DI), восемь дискретных выходов (DO) и два аналоговых выхода (АО). К дискретным выходам может быть подключена нагрузка с напряжением 48 В при потребляемом постоянном токе не выше 0,5 A/выход. Возможные диапазоны измерения сигналов аналоговыми выходами: от 0 до 20 мА постоянного тока на нагрузку не более 0,5 кОм; от 0 до 5 мА постоянного тока на нагрузку не более 2 кОм. В последнем случае напряжение на нагрузке изменяется от 0 до 10 В постоянного тока.

Программирование контроллера, т.е. создание, редактирование, отладка и компиляция программ, производится при помощи персонального компьютера с использованием пакета программирования KONGRAF в операционной системе Windows. Пакет программирования KONGRAF позволяет в наглядной графической форме запрограммировать желаемый алгоритм на основе предлагаемой библиотеки алгоритмов, в которой содержатся не только отдельные функциональные узлы, но и готовые проекты управления типовыми объектами.

Разработанный функциональный алгоритм (ФА) или выбранный готовый проект транслируется в исполняемый код в виде bin-файлов (например, на web-сервере изготовителя, доступном через сеть Internet). Загрузка ФА может происходить по интерфейс^5-232С посредством подключения программируемого контроллера к компьютеру или по сети Ethernet.

Рассмотрим проектирование программы в пакете KONGRAF для логической релейной защиты, приведенной на рис. 4.8. Начинаем с создания главного блока проекта, где в открывшемся окне (рис. 4.34) задаем Имя проекта и выбираем тип протокола. Далее на рабочее поле главного блока проекта помещаем те модули ПТК KONTAR, которые будут задействованы в проекте: это модули МС8 и МЕ20 (рис. 4.35). Они выбираются в меню - Библиотека функций —> Приборные блоки —> Контроллеры и перемещаются мышкой в окно главного блока проекта, в результате чего всплывают окна Создать новый прибор, где в поле Имя прибора задаем имена Реле защ. и Вход КА5, а в поле Тип — Контроллер МС8 и Модуль МЕ20. Модуль МЕ20 необходим для расширения дискретных входов контроллера МС8, который имеет четыре дискретных входа, а по схеме их требуется пять. Для настройки свойств блока 1.МС8 необходимо нажать правой кнопкой мыши на изображение этого блока и в открывшемся контекстном меню выбрать команду Свойства (см. рис. 4.35). При этом откроется диалоговое окно свойств этого блока, где задаются комментарий, заголовок, тин прибора или функции и сетевой номер (рис. 4.36). Во вкладке Блок, в поле Тип прибора/функции оставляем Контроллер МС8 и выбираем Тип MASTER, что значит «главный» (рис. 4.36). Для удобства работы можно изменять размеры рабочего поля для размещения алгоблоков, выбрав в главном меню команду Вид —> Рабочая область, и затем в открывшемся окне установить высоту и ширину поля.

Создание проекта в пакете KONGRAF

Рис. 4.34. Создание проекта в пакете KONGRAF

Библиотека функций и окно главного блока проекта

Рис. 4.35. Библиотека функций и окно главного блока проекта

Свойства вкладки Блок окна Свойства ФБ Контроллер МС8

Рис. 4.36. Свойства вкладки Блок окна Свойства ФБ Контроллер МС8

Во вкладке Входы/Выходы окна Свойства ФБ Контроллер МС8

устанавливается необходимое количество входов и выходов в поле Количество (рис. 4.37): для аналоговых входов AI — 0; для аналоговых выходов АО — 0; для дискретных входов DI — 5; для дискретных выходов DO — 3.

Приборный список создается на вкладке Списки нажатием кнопки «+», где соответствующие данные вводятся в поля Имя и Комментарий. Настройка свойства блока ME20-Slave происходит аналогично. После настройки свойств контроллеров МС8 и МЕ20 их вид в окне главного блока проекта показан на рис. 4.38.

Свойства вкладки Входы/Выходы окна Свойства ФБ

Рис. 437. Свойства вкладки Входы/Выходы окна Свойства ФБ

Контроллер МС8

Главный блок проекта после настройки

Рис. 438. Главный блок проекта после настройки

Затем, дважды щелкнув левой кнопкой мыши, следует открыть алгоритмический блок контроллера МС8 и «наполнить» его, т.е. создать алгоритм работы релейной защиты, перетаскивая из окна Библиотека в активное окно алгоритмического блока необходимые алгоблоки.

На рис. 4.39 приведены фрагменты начала создания алгоритма работы для логической релейной защиты, представленной на рис. 4.8. Параллельное подключение замыкающих контактов реле КА1, КА2 и К АЗ реализовано логическим элементом ИЛИ, взятым из библиотеки функций: Логические функции Основные функции —> ИЛИ —> Логическое ИЛИ.

Фрагмент начала создания алгоритма работы на языке FBD для логической релейной защиты

Рис. 439. Фрагмент начала создания алгоритма работы на языке FBD для логической релейной защиты

Далее нажатием правой кнопки мыши на изображение функционального блока ИЛИ следует выбрать в контекстном меню команду Свойства. При этом откроется диалоговое окно свойств этого блока.

На вкладке Параметры (рис. 4.40) установить:

для Q[ 1] — Имя КАР, Список Сигнал Q[ 1]; Список симулятора — поставить галочку и задать имя КА1, чтобы добавить параметр для симуляции; Значение TRUE (истина);

для Q[2] — Имя КА2; Список Сигнал Q[2]; Список симулятора

поставить галочку и задать имя КА2; Значение FALSE (ложь);

для Q[3] — Имя КАЗ Список Сигнал Q[3]; Список симулятора поставить галочку и задать имя КАЗ Значение FALSE (ложь).

Аналогично заполняются и другие функциональные блоки.

На рис. 4.41 показан алгоритмический блок контроллера МС8, где приведен полный функциональный алгоритм логической релейной защиты на языке FBD.

Перед записью программы в контроллер ее необходимо откомпилировать и проверить правильность ее работы на симуляторе, который находится в том же пакете KONGRAF. Если в программе будут обнаружены ошибки, то появится сообщение с их перечислением. После записи программы в контроллер правильность ее работы можно проверить при работе контроллера.

Свойства функционального блока Логическое ИЛИ

Рис. 4.40. Свойства функционального блока Логическое ИЛИ,

вкладка Параметры

Полный функциональный алгоритм логической релейной защиты

Рис. 4.41. Полный функциональный алгоритм логической релейной защиты

на языке FBD

В программе использован таймер — функциональный блок КТ Задержка включения с установленной выдержкой времени, равной времени ступени защиты 0,5 с. При подаче сигнала на вход КТ он начинает отсчитывать время. Когда пройдет заданное время, таймер выдаст сигнал замыканием своих контактов.

Желательно после создания каждой логически завершенной части алгоритма системы управления функционального блока провести симуляцию этой части алгоритма. Симуляция проводится с целью определения неточностей в проекте и оперативного их исправления до трансляции и загрузки исполняемого кода в модули ПТК KONTAR.

Для поиска необходимого параметра (которые ранее были включены в какие-либо списки) можно воспользоваться вкладкой Списки в окне Свойства ФБ Контроллер МС8. В список симулятора можно также включить параметры, которые не включены ни в один список.

Для просмотра всех параметров активного функционального блока (приборного или главного блоков), добавленных в список симулятора, вызывается окно симулятора: Проект —> Симулятор или нажатием кнопки ^ на панели инструментов. Параметры помечаются специальными маркерами. Красная стрелка вправо означает, что параметр является входным (его значение может быть изменено), синяя стрелка влево — выходным.

Настройка симулятора заключается в создании необходимого количества диаграмм для вывода графиков и размещении на них параметров, требуемых для отображения в графическом виде. К настройке относится также установка параметров времени цикла, времени, даты и длительности процесса. По умолчанию в окне симулятора содержится только одна диаграмма. В каждой такой диаграмме можно разместить неограниченное количество параметров. Для размещения параметра, его выбирают из списка параметров и, удерживая на нем левую кнопку мыши, перемещают на диаграмму. При этом внизу диаграммы появится имя этого параметра и цвет его будущего графика (выбирается автоматически).

Для создания новой диаграммы нажимают кнопку g| на панели инструментов. Окно диаграмм можно разбить также на страницы, на которых можно создать дополнительные диаграммы. Всего можно создать пять страниц и на каждой — не более пяти диаграмм. Для создания новой страницы нажимают кнопку Jy)J на панели инструментов.

На рис. 4.42 показано состояние схемы логической защиты при однофазном КЗ в точке К1 трансформатора Т1, когда сработало реле КА1 и не сработали реле КА4 и КА5. Состояние реле для симуляции было задано ранее. В этом случае промежуточное реле KL, дающее сигнал на отключение выключателя Q1, сработало без выдержки времени (таймер не начал отсчитывать время) и отключило выключатель Q1. Срабатывание защиты при КЗ в трансформаторе запоминается указательным реле КН1 (реализовано RS-триггером). Для съема сигнала защиты служит ФБ Задание логического значения.

На рис. 4.43 показано состояние схемы логической защиты при двухфазном КЗ в точке К2, когда сработали реле КА1, КА2 и КА4 и не сработала основная защита выключателя Q2. В этом случае промежуточное реле KL не срабатывает, и таймер КТ начинает отсчитывать время, равное 0,5 с. После отсчета заданного времени КТ подает сигнал на включение реле KL, которое отключает выключатель Q1, при этом срабатывает сигнального реле КН2. Защита выключателя Q1 в этом случае является резервной для защиты от замыканий за трансформатором в точке К2. Съем сигнала защиты производится ФБ Задание логического значения.

Окно симуляции логической релейной защиты Рис

Рис. 4.42. Окно симуляции логической релейной защиты Рис. 4.43. Окно симуляции релейной защиты с указательными с указательными реле. Отключение без выдержки времени реле. Отключение с выдержкой времени выключателем Q1 однофазного КЗ в трансформаторе Т1 двухфазного КЗ в точке К2

Сравнивая программирование на языке релейно-контактных схем (РКС) и на языке функциональных логических блоков (FBD), можно отметить, что в последнем случае программа получается более наглядной. Однако это справедливо лишь при небольшом количестве блоков и входных сигналов. Если же их число велико, то более наглядной становится программа на языке РКС. Какую среду программирования ПЛК выбрать, должен решать сам читатель.

 
Посмотреть оригинал
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы