Тема / Topic: Команда на блок "ZDV" для сохранения предыдущей команды
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485
отправлено / posted
Проблема вот в чем. Есть отсечной клапан. Для его управления использую блок ZDV. В автоматическом режиме клапан должен работать, удерживая температуру в определенных рамках. То есть задаются верхняя и нижняя границы. При выходе за верхнюю границу задвижка должна закрыться, при выходе за нижнюю - наоборот открыться. В принципе все просто. Вначале ставлю блок "NLIM", который определяет в каком интервале находится параметр, затем ставлю блок "MUX" и в зависимости от того в каком интервале находится параметр принимаю нужное решение. Если в 1-ом (выше верхней границы), то на вход "CMD" блока "ZDV" подаю 2 (закрыть) Если во 2-ом, то на вход "CMD" подаю 1 (открыть). Вопрос в том, что подавать на вход CMD, если параметр находится в нужном диапазоне? По-идее 0 (остановить), но могут возникнуть проблемы: Вот ситуация: параметр только что вышел за верхнюю границу и нужно закрывать задвижку. На блок "ZDV" была послана команда закрыть. Пусть задвижка закрывается 10 секунд и пусть на 5-ой секунде параметр вернулся в нормальный диапазон (стал меньше верхней границы), и тогда на блок "ZDV" будет подано значение 0 (остановить), что совсем нежелательно. Нужно чтобы при посылке команды на закрытие клапана, клапан закрылся даже если изменится команда на входе блока "ZDV" (с 1 на 0, или с 2 на 0). Как это обычно делается?
Сообщения / Posts 150 | Из / From: Россия
| IP / IP: IP адрес / IP address |
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485
отправлено / posted
Попробовал подать на вход CMD отрицательное значение <-1 и в таком случае задвижка сохраняет свое предыдущее состояние. У такого способа есть недостатки?
Сообщения / Posts 150 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Как это она у Вас сохраняет предыдущее состояние? Между -1 и 2 разницы нет. -1 для того, чтобы можно было управлять как отрицательное и положительное значение. Проверил ситуации со всеми значениями, а также со значениями <-1, но описанный Вами эффект не обнаружен.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485
отправлено / posted
Я подаю на вход блока ZDV значение 1, младший байт выхода ALR показывает состояние "закрывается". Если в этот момент подать на вход значение -13 (температура вернулась в штатный диапазон), то старший байт выхода ALR также будет показывать, что клапан закрывается, что и требовалось.
Сообщения / Posts 150 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Да, но при этом % закрытия у Вас не меняется, возможны ошибки. Лучше триггером защелкивать код операции - это алгоритмически вернее.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |