Soluções alternativas
Como ChrisF sugere, a solução pragmática de curto prazo pode ser usar o truque de pausa e retomar , mas você precisa conversar com seus clientes para saber quais devem ser suas prioridades. Por exemplo:
Se a falha interromper uma parte de £ 1000 ou causar 4 horas de inatividade uma vez por semana, enquanto a correção de pausa / retomada reduzir a produção em 1%, provavelmente a preferência será a correção no momento.
Se a falha interromper uma parte de £ 1 ou causar 4 minutos de inatividade uma vez por semana, mas a correção de pausa / retomada reduzir a produção em 1%, provavelmente eles preferem esperar uma correção que não afeta a taxa de produção.
Tendo trabalhado na indústria de micro-usinagem a laser por muitos anos, eu sei quanta pressão você pode estar sofrendo para otimizar o processo e fazer com que sua máquina produza o máximo possível de peças por hora, para que, de qualquer maneira, você esteja sob pressão para corrigir o problema corretamente.
Exploração madeireira
Na minha experiência, a única maneira de rastrear efetivamente um Heisenbug é o log copioso. Registre tudo dentro e ao redor da parte do código que pode ser responsável pelo erro. Aprenda a ler seus arquivos de log de maneira eficaz, verifique se você está monitorando os seguintes erros nos seus motores (os estágios estão se movendo para onde deveriam quando deveriam?). Observe o uso de memória na máquina. Um vazamento de memória está causando a fome de um processo crítico?
Verifique também se está registrando ações do usuário, se o operador não está pressionando a parada de emergência para que possa fazer uma pausa de cigarro enquanto ela está sendo consertada? Eu já vi isso acontecer!
Análise estática
Além disso, procure correlações entre escrever certos padrões e o bug ser acionado com mais ou menos frequência. Se você puder encontrar padrões que acionam o problema com mais frequência (ou nunca o acionam), isso pode indicar seu problema.
Tente criar padrões que acionem o problema com mais frequência. Se você puder encontrar uma maneira de acionar o problema de maneira confiável, estará na metade do caminho para uma solução.
Outras opções
Por fim, não seja rápido em culpar o hardware, mas nunca assuma que é perfeito. Muitas vezes fui acusado de problemas que se revelaram de natureza elétrica ou mecânica, então você sempre deve ter isso no fundo da sua mente.
Mesmo que você normalmente não tenha acesso à máquina, lembre-se de que alguns problemas só podem ser resolvidos com eficiência na máquina. Às vezes, alguns dias no local podem valer semanas via área de trabalho remota e meses completamente off-line. Se você ficar sem opções off-line, não tenha medo de propor uma visita ao site, eles podem apenas dizer não.
Você também pode consultar as perguntas e respostas para O que você faz com um heisenbug? e O que fazer com erros que não são reproduzidos? mas isso pode não ser tão útil para a sua situação.