O deadlock de muting que prendeu um carro dentro do seu próprio campo de segurança
Uma cortina de luz SICK fez o trabalho dela e prendeu o carro que foi construída para deixar passar. A armadilha, a correção que tentei e o buraco que ela abriu.
Uma tradução no seu idioma ainda não está pronta — exibindo o original em inglês.
Este artigo foi escrito originalmente em inglês. A tradução foi feita por uma IA e pode conter erros.
Uma cortina de luz tem um trabalho: parar a máquina quando uma pessoa está onde não deveria estar. Num arranjo de muting em que trabalhei, ela fez esse trabalho. E prendeu o carro que tinha sido montada justamente para deixar passar.

O que estávamos protegendo
Um carro de transporte ia e voltava por uma zona protegida. A proteção era uma cortina de luz SICK deTec4 com um controlador de muting DMM4 levando o sinal de segurança para um CLP Siemens.
Uma cortina de luz na frente de um carro em movimento tem um problema óbvio. O carro interrompe os feixes toda vez que passa. Se a cortina trata o carro como uma pessoa, a máquina dispara a cada ciclo e nada se move. A cortina precisa deixar o carro passar e mesmo assim pegar pessoas. É isso que o muting faz.
Por que o muting existe
Muting é a suspensão deliberada, automática e temporária de uma função de segurança para que um objeto esperado atravesse um dispositivo de proteção sem parar a máquina, enquanto uma pessoa continua não podendo. É uma função definida, com normas por trás. A cortina de luz em si se enquadra na IEC 61496, a aplicação do muting é coberta pela IEC 62046, e o nível de desempenho que a função de segurança inteira precisa atingir vem da ISO 13849.
Distinguir um carro de uma pessoa se faz com sensores de muting. Sensores separados, dispostos de modo que só o objeto esperado, chegando do jeito esperado, consegue satisfazê-los. Padrão certo na ordem certa e o controlador decide que é o carro e aplica o muting. Uma pessoa que chega a pé não consegue reproduzir esse padrão, então a cortina continua ativa para ela.
O nosso era muting parcial. Os feixes inferiores recebiam muting para o carro passar rolando por baixo. Os feixes superiores ficavam ativos o tempo todo. O muting em si era disparado por dois fotossensores numa palheta, um arranjo de L-muting, acionando à medida que o carro entrava.
O deadlock
Alguém interrompeu os feixes superiores com o carro ainda parado dentro do campo. Isso é a cortina funcionando. Os feixes superiores existem exatamente para isso. As saídas OSSD, as saídas de segurança que dizem aos acionamentos que eles podem se mover, desligaram. Comportamento correto.
O DMM4 derruba o muting no instante em que dispara. Mas o carro continua ali, ainda bloqueando os feixes inferiores. Sem muting, a cortina passa a enxergar o carro como obstrução também, e o campo inteiro é lido como bloqueado. Reset também não adianta. Um reset quer o campo inteiro livre primeiro, e a cortina precisa estar no amarelo piscante antes de aceitar uma confirmação.
Então o carro não pode se mover, porque os acionamentos precisam de um OK da segurança para funcionar. A segurança não pode ser confirmada, porque a cortina não está livre. A cortina não fica livre, porque o carro está parado no meio dela. O carro ficou preso entre o emissor e o receptor, e nenhum botão do painel tira ele dali.
Borda, não nível
Demorei um pouco para entender isso de verdade, em vez de só resolver na força bruta.
O L-muting no DMM4 é disparado por borda, não disparado por nível. A lógica disparada por nível atua sobre onde o sinal está: enquanto a entrada estiver alta, a condição se mantém. A lógica disparada por borda atua sobre a mudança em si, o momento em que o sinal vai de 0 para 1 ou de 1 para 0.

O DMM4 arma o muting numa borda de subida dos sensores de muting, o momento em que eles passam de sem carro para carro chegando. Normalmente é exatamente o que você quer. Comprova uma aproximação nova e sequenciada, em vez de algo apenas parado no feixe.
Na nossa situação o carro nunca saiu. Os sensores de muting foram para nível alto quando ele chegou e ficaram altos o tempo todo. Para rearmar, o DMM4 precisa ver uma borda de subida, e um sinal que já está alto não tem borda nenhuma para dar. Sem borda, sem muting, sem saída.
Comprovei do jeito rústico. Puxei o carro para fora do campo com as mãos e depois conduzi de volta para dentro. Aproximação nova, borda de subida nova, e o muting voltou na hora. Confirmado. O DMM4 estava fazendo exatamente o que a lógica disparada por borda faz. Não tinha caminho de volta para um estado com muting sem uma transição que o deadlock tornava impossível.
A correção de um botão
A correção óbvia parecia limpa. No SICK Safety Designer, converter a entrada de reset existente em uma entrada de reset/override. Um botão, e o DMM4 decide qual dos dois é pelo estado atual. Faz o override da condição travada, coloca o carro em movimento, pronto.
Aí eu olhei o que o override faz de verdade. Um override mantém o OSSD verde enquanto o sensor de muting continuar bloqueado. Ele cai quando o sensor vai de 1 para 0, o carro finalmente saindo. Ótimo, se a única coisa que bloqueia esse sensor for um carro de verdade a caminho da saída. Mas nada obriga isso. Segure qualquer coisa na frente do sensor de muting e o override mantém o OSSD verde basicamente para sempre (ou pelo menos por um bom tempo, nunca cheguei a testar se ele expira). A cortina inteira, feixes superiores inclusos, contornada com um sensor bloqueado e um aperto de botão.
Por que o override é a correção errada
Liguei para a SICK para conversar sobre isso e nunca encontrei uma resposta que fechasse o buraco sem reintroduzir alguma versão do problema original. Uma parada visível, que exige que alguém libere o campo fisicamente, é irritante. Um bypass silencioso de uma proteção que protege pessoas, um bypass que dá para manter aberto, é outra categoria de problema. Não vale a pena projetar isso para economizar alguns segundos de recuperação.
Como ficou
Nunca corrigimos o muting. Em vez disso, demos uma saída aos operadores. Tem um bypass na HMI que habilita o acionamento só do carro, independentemente do que o OSSD ou o resto da segurança esteja fazendo. Move o carro, devagar, e mais nada. É o suficiente para tirar o carro do campo e deixar a cortina liberar sozinha.
Não é elegante. Mas é delimitado, e essa é a parte que importa. Não consegue manter a proteção aberta e não consegue manter a produção rodando. A única coisa que ele move é a coisa que está presa.
Muting é um buraco deliberado na sua função de segurança. É o ponto inteiro dele, e as normas permitem. O trabalho é manter esse buraco bem delimitado, pelos sensores, pela sequência, pela geometria e pelo tempo, de modo que não dê para abrir na fraude nem para manter aberto. O override resolvia uma irritação real removendo esse limite sem alarde.
O resto é uma lição sobre conhecer o seu equipamento. Não o que ele faz quando tudo sai conforme o plano, mas o que ele faz por baixo. Borda ou nível decide como a sua lógica se comporta na situação que você não planejou. A lógica disparada por borda te deixa encalhado quando a transição que você espera não pode acontecer. A lógica disparada por nível mantém um estado perigoso aberto enquanto algo o segurar em nível alto. Saiba disso de antemão e você vê o problema chegando. Não saiba, e você descobre com um carro parado no meio de uma cortina de luz.
Veja como isso se alinha com a nossa visão e essência
Leia mais em tianengineering.com — https://tianengineering.com/articles/muting-deadlock-light-curtain-pt/