Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Реализация законов аналогового регулирования на контроллерах-МЭИ.doc
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
7 Мб
Скачать
☆

16.2. Пути совершенствования библиотек алгоритмов

Алгоритмическая часть контроллера является важнейшей для создания надёжных и эффективных АСУ ТП. Затрагиваемая здесь тема требует дополнительного анализа и написания отдельного пособия. Автор счёл необходимым обратить внимание на важность данного направления [34].

Работа с библиотекой контроллера Р-130 и библиотеками других контроллеров навела на мысль о необходимости совершенствования этих библиотек. Должны соблюдаться основные принципы построения алгоритмов: единства обозначений аналогичных функций, команд, переменных; единства нумераций входов и выходов; по умолчанию должны устанавливаться те значения параметров, которые наиболее вероятны, часто используются и согласуются со здравым смыслом; однозначность реагирования одного и того же алгоритма на одинаковую команду, прозрачность алгоритмов (то есть должны быть не только входы-выходы, а сам алгоритм преобразования информации) и т.д. Рассмотрим некоторые моменты на примерах библиотек контроллеров Р-130, КР-300. Для сокращения пояснений описания приводятся алгоритмы из библиотеки как есть и как он должен выглядеть. Начнём с задатчика – алгоритма ПРЗ (рис. 13). По ходу изложения высказываются критические замечания не для исправления существующих библиотек, а для создания нового программного обеспечения, не повторяющего «старые» ошибки.

ПРЗ – Программный задатчик

Рис. 45

На входе имеем команды: Сп – пуск; Сст – стоп; Ссбр – сброс. интуитивно всё понятно. Начинаем анализировать принцип построения кусочно-линейной функции (график изменения задания): по оси Х координаты надо задавать в приращениях (рис. 14, с.22); при работе контроль времени от начала работы программного регулятора отсутствует. На рис. 46 показано, как должна строиться (задаваться) кусочно-линейная функция.

Рис. 46

ТМР – Таймер

Рис. 47. Исходный алгоритм

Следует заметить, что модификатор в таймере задаёт количество пороговых элементов (нуль-органов), а таймер – один. Как только программа с ТМР загрузится в ОЗУ, алгоритм ТМР начинает работать сразу, то есть его не надо пускать. В учебных пособиях [25, 26] указывалось, что такая работа алгоритма может приводить к авариям и получению инвалидности рабочих, наладчиков. Ведь в ПРЗ имеются три команды, почему же здесь – две? Вторая ошибка – с точки зрения системотехники. Зачем для данного алгоритма второстепенный выход текущего времени таймера выдавать по первому выходу? Это приводит с смещению на единицу при конфигурировании (см. реализацию циклограмм [27]). Программист находится в постоянном напряжении. Конечно, в этом случае разработчик не по злому умыслу реализовал такой недружественный человеко-машинный интерфейс. Если анализировать современные программные средства, например CoDeSys, то, на взгляд автора, и там имеются необъятные возможности для совершенствования. Продолжим наш анализ и рассмотрим его результат для алгоритма ТМР. На рис. 48 представлен модифицированный таймер.

Рис.48. Алгоритм ТМР после модификации

Добавлена команда Пуск Сп. В этом случае таймер алгоритма должен начинать работать не сам, а только после подачи команды «Пуск». Изменена нумерация и выходных сигналов. Выход с таймера опущен в конец (m + 1 – выход). При такой реализации алгоритма станут проще и нагляднее программы, уменьшатся ошибки при проектировании и эксплуатации программного обеспечения, что повышает надёжность систем автоматического контроля и управления.

СЧТ – Счётчик

Рис. 49. Исходный алгоритм

Рис. 50. Алгоритм СЧТ после модификации

В алгоритме СЧТ команда «Пуск» не нужна, так как счётчик начинает считать, когда появляются на входе импульсы. Поэтому команда Пуск отсутствует. Команды Сст и Ссбр можно подвинуть вверх.

ОДВ – Одновибратор

Рис. 51. Исходный алгоритм

Рис. 52. Модифицированный алгоритм

В начале раздела дана расшифровка сокращений и обозначений: Сп – команда ПУСК; Ссбр – команда СБРОС; Т – время, определяющее длительность импульса. Алгоритм ОДВ тоже должен иметь модификатор, как это реализовано в контроллере КР-300. Следует тщательно проверять все используемые алгоритмы, прежде чем использовать их в программах и системах, особенно для объектов повышенной опасности. Например, об ошибке в работе алгоритма ОДВ из библиотеки алгоритмов контроллера Р-130, указывалось в пособиях [26, 27].

МУВ – Мультивибратор

Рис. 53. МУВ исходный Рис. 54. МУВ после модификации

НОР – Нуль-орган

Рис. 55

Алгоритм НОР может использоваться в блоке сигнализации [Error: Reference source not found]. В качестве Хб принимают (задают) верхнюю технологическую границу (ВГ). Хм соответствует нижней технологической границе (НГ). Х – величина гистерезиса задаётся исходя из погрешности измерительного канала. На рисунках показана суть работы сигнализации без гистерезиса и с его наличием. Данный алгоритм нареканий не имеет. К сожалению, многих полезных алгоритмов нет в имеющихся в институте библиотеках алгоритмов ПЛК-150, 154 и др. Поэтому они создаются на языке CFC в CoDeSys. Например, блок с функциями, аналогичными алгоритму НОР, представлен на рис. 56. Аналогичный алгоритм пришлось разработать и для контроллера ILC 130 ETH (Phoenix Contact) среде разработки PC WORX.

Рис. 56. Программа НОР-органа

Vg – верхняя граница; ng – нижняя граница; gist – величина гистерезиса; wg – признак нарушения верхней границы; vng – признак нарушения нижней границы.

ПОК – Пороговый контроль

В каждом канале входной сигнал Хi сравнивается с двумя уставками: верхней Хв,i и нижней Хн,i. Если Хн,i < Хi < Хв,i, то дискретный сигнал на выходе канала равен логическому 0. В противном случае этот сигнал равен логической 1.

Если хотя бы один из контролируемых сигналов достигнет заданной для него уставки (порога), выходной сигнал D = 1, иначе D = 0. На выходе N формируется номер входного сигнала i, в котором сигнал Хi <= Хн,i или Хi >= Хв,i. В каждом канале предусмотрен фиксированный гистерезис равный 0,2 %.

Если одновременно несколько сигналов достигли уставки, N равно младшему номеру из этих сигналов.

Исходя из общего подхода при создании новой библиотеки алгоритмов выход перенесём вниз. И в каждом канале добавим гистерезис. У алгоритма НОР в каждой ячейке предусмотрено задание гистерезиса, рис. 57. Получается, что у одних пороговых элементов предусмотрена возможность задания величины гистерезиса по каждому каналу, а у этого алгоритма нет. Чем алгоритм ПОК хуже?

Следует отметить, что у большинства контроллеров весьма слабые алгоритмы статистической обработки сигналов. Отсутствуют корректные алгоритмы регрессионного анализа, оценки коэффициентов корреляции, корреляционных функций, алгоритмы спектрального анализа. Должна иметься возможность осуществления настроек регуляторов различными методами [6, 22, 35, 107, 108, 109, 111, 115, 119, 120] с указанием алгоритма настройки (в методических целях и в целях возможного совершенствования предложенных разработчиком алгоритмов). Системы моделирования должны учитывать особенности конкретного контроллера (точность задания параметров и настроек, время цикла и др.).

Рис. 57. Исходный алгоритм ПОК

Рис. 58. Модифицированный алгоритм ПОК

Значения параметров и настроек по умолчанию должны задаваться такими, которые наиболее часто используются, являются наиболее вероятными.

Возьмем алгоритм ОКО контроллера Р-130. Модификатор m здесь не связан с количеством алгоритмов в одном алгоблоке, а используется для установки

режимов работы регулятора (ниже приведена часть таблицы, табл. 21). Казалось бы, следовало бы установить значение 03, но нет – по умолчанию установлен ноль. Поэтому каждый раз при вызове алгоритма ОКО надо не забыть поставить модификатор равный трём. Если оставить модификатор равный нулю, то режим внешнего задания и режим дистанционного управления будут недоступны. Просто так изменить модификатор нельзя, потребуется удалить этот блок, вновь вызвать данный алгоритм и установить новый модификатор и восстановить все связи, так как после удаления все связи тоже удаляются.

Таблица 21

Вид

регулятора

Режимы

Модификатор

в алгоритме ОКО m

внешнего задания (внш)

дистанционного управления (дст)

Обычный

аналоговый

–

–

+

+

–

+

–

+

00

01

02

03

Возьмём алгоритм ввода интерфейсный, алгоритм ВИН. В контроллере КР-300 на всех входах установили по умолчанию значение равное единице. Зачем принимать в контроллер несколько раз одно и то же значение? В контроллере Р-130 сделано гораздо лучше. В алгоритме ВИН по умолчанию задан ряд натуральных чисел: 1, 2, 3 и т.д. К сожалению, в контроллере КР-300 в алгоритмы ОКР, НОР и ряд других внесли изменения не в лучшую сторону.

Вопросы, затронутые в этом разделе, должны явиться толчком для продолжения исследований в области кросс-средств и совершенствования библиотек алгоритмов промышленных контроллеров.