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.

Publicado em 2026-06-19 6 min de leitura

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.

Um carro de transporte carregado, parado na abertura de uma cerca de malha cinza, no meio do caminho entre as duas colunas amarelas da cortina de luz montadas nos postes da cerca, num galpão de produção moderno e bem iluminado

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.

Dois diagramas de onda quadrada empilhados. No de cima, rotulado LEVEL, toda a parte alta do pulso está sombreada em azul. No de baixo, rotulado EDGE, o mesmo pulso traz apenas duas barras azuis estreitas, uma na borda de subida e outra na de descida

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.


Newsletter

New articles, courses, and news — straight to your inbox

No spam, unsubscribe in one click.