Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119
отправлено / posted
Существует простая задача: при выходе значения любого из нескольких каналов за аварийные(предупредительные и прочие) границы должен "зазвенеть звонок", который можно выключить и он должен молчать, пока то же не произойдет с другим каналом. В первых релизах это решалось просто - засовываешь эти каналы в один объект, делаешь канал "ОБЪЕКТ, Недостоверность" и если его значение увеличилось включаешь звонок. Теперь же алгоритм рассчета этого канала изменился и по нему можно только определить, либо есть авария по одному или более каналам, либо по всем. А вот то, что их стало больше или меньше - это проблема.
У меня есть другое решение, но оно очень трудоемко и требует задействовать процедуру Управление в каждом канале.
отправлено / posted
Алгоритм работы канала ОБЪЕКТ-Недостоверность никогда не менялся. 4-6 биты этого канала (тип должен быть INPUT) возвращают суммарно (логически) интервалы ПРЕДУПРЕДИТЕЛЬНЫЕ, АВАРИЙНЫЕ и ЗАШКАЛИВАНИЕ соответственно. Бит 0 – логическая сумма аппаратных недостоверностей каналов ОБЪЕКТА, бит 1 – логическое произведение аппаратных недостоверностей каналов ОБЪЕКТА; Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
VICTOR S
Forum Haunter / Завсегдатай форума
Участник № / Member № 766
отправлено / posted
похожая задача: несколько каналов с уставками объединил в один объект, создал канал "ОБЪЕКТ,НЕДОСТОВЕРНОСТЬ". Возникает ситуация, когда один сигнал вышел, например, за предупредительную уставку (ОБЪЕКТ,недостоверность изменил свое значение), затем за предупредительную уставку выходит другой сигнал, ОБЪЕКТ, недостоверность почему-то не меняет своего значения (при этом бит1 и бит2=0, бит5=1). Следовательно, отследить такую ситуацию по данному каналу невозможно? Действительно, задача становится трудоемкой ( управление по каждому каналу и т.п).
Сообщения / Posts 111 | Из / From: РОССИЯ
| IP / IP: IP адрес / IP address |
отправлено / posted
Да - при выходе любого из параметров за границы групповой контроль программной недостоверности осуществляется только по логическому суммированию типа OR. Для этого необходимо создавать специальную FBD-программу, которая будет контролировать выход за границы одного или нескольких каналов в группе по их атрибуту Интервал.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
VICTOR S
Forum Haunter / Завсегдатай форума
Участник № / Member № 766
отправлено / posted
Возможно отнести этот вопрос к пожеланиям для будующих версий? По моему, логично каналом ОБЪЕКТ НЕДОСТОВЕРНОСТЬ отслеживать не только наличие в объекте каналов вышедших за уставки, но и изменения в их количестве. Сообщения / Posts 111 | Из / From: РОССИЯ
| IP / IP: IP адрес / IP address |