This is topic Команда на блок "ZDV" для сохранения предыдущей команды in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.
Проблема вот в чем. Есть отсечной клапан. Для его управления использую блок ZDV. В автоматическом режиме клапан должен работать, удерживая температуру в определенных рамках. То есть задаются верхняя и нижняя границы. При выходе за верхнюю границу задвижка должна закрыться, при выходе за нижнюю - наоборот открыться. В принципе все просто. Вначале ставлю блок "NLIM", который определяет в каком интервале находится параметр, затем ставлю блок "MUX" и в зависимости от того в каком интервале находится параметр принимаю нужное решение. Если в 1-ом (выше верхней границы), то на вход "CMD" блока "ZDV" подаю 2 (закрыть) Если во 2-ом, то на вход "CMD" подаю 1 (открыть). Вопрос в том, что подавать на вход CMD, если параметр находится в нужном диапазоне? По-идее 0 (остановить), но могут возникнуть проблемы: Вот ситуация: параметр только что вышел за верхнюю границу и нужно закрывать задвижку. На блок "ZDV" была послана команда закрыть. Пусть задвижка закрывается 10 секунд и пусть на 5-ой секунде параметр вернулся в нормальный диапазон (стал меньше верхней границы), и тогда на блок "ZDV" будет подано значение 0 (остановить), что совсем нежелательно. Нужно чтобы при посылке команды на закрытие клапана, клапан закрылся даже если изменится команда на входе блока "ZDV" (с 1 на 0, или с 2 на 0). Как это обычно делается?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Для этого можно использовать триггеры.
Posted by DreamWeaver (Участник № / Member № 1485) on :
Попробовал подать на вход CMD отрицательное значение <-1 и в таком случае задвижка сохраняет свое предыдущее состояние. У такого способа есть недостатки?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Как это она у Вас сохраняет предыдущее состояние? Между -1 и 2 разницы нет. -1 для того, чтобы можно было управлять как отрицательное и положительное значение. Проверил ситуации со всеми значениями, а также со значениями <-1, но описанный Вами эффект не обнаружен.
Posted by DreamWeaver (Участник № / Member № 1485) on :
Я подаю на вход блока ZDV значение 1, младший байт выхода ALR показывает состояние "закрывается". Если в этот момент подать на вход значение -13 (температура вернулась в штатный диапазон), то старший байт выхода ALR также будет показывать, что клапан закрывается, что и требовалось.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Да, но при этом % закрытия у Вас не меняется, возможны ошибки. Лучше триггером защелкивать код операции - это алгоритмически вернее.