Задача: регулировка скорости расхода жидкости через электромагнитный клапан в
зависимости от температуры.
Органы управления:
Тумблер №1 - Авт/Блок разрешает или выключает работу регулятора (на выходе 0)
Тумблер №2 - Авт/Ручн переключает автоматическое управление отбором на ручное
Кнопка "MODE" - выбор режима настройки
Кнопка "PLUS"
Кнопка "MINUS"
После нажатия кнопки "PLUS" дисплей показывает скорость расхода [ml/час].
После нажатия кнопки "MINUS" дисплей показывает температуру.
Принцип формирования управляющего клапаном импульса:
d=n*p/1024
Где
d - время на которое клапан открыт
p - периодичность включения клапана
n - число от 1 до 1024
Предусмотрены два режима работы:
1. При ручном управлении просто задаем число n0.
Длительность импульса открытия клапана зависит только от настроек и не зависит от
температуры.
d=n0*p/1024
На индикаторе отображается скорость расхода О=k*n0
Где k - коэффициент.
2. При автоматическом режиме такая работа:
d=n*p/1024
Где n это текущее значение.
- при переключении с ручного управления на автоматический (тумблер) запоминается текущая
температура t0, регулировка производится относительно нее и текущее значение n
начинается с n0.
- при текущей температуре t=t0+t1 и меньше текущее n увеличивается на n1.
- при текущей температуре t=t0+t2 и больше текущее n уменьшается на n1.
- в диапазоне от t0+t1 до t0+t2 текущее n не изменяется.
- при достижении текущей температуры t=t0+t3 текущее n=0 (клапан закрывается),
на выходе BUZ формируется 1 длительностью 30 сек.
- коррекция значения текущего n производится с периодичностью р1.
На индикаторе отображается скорость расхода О=k*n
В настройках задаем:
р [сек] от 0,5 до 10 с дискретностью 0,5.
р1 [сек] от 5 до 600 с дискретностью 5.
n0 число от 1 до 1024 с дискретностью 1.
n1 число от 1 до 100 с дискретностью 1.
k число от 0,1 до 10 с дискретностью 0.01.
t1 [град] от 0,01 до 1,0 с дискретностью 0,01.
t2 [град] от 0,01 до 1,0 с дискретностью 0,01.
t3 [град] от 0,01 до 1,0 с дискретностью 0,01.
Остальные сигналы:
При A/R = 1 автоматический режим
A/R = 0 ручной режим
При BLOC = 1 контроллер работает
BLOC = 0 клапан закрыт ( OUT = 0 ), на индикатор выводится "bloc" в случае индикации О.
При неисправности датчика температуры на выходе BUZ формируется 1 длительностью 30 сек,
на индикатор Err (при индикации температуры), клапан не блокируется.Добавлено (12.03.2014, 01:08)
---------------------------------------------
Собственно почти все работает. Требуется кое что подправить.
Принципиальные моменты.
1. Сейчас регулирование идет по такому принципу:
Если t=t0 + 0,09 и больше n уменьшается на n1
Если t=t0 + 0,03 и меньше n увеличивается на n1
При достижении t=t0 + 0,12 - bloc
Необходимо вместо констант 0,03; 0,09 и 0,12 ввести переменные задаваемые в настройках.
Например t1;t2 и t3 с установками от 0,01 до 1,0 и дискретностью 0,01.
Добавить формирование сигнала BUZ=1 при достижении t=t0+t3.
2. В связи с тем, что время реакции колонны на изменение числа n реально составляет
3-5 минут необходимо увеличить диапазон установки параметра Р1 до 600.
Доработки:
1. Включение устройства происходит при 0 на входе bloc.
Индикатор показывает bloc.
Если перевести сигнал на входе bloc в 1 гаснет индикатор.
Запускается индикация кнопкой MODE. В дальнейшем все работает нормально, т.е.
при разных значениях сигнала на входе bloc индикатор работает.
2. При сигнале на входе bloc равный 0 на индикаторе "bloc". При этом устройство
реагирует на нажатие кнопок, но значения на индикатор не выводятся.
Надо что бы:
При режиме индикации расхода (после нажатия кнопки PLUS) на индикаторе отображались
или значение расхода (О) или bloc (если на входе bloc 0).
При режиме индикации температуры (после нажатия кнопки MINUS) на индикаторе
отображалась температура или Err (если ошибка датчика).
Вход в настройки их корректировка должны отображаться всегда.
3. Оказался лишним режим остановки расхода каждый час на 5 мин с последующей коррекцией
t0. Он еще и подвисал. Это надо убрать.
Все остальное отлично. Устоявшийся процесс четко стоит с точностью 0,01 град.
Изменение температуры происходит медленно, регулировка работает.