НОВОЕ В СРЕДЕ РАЗРАБОТКИ ПО КОНТРОЛЛЕРОВ (ФБД) Ведущий специалист Департамента АСУ ТП Прошин А.И. (к.т.н.) В I квартале 2004 году выпущена новая (02.00) версия языка ФБД. Среда разработки ФБД, входящая в пакет программ КРУГ 2000, состоит из трех основных частей: • Редактор • Отладчик • Транслятор Редактор ФБД предназначен для создания и редактирования программ ФБД. В окне редактора ФБД отображается схема ФБД (набор графических элементов языка, соединённых элементом «Связь»). В процессе редактирования схемы редактор ФБД создает базу данных программы пользователя, используемую в дальнейшем транслятором. Пользователю предоставляется набор различных сервисных функций, таких как добавление, выделение, удаление элементов, задание свойств элементам и т.д. Окно редактора ФБД изображено на рисунке 1. Рисунок 1 - Окно редактора ФБД 1 Все схемы, относящиеся к одному технологическому объекту, находятся в одном проекте, что дает дополнительные удобства в плане поиска необходимых элементов, комплексной проверки и отладки. Отладчик ФБД предназначен для поиска ошибок, допущенных при программировании. Отладка осуществляется в ручном или автоматическом режимах. Для удобства отладки пользователь может назначать точки останова. Моделирование различных ситуаций в процессе отладки может проводиться заданием значений переменных на схеме. Отладка может выполняться в циклическом и пошаговом режимах. Схема ФБД в режиме отладки изображена на рисунке 2. Рисунок 2 - Схема ФБД в режиме отладки Транслятор ФБД генерирует исполняемый код для текущей схемы и/или проекта ФБД. В дальнейшем, в зависимости от выбранной для проекта платформы, данный код может быть запущен либо на станции оператора, либо в контроллере. Сообщения о возникших при трансляции ошибках выводятся в специальном окне редактора (рисунок 3). В процессе трансляции одновременно формируется файл с расширением .lg, просмотр и редактирование которого возможно в редакторе СТ. Последовательность выполнения элементов ФБД осуществляется слева направо и сверху вниз. Рисунок 3 -Трансляция проекта ФБД 2 Элементами языка ФБД являются графические символы, с использованием которых строится схема ФБД. Основными элементами языка ФБД являются: • Переменная • Константа • Функция • Оператор «ЕСЛИ» • Оператор «ДЛЯ» • Процедура • оператор «ВЫХОД» Для связи между собой вышеперечисленных элементов языка ФБД используется элемент «Связь». Элемент «связь» – это элемент, устанавливающий связь между входами и выходами элементов ФБД. Данный элемент может соединять входа и выхода только одного и того же типа (логические, вещественные, целые, строковые). Правильность соединений проверяется на этапе назначения связи. Редактор ФБД не позволит соединить линией связи входа/выхода различных типов. Элемент «Связь» изображается в виде линии, идущей от выходного контакта одного элемента к входному контакту другого (рисунок 4). Элемент "Линия связи с инверсией" Элемент "Линия связи" Пересечение линий связи от разных источников Разветвление линий связи от одного источника Рисунок 4 - Элемент «Связь» Элемент «Переменная» отображается в виде удлиненного прямоугольника, содержащего имя переменной (рисунке 5). К данному блоку могут быть привязаны параметр базы данных (переменные ВА, АВ, ВД, ДВ, РВ) или промежуточная переменная (ПЛ, ПЦ, ПВ). Если вход элемента «Переменная» соединён элементом связь с другим элементом схемы, то переменной, привязанной к данному блоку, предшествующего элемента. 3 присваивается значение выхода Соединением выхода данного элемента со входом последующего осуществляется передача значения переменной, привязанной к данному блоку, следующему блоку. Рисунок 5 - Элемент «Переменная» Элемент «константа» – это блок, которому присваивается какое-либо значение пользователя. Это значение с помощью элемента «Связь» подается на вход других элементов. Отображается в виде удлиненного прямоугольника, содержащего имя назначенной константы (рисунок 6). Рисунок 6 - Элемент «Константа» Элемент «функция» - это блок, реализующий функции, входящие в библиотеку языка ФБД. Элемент «Функция» может иметь или не иметь входа/выхода. Функциональный блок изображается в виде прямоугольника, содержащего имя функции (рисунок 7). Входа располагаются по левому краю блока, выхода – по правому. Каждый вход или выход функции имеет определенный тип (логический, вещественный, целый, строковый) и название. Рисунок 7 - Элемент «Функция» Функции, входящие в библиотеку языка ФБД, перекрывают все основные функции международного стандарта IEC-611.31-3 по языкам программирования для технологических контроллеров. 4 Для удобства поиска они разбиты на группы, среди которых логические, математические, сравнения, таймеры, циклы, ветвление по условию и т.д. В библиотеку входят и ряд специальных функций, во многих случаях облегчающих разработку схем ФБД, такие как управление задвижкой, расчет времени наработки оборудования, функции учёта теплоносителя и тепловой энергии, функции учёта газа и т.д. Элемент «Оператор ЕСЛИ» служит для организации ветвления в программе по условию. Он изображается в виде прямоугольника, разделенного на две части. Если условие выполняется, то происходит выполнение элементов и функций схемы ФБД в верхней части блока, иначе, выполняются элементы и функции схемы ФБД в нижней части блока (рисунок 8). Рисунок 8 - Элемент «Оператор ЕСЛИ» Элемент «Оператор Для» предназначен для организации циклического выполнения операций схемы ФБД (рисунок 9). Рисунок 9 - Элемент «Оператор ДЛЯ» Элемент «Процедура» используется для вызова программы, находящейся во внешнем файле (рисунок 10). Из схемы ФБД возможен вызов как программ на языке СТ, так и схем ФБД. После выполнения вызванной программы продолжается выполнение текущей. Рисунок 10 - Элемент «ПРОЦЕДУРА» 5 Элемент «Выход» используется для досрочного завершения процедуры (рисунок 11). Рисунок 11 - Элемент «ВЫХОД» Апробация В 2004 году на ФБД выполнены все программы защит и блокировок полномасштабной АСУТП турбоагрегата №4 Пензенской ТЭЦ-1. Выводы. Значительно расширены возможности среды разработки программного обеспечения ПТК КРУГ-2000 за счёт появления новой версии языка ФБД. Схемы, представленные в виде блочных диаграмм, наглядны и просты для анализа и отладки. Язык ФБД системы КРУГ-2000 соответствует требованиям стандарта IEC-611.31-3 по языкам программирования для контроллеров, постоянно совершенствуется, удобен в эксплуатации и прошёл апробацию при внедрении реальной АСУТП. 6