13. Diagnóstico e erros comuns
Cada tabela traz o sintoma, a causa e o que fazer. Procure o sintoma na primeira coluna da tabela do tema mais próximo. Os tempos em ms e as constantes de tempo deste capítulo valem para o ciclo nominal de 1 ms da função, que pode variar com a ocupação do processador.
Quando uma função "não faz nada", confira nesta ordem:
- Memória: as barras RAM e Config do medidor estão abaixo do limite?
- A função está habilitada?
- Todas as entradas têm cabo, e o desenho não tem laço?
- A saída tem um pino atribuído na tela Saídas?
- O que a VCU está fazendo, no log ou no painel?
#A função não faz nada
| Sintoma | Causa | O que fazer |
|---|---|---|
| Caixa Memória das Funções Customizadas excedida ao gravar, ou aviso de memória esgotada vindo da VCU | As 10 funções dividem 512 bytes de memória de trabalho e 2048 de configuração. Acima do limite, nenhuma função do mapa roda. | Leia RAM e Config no medidor. Apague blocos ou reduza Pontos do Filtro médias. Dividir em outro espaço não ajuda: o limite é do mapa todo. |
| Memória: 100% e o Confirmar funciona normalmente | O percentual é o maior entre RAM e Config e nunca passa de 100%. O Confirmar não checa memória: a checagem é ao gravar na VCU. | Leia os números "usado / total": mostram o valor real. A cor passa a âmbar acima de 75% e a vermelho acima de 90%. |
| Mudei um valor na Tela do Usuário e a VCU não mudou | Confirmar grava só no mapa aberto no FuelTech Vision e não envia nada à VCU. | Grave o mapa na VCU pelo botão Gravar, na barra superior. Salvar o arquivo do mapa é outro passo (capítulo Tela do usuário). |
| Função desenhada, mas não executa; o item no menu lateral está esmaecido | Função desabilitada não é gravada na VCU e não entra na conta de memória. A tela dela continua abrindo. | Clique com o botão direito no item e use On / Off, ou ligue a função em Opções do mapa. |
| Saída On/Off, Saída PWM ou Saída analógica 0-5V configurada e nada sai no pino | O bloco escolhe uma função de saída, não um pino. Sem essa função atribuída a um pino na tela Saídas, o bloco fica mudo, sem aviso. | Atribua a função a um pino na tela Saídas. A analógica vai na tela Saídas Analógicas, como Saída Analógica #1 a #4. Uma função ocupa um só pino. |
| Memória dentro do limite e desenho aparentemente certo, mas parte da função não age, inclusive ações e saídas | Um cabo volta a um bloco anterior (laço no desenho). O editor aceita sem aviso; esses blocos e seus dependentes não vão para a VCU. | Refaça o desenho sem retorno. Estado a lembrar fica dentro de um bloco com memória própria, como Histerese, SR Latch ou Filtro EMA. |
| Um bloco entrega 0 e parece ignorar o sinal | Entrada sem cabo vale 0, sem aviso na tela. Exceções: Enable do Contador (vale ligado) e SetValue do SR Latch (vale 1). | Confira cada entrada. Ganhos P, I e D do PID sem cabo valem 0. Limite sem cabo no Limitador e na Histerese, o tempo do Atraso e o Anti windup do PID usam o parâmetro. |
| Depois de gravar o mapa, Histerese, SR Latch e filtros recomeçam do zero | A cada gravação todo estado interno volta a 0, e a execução pausa durante o recebimento do mapa. A Histerese não calcula o estado pela entrada. | A Histerese só liga quando a entrada alcança o limite superior. Conte com o estado inicial desligado ao testar. |
| Valor da VCU lê sempre 0 | Alguns canais da lista não recebem valor: Temperatura do Processador, Tempo, Data e Hora da VCU, Odômetro e Horímetro, totais e parciais. | Escolha outro canal. Na FT470, as entradas analógicas 28 a 36 também leem 0. |
| Ícone de alerta no Valor da VCU com o texto Esta medida não tem entrada configurada no mapa. | A medida vem de uma entrada e nada a alimenta: nem entrada configurada, nem Valor para VCU de função habilitada, nem a VCU reportando. | Configure a entrada no mapa, escreva a medida com Valor para VCU numa função habilitada, ou escolha outra medida. |
| A saída age com o motor parado e a ignição ligada | A função não confere motor, rotação nem partida: roda sempre que a VCU está ligada e a função carregada. | Se a saída não deve agir com o motor parado, ponha a condição de RPM no desenho. |
| Ação na VCU não muda nada, ou aplica 0 | A ação Nenhuma não faz nada. O valor é limitado entre Mínimo e Máximo, que o editor cria em 0. | Confira Ação, Mínimo e Máximo. Com os dois em 0, uma compensação não muda nada e uma substituição aplica 0 o tempo todo (ficha Ação na VCU). |
| Ponto de ignição ou Abertura máxima de ETC na Ação na VCU não tem efeito em certas situações | As ações de substituição têm prioridade fixa, sem campo no bloco. O Ponto de ignição perde para 3-step, 2-step, burnout e troca de marcha; a Abertura máxima de ETC perde para o controle de boost por ETC, Compensações por tempo e Push to Pass (P2P). | Veja se uma dessas funções está ativa naquele momento (lista completa no capítulo Blocos de saída). As ações de compensação não disputam: elas somam. |
#O valor sai errado (lógica, seleção e tabelas)
| Sintoma | Causa | O que fazer |
|---|---|---|
| Divisão dá 0 sem aviso | Operação matemática devolve 0 quando o divisor é 0, inclusive com Dado 2 sem cabo. Valor inválido (NaN) passa adiante. | Confira a fonte de Dado 2. Não espere aviso: a VCU não avisa divisão por zero nem valor inválido. |
| Lógica liga com um sinal analógico pequeno | Verdadeiro é qualquer entrada maior que 0: 0,3 já é verdadeiro e negativo é falso. A saída é sempre 0 ou 1, não repassa o valor. | Compare o sinal com o limite antes, usando Chave ou Histerese. |
| Chave com resultado fixo depois de trocar o Modo | A tela só desabilita o soquete de limite que o modo não usa: não move o cabo. O limite lido fica sem cabo e vale 0. | Depois de trocar o Modo, ligue o cabo ao soquete que o novo modo lê: Limite superior ou Limite inferior. |
| Zona Morta entrega menos que a entrada fora da banda | Fora da banda a saída é a entrada menos o limite: banda de −1 a 1 e entrada 3 dão 2. Dentro da banda, 0. | Para zerar dentro e manter o valor inteiro fora, some a banda de volta ou use Chave. |
| Multiplexador escolhe o canal anterior | O seletor é truncado, não arredondado: 0,99 escolhe o Canal 1. Seletor abaixo de 0 ou acima de 3 fica preso no Canal 1 ou no Canal 4. | Garanta um seletor inteiro exato. Para escolher por faixa de valor, use Multiplexador por faixa. |
| Multiplexador por faixa com seletor 1 escolhendo o Canal A | Os padrões são A de 0 a 1, B de 1 a 2, C de 2 a 3 e D de 3 a 4, com as bordas incluídas. Em sobreposição vence A, depois B, C e D. | Reduza as faixas: A de −0,5 a 0,5, B de 0,5 a 1,5 e assim por diante. Faixa com mínimo maior que máximo fica desligada, sem aviso. |
| Limitador zera ou satura o sinal | O padrão é Valor mínimo 0 e Valor máximo 100. Com mínimo maior que máximo, a saída fica sempre no máximo. Entrada sem cabo dá 0. | Ajuste os dois valores ao tamanho do sinal. Um cabo no soquete Mín ou Máx substitui o parâmetro. |
| Tabela ou Vetor devolve valor errado ou em degrau | Os eixos precisam ser estritamente crescentes. A tabela avisa em vermelho, o vetor não. Eixos repetidos dão degrau, e uma tabela nova devolve 0. | Corrija os eixos. Fora da faixa, no Modo, Clamp segura o valor da ponta e Extrapola prolonga a reta. |
#O valor sai errado (controle, unidades e canais)
| Sintoma | Causa | O que fazer |
|---|---|---|
| Limitei a Abertura máxima de ETC em 50 e o pedal em 30% abre só 15% | A ação não é um teto: ela escala o alvo. Alvo final = alvo × máximo ÷ 100. | Calcule o alvo com essa escala e confira o resultado no log. |
| PID empurra o erro em vez de corrigir | O erro é Dado − Alvo: positivo quando o dado passa do alvo. No termo D, a variação é calculada como erro anterior menos erro atual. | Confira o que está em Dado e em Alvo e o sinal dos ganhos. Se mais saída aumenta o dado, P e I precisam ser negativos. |
| PID sem limite de saída | O PID não tem limite de saída, enable nem reset. O integrador acumula sempre, até o Anti windup (±valor). | Coloque um Limitador na saída. O Anti windup limita só a parte integral. |
| Limite ou conta não bate com o painel (psi, °F, mph) | Valor da VCU entrega o valor guardado, sem converter para a unidade da tela. MAP vem em bar, temperaturas em °C e velocidade em km/h. | Converta dentro da função e confira no log o valor lido antes de fixar constantes. |
| Valor gravado com Valor para VCU sai diferente num canal de botão ou de número inteiro | O bloco grava o número em ponto flutuante, sem converter para o tipo do canal. O valor lido num canal inteiro ou liga/desliga pode não ser o escrito. | Para valores comuns, escreva numa Medida customizada. Em botão ou inteiro, teste no painel e no log antes de usar. |
| Aviso do mapa ao Confirmar: a medida "também é escrita pela Função customizada" | Medida numa entrada analógica e escrita por Valor para VCU: as fontes disputam o canal, e o valor usa a unidade do sensor (em psi, multiplicado por 14,5038). | Retire a medida desta entrada ou use outra Medida customizada livre. Um dono físico ou CAN do canal também pode sobrescrever o valor. |
#O tempo não bate
| Sintoma | Causa | O que fazer |
|---|---|---|
| Atraso que deveria durar milissegundos dura segundos ou minutos | Tempo de atraso (s) é em segundos: 50 digitado pensando em milissegundos vale 50 s. O editor limita o campo a 0,001 a 60; valor maior só chega por arquivo importado. | Digite segundos: 50 ms são 0,05. Revise os Atraso de funções importadas. |
| Atraso não desloca um valor: a saída é só 0 ou 1 | Atraso só atrasa liga/desliga: qualquer entrada maior que 0 vale ligado. O bloco atrasa a mudança de estado de um sinal de liga/desliga. | Nenhum bloco do catálogo desloca um valor no tempo. Use Atraso só para atrasar ligar ou desligar. |
| Atraso atrasa a subida, mas você queria segurar o desligamento | O Modo padrão é On-Delay, que atrasa só quando a entrada liga. Off-Delay atrasa quando desliga; Ambos atrasa as duas. | Escolha Off-Delay para segurar o desligamento. |
| Timer cíclico pulsa sem parar, ou a saída não é 0 e 1 | O bloco não tem entrada de ligar nem de reset: roda desde o carregamento. A saída é o valor de Dado on ou Dado off, não 0 e 1. | Ligue 1 e 0 nos dados para obter pulsos. Para parar o timer, bloqueie a saída com Chave ou Lógica. |
| Rampa dispara uma vez e não rearma | Ela rearma só depois de terminar e com o gatilho abaixo de Rearmar abaixo de:. O padrão é 0: um gatilho que vai de 0 a 1 nunca fica abaixo de 0. | Para gatilho 0/1, ajuste Ativar acima de: abaixo de 1 e Rearmar abaixo de: acima de 0, por exemplo 0,5 nos dois. |
| Contador para de contar e não volta a 0 | Satura em Contagem máxima (padrão 9999). Em modo decrescente conta de 0 até o negativo do máximo. O Reset age por nível. | Use a entrada Reset para zerar. Enquanto o Reset estiver alto, nada é contado. |
| PID reage mais forte ou mais fraco que os ganhos digitados | Tempo de loop (ms) não é o período: o bloco roda a cada ciclo (1 ms), e o valor funciona como escala de tempo. Ki real = Ki × valor; Kd real = Kd ÷ valor. O padrão é 100. | Com Tempo de loop (ms) em 1, Ki fica em "por segundo" e Kd em segundos. |
#Ruído e instabilidade
| Sintoma | Causa | O que fazer |
|---|---|---|
| Derivada dá picos e zeros | Calcula a diferença entre dois ciclos de 1 ms, sem janela. Sinal que muda em degraus dá 0 quase sempre e um pico quando muda. | Filtre o sinal antes de derivar, com Filtro EMA, Filtro passa baixa ou Filtro médias. |
| Derivada com Fator de filtro perto de 1 quase não filtra | O fator pesa a amostra nova, a cada ciclo de 1 ms. Em 0,975 a constante de tempo é 0,27 ms; em 0,95, 0,33 ms. Em 0 e em 1 o filtro fica desligado. | Para filtrar mais, diminua o fator: 0,15 dá 6,15 ms e 0,05 dá 19,5 ms. Conta: −1 ms ÷ ln(1 − fator). |
| Filtro EMA não filtra, ou a saída fica presa em 0 | Alpha também pesa a amostra nova por ciclo de 1 ms: 0,005 dá 199,5 ms e 0,5 dá 1,44 ms. Alpha 1 não filtra; Alpha 0 prende a saída em 0. | Escolha o Alpha pela constante de tempo: −1 ms ÷ ln(1 − Alpha). |
| Filtro médias consome muita memória | A memória de trabalho do bloco é 12 + 4 × Pontos bytes: 76 com 16 pontos e 140 com 32. A janela é por ciclo: 32 pontos são 32 ms. | Reduza Pontos ou use Filtro EMA, que usa 8 bytes de memória de trabalho. |
| Filtro passa baixa devolve o sinal sem filtrar | Com Fator Q em 0, ou Frequência de corte (Hz) em 0 ou menos, a saída é a entrada. Fator Q entre 0 e 1 mistura sinal filtrado e sinal cru. | Use Fator Q 1 para filtro puro. O filtro é de primeira ordem. |
| A saída liga e desliga rápido perto do limite | Chave e Lógica comparam sem histerese: com o sinal oscilando em torno do limite, a saída acompanha. | Use Histerese: liga em Limite superior ou acima e desliga em Limite inferior ou abaixo. Limites invertidos viram comparador simples. |
| Saída PWM com a Frequência ligada a um sinal que varia | Nos pinos A, B e C o canal é reinicializado a cada mudança de frequência; mudar só o Duty não reinicializa. A frequência é truncada para Hz inteiro, e 0 vira 4 Hz. | Mantenha a frequência constante com Valor Fixo e varie só o Duty. |
#Ao importar, exportar e enviar
| Sintoma | Causa | O que fazer |
|---|---|---|
| Importei um .ftcf e a função que estava aberta sumiu | Importar apaga blocos e cabos da função aberta e aplica o arquivo, sem pedir confirmação. Importar e Exportar não mostram mensagem de sucesso nem de erro. | Abra o espaço certo antes de importar. Para guardar a função atual, use Exportar primeiro. Confirme o resultado olhando a função. |
| Função importada ou aberta com blocos faltando | O limite é 128 blocos e 256 cabos por função, aplicado só ao importar e ao abrir o mapa: o excesso é cortado sem aviso na tela. O editor não impõe o limite. | Mantenha cada função abaixo de 128 blocos e 256 cabos. Conte os blocos depois de importar. |
| Depois de importar, a função pede senha | O .ftcf leva a trava de senha embutida, e a importação a aplica sem perguntar. Não existe exportar sem a trava. | Use a senha de quem criou o arquivo. Para entregar sem trava, remova a senha antes de exportar: isso exige a senha atual. |
| Aviso Função customizada: tipo de bloco inválido | A VCU não reconhece o tipo de um dos blocos: o firmware é mais antigo que o mapa. Nenhuma função do mapa roda. | Atualize o firmware da VCU ou remova o bloco. |
| Faixa vermelha A ECU reportou erro neste espaço de trabalho e selo ! num bloco | A VCU reportou erro ao carregar a função. Clicar no selo apaga o erro. | Passe o mouse sobre o selo e leia a dica. Só então clique em Limpar ou no selo. |
| O valor ao vivo de um bloco no editor difere do log | O PC simula o grafo com o relógio do PC, e a simulação não reproduz todos os blocos (por exemplo Contador, Detector de Pico e Filtro médias). | Confirme o comportamento no log ou no painel. Blocos com tempo também podem divergir da VCU. |
#No editor, na tela do usuário e na senha
| Sintoma | Causa | O que fazer |
|---|---|---|
| Não consigo ligar um cabo | Cada entrada aceita um só cabo, e os dois soquetes têm de ser de blocos diferentes. Ligação inválida não gruda e não mostra mensagem. | Solte o cabo da entrada ocupada, arrastando a ponta para uma área vazia, e ligue de novo. Uma saída pode alimentar várias entradas. |
| A Tela do Usuário mostra Nenhum campo configurado para exibição. | O campo de um bloco nasce escondido. | Marque Exibir na engrenagem do bloco, em Configurar bloco. |
| A função pede a senha de novo depois de Cancelar, de colar blocos ou de importar | O estado destravado não é gravado: volta a travado sempre que a tela recarrega os dados do mapa. | Digite a senha de novo e use Desbloquear. |
| Perdi a senha de edição | Não há como redefinir ou mostrar a senha: o arquivo guarda só um resumo (hash) dela. A Tela do Usuário continua funcionando. | Reconstrua a função a partir de uma cópia sem senha. Guarde essa cópia antes de proteger a função. |
#Antes de pedir ajuda
Reúna estes itens antes de falar com o suporte:
- O mapa (.ftmap) com a função.
- O arquivo .ftcf da função (use Exportar), se o problema é de uma função em particular.
- Um log gravado com esse mapa, no momento do problema. O log já traz o mapa embutido.
- A versão do FuelTech Vision e a versão do firmware da VCU, as duas, e se a VCU é FT700 ou FT470.
- O número da função (1 a 10), o nome do bloco com problema e a leitura de RAM e Config no medidor, em bytes.
- O texto exato de qualquer aviso: caixa, faixa vermelha ou dica do selo !.
- O que você esperava, o que aconteceu, e o canal e o valor em que viu a diferença.