- •Введение
- •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.
Приложение л Принципы программирования
Идеология программирования очень важна. Ниже излагаются принципы программирования на языке FBD и CFC, знание и применение которых уменьшает ошибки при программировании, упрощает отладку программ, значительно снижает трудоёмкость при эксплуатации системы. Если программа составляется на языке функциональных блоков, то целесообразно придерживаться следующих принципов при её написании.
1. Принцип функциональной полноты. Алгоритм и программа контроля и регулирования должны максимально реализовывать функции объекта управления (ОУ). Сюда входит учёт перспективных функций или задач. Введение новой функции не должно изменять (существенно) структуру программы. Структура программы должна содержать проверку входной и выходной информации на достоверность, отражать логику нормального функционирования ОУ, предусматривать анализ предаварийных состояний и аварийных ситуаций, содержать блоки прогноза вероятных нарушений и формирования рекомендаций обслуживающему персоналу или операторам технологического процесса, передачу и приём информации по локальной сети, связь с верхним уровнем (с АРМами).
2. Принцип единообразия в шифрации, нумерации и расположении алгоритмических блоков (алгоблоков), выполняющих одну или несколько взаимосвязанных функций. Расположение и их нумерация должны отражать последовательность преобразования информации.
3. Принцип нежёсткой нумерации. Между конечными и начальными номерами очередной группы алгоблоков, реализующих одну или несколько взаимосвязанных, но разных функций должны быть резервные номера алгоблоков (свободные). Обычно не более трёх-пяти.
4. Принцип идентичности нумерации блоков в группах. Нумерация каждой группы блоков, реализующих одинаковые функции, должна быть идентична. Например, первая группа имеет нумерацию от 10 до 19, тогда вторая – от 20 до 29 и т.д.
5. Принцип вероятного изменения модификатора. При расположении алгоблоков друг под другом следует учитывать возможность изменения размера модификатора в сторону увеличения (на один размер). Этот принцип работает в тех средах и на тех контроллерах, где введён модификатор и его суть совпадает с сутью, которая заложена в понятие модификатор в контроллере Р-130, КР-300.
6. Принцип красоты геометрического расположения алгоблоков. Границы группы алгоблоков должны располагаться на одной линии, чтобы можно было проводить информационные кабели (связи между алгоблоками) без дополнительных зигзагов и пересечений.
7. Принцип промежуточного программного клеммника. Введение в программу промежуточных алгоблоков при вводе информации, или по-другому их назовём промежуточные «клеммники». Данный приём программирования позволяет оперативно переходить на резервный канал, не корректируя связи в самой программе.
8. Принцип распределённого программирования задач контроля и регулирования технологическим оборудованием, имеющим резерв. Нельзя параллельное резервирование технологического оборудования сводить к последовательному включению (с точки зрения резервирования) за счёт реализации программы управления резервным оборудованием в одном контроллере. В данном случае должно быть обязательно дублирование и аппаратных средств (контроллеров, блоков питания).
9. Принцип максимальной информационной автономности реализуемой задачи. Программа, обрабатывающая связанные параметры, должна располагаться в контроллере, к которому эти параметры подключены. Этот принцип позволяет распределять, в случае необходимости, связанные параметры по контроллерам так, чтобы отказ любого контроллера, работающего в локальной сети, не влиял на работоспособность другого контроллера (другой программы), или это влияние было бы несущественным. Если группа параметров необходима для выполнения одной или нескольких взаимосвязанных задач, то эти параметры должны быть заведены через устройства связи с объектом (УСО) на один контроллер.
Поясним несколько принципов на примерах, фрагментах программ. Так как предлагается общий подход, то конкретная программа не имеет значения.
Приведём условную последовательность алгоблоков, реализующих управление задвижкой. Рассмотрим на примере управления двумя задвижками Z1 и Z2. Обычно алгоритм, программу описывают для первой задвижки. Допустим в алгоблоке А1 находится элемент И, осуществляющий защиту от некорректной команды. Например, делается сформировать команду открыть, когда задвижка открыта. В алгоблоке А2 находится таймер, контролирующий время открытия задвижки. И т.д. Если взять теперь вторую задвижку, то, несмотря на то, что с первого взгляда они имеют другую нумерацию, суть та же самая и та же нумерация алгоблоков. Возьмём алгоблок А22. Если отнять 20, то получим А2. Это же таймер, контролирующий открытие задвижки, только не Z1, а Z2. Следует обратить внимание на то, что в нумерации имеются разрывы. Такие разрывы, или наличие фиктивных блоков, позволяют вносить корректировки, добавления без перенумерации всех алгоблоков. Мало того, если проектная документация готова, то это приведёт к огромным изменениям в проекте, где все описания и инструкции привязаны к конкретной нумерации.
Рис. 92. Иллюстрация применения принципа два и три
Принцип промежуточного программного клеммника
Приведём структуру программы в общем виде (рис. 93). Допустим, в нашем случае резервным каналом является канал номер восемь (Х8). В качестве промежуточного клеммника для каждого дискретного сигнала используют алгоритм ИЛИ, а для аналоговых сигналов – алгоритм масштабирования с коэффициентом масштаба равным единице.
Рис. 93. Фрагмет программы
На рис. 94 представлена та же программа, только с промежуточным программным клеммником.
Рис. 94. Фрагмент программы с клеммником
В случае отказа первого канала переходим на резервный аппаратно и программно. На рис. 95 показаны изменения в программе при наличии клеммника при переходе на резервный канал.
Рис. 95. Иллюстрация перехода на резервный канал
При наличии промежуточного клеммника делается одно изменение (одна конфигурация), без внесения изменений в саму программу. В программе переходим на резервный канал оперативно. Электрическое изменение, переключение на резервный канал, делается тоже просто.
Чтобы был понятен пятый принцип, поясним понятие модификатор на примере двухвходовой логики ИЛИ. Допустим, в одном алгоблоке может находиться до 20 элементов ИЛИ, но в нашей задаче требуется всего два элемента ИЛИ. В процессе работы часто возникает необходимость увеличить количество алгоритмов ИЛИ именно в этом алгоблоке, например ещё на два. Но увеличение в одном алгоблоке увеличит его размер. Если алгоблоки расположены достаточно плотно, то это вызовет перекомпоновку части схемы. Надо ли везде предусматривать увеличение размера алгоблока или вставки в это место дополнительного алгоблока? Конечно, нет. Это сдует делать в тех местах, где с большой вероятностью появится такая необходимость.
Принцип красоты геометрического расположения алгоблоков
В серьёзных проектах имеются много контуров регулирования с использованием, например, ПИ-регулятора, управления десятками задвижек и т.д. Желательно определиться с общей структурой регулятора, с общей структурой управления задвижкой. И тогда, глядя на большую программу, сразу узнаёшь – это регулятор, а это – блок управления задвижкой.
Изложенные принципы опубликованы в разных источниках [25]. В журнал «Программирование» в 2013г. направлена статья «Принципы программирования контроллеров на языке FBD».
Вполне возможно, что многие эти принципы разработчики используют подсознательно. Такой подход нашёл поддержку и одобрение у специалистов автоматчиков, обслуживающих АСУ ТП, где приходилось автору внедрять различные системы.
