- •Введение
- •1. Технические характеристики контроллеров
- •2. Структура алгоблока. Последовательность обслуживания алгоблоков
- •2.1. Структура алгоблоков
- •2.2. Последовательность обслуживания алгоблоков
- •3. Простой пид-регулятор
- •3.1. Алгоритмы, входящие в состав простого регулятора
- •3.2. Безударные переключения регулятора
- •3.3. Назначение и оценка зоны нечувствительности
- •Око (01) – Оперативный контроль регулирования
- •4. Модификация пид-регулятора
- •5. Программный регулятор с прз
- •Координаты графика алгоритма прз
- •6. Программный регулятор с кус
- •Координаты графика (кусочно-линейной функции) алгоритма кус
- •7. Регулятор с переменной структурой
- •7.1. Комбинированный регулятор с переменной структурой
- •7.2. Реализация привязки по каналу возмущения
- •Контур 01 (первый алгоблок). Привязка входов алгоритма око
- •Контур 02 (второй алгоблок). Привязка входов алгоритма око
- •8. Регулятор повышенной надёжности
- •8.1. Конфигурационная таблица программы 1
- •8.2. Программа защиты по аналоговому каналу
- •Представление информации на лп контроллера р-130
- •8.3. Конфигурационная таблица программы 2
- •8.4. Алгоритм простого блока мажоритарного выбора
- •8.5. Программа простого алгоритма мажоритарного выбора
- •9. Сар соотношения растворов реагентов
- •9.1. Простой регулятор соотношения
- •9.2. Программа регулирования соотношения расходов
- •9.3. Регулятор соотношения с переключением каналов
- •10. Регулятор с автоподстройкой
- •11. Каскадный регулятор
- •12. Регулятор обратного действия22
- •12.1. Формирование запрета
- •12.2. Конфигурационная таблица
- •13. Таблицы приёма, передачи и отображения параметров
- •13.1. Спецификация разработанных программ
- •13.2. Отображение информации на лп контроллера 02
- •13.3. Таблица перечня параметров
- •13.4. Передача информации в сеть «Транзит»
- •13.5. Приём информации из сети «Транзит»
- •13.6. Отображение информации на лп контроллера 03
- •14. Организация связи сети контроллеров с верхним уровнем
- •15. Документы, прикладываемые к по сар
- •16. Пути совершенствования сар на базе контроллеров
- •16.1. Повышение эффективности кросс-средств
- •16.2. Пути совершенствования библиотек алгоритмов
- •Заключение
- •Список Литературы
- •Приложение а Модули усо
- •Типы модулей усо
- •1. Входные аналоговые сигналы
- •2. Аналоговые выходные унифицированные сигналы
- •3. Входные дискретные сигналы
- •4. Дискретные выходные сигналы
- •Погрешность модулей усо
- •Приложение б Диапазон изменения сигналов и параметров
- •Приложение в Типы сигналов и их соответствие
- •Взаимное соответствие типов сигналов
- •Приложение г Справочная информация по алгоритмам
- •Принятые сокращения
- •Приложение д Ряд Пада
- •Проверка на достоверность аналоговых сигналов
- •Функциональный блок запоминание
- •Функциональный блок ограничение скорости
- •Приложение з Выбор исправного канала из двух
- •Функциональный блок ноль-орган
- •Функциональный блок расчета скользящего среднего
- •Функциональный блок переключатель трехканальный
- •Контрольные вопросы по темам
- •Тема: Реализация аналоговых систем управления
- •Тема: Организация информационного обмена контроллера с пэвм
- •Приложение к Задания по обратному программированию
- •Приложение л Принципы программирования
- •Приложение м Блок циклической индикации
- •Лицевая панель регулирующей модели
- •Приложение н Фрагменты работы Быкова а.Ю.
- •Оглавление
- •Севастьянов Борис Георгиевич Реализация законов аналогового регулирования на контроллерах
- •404110, Г. Волжский, пр. Ленина, 69.
- •404110, Г. Волжский, пр. Ленина, 69.
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 в алгоритмы ОКР, НОР и ряд других внесли изменения не в лучшую сторону.
Вопросы, затронутые в этом разделе, должны явиться толчком для продолжения исследований в области кросс-средств и совершенствования библиотек алгоритмов промышленных контроллеров.
