Если это только на один цикл, то можно в ОРС сервере у каждого проблемного тега в скрипте после чтения разместить такой скрипт:
oldqual=OPC_QUALITY_COMM_FAILURE;
oldval=0;
-- инициализация
function OnInit()
end
-- деинициализация
function OnClose()
end
-- обработка
function OnRead()
val,qual=server.ReadCurrentTag();
if oldqual==OPC_QUALITY_BAD and qual==OPC_QUALITY_GOOD and val==0 then
server.WriteCurrentTag(oldval,oldqual);
end;
oldqual=qual;
oldval=val;
end