Códigos de diagnóstico
Cada problema apresentado na aba PROBLEMAS (ver Painel de Problemas) e no editor tem um
código, por exemplo ST3001. Este apêndice reúne a página de ajuda de cada código: o que
ele quer dizer, as causas mais comuns e como resolver. É o mesmo texto apresentado pelo botão
O que isso quer dizer? do painel.
A mensagem de cada problema traz, além do código, os nomes usados no projeto (variável, tipo, POU) e a dica específica daquele caso. Quando a Origem de um código é Instalação ou Defeito do OnStudio, o problema não está no código do projeto (ver Origem do problema).
Escrita do código
Caracteres, textos, números e nomes escritos de forma inválida.
ST1001: Caractere inválido
O código tem um caractere que não faz parte da linguagem Texto Estruturado.
Causas comuns
Texto colado de um documento com aspas ou travessões tipográficos.
Um símbolo que não é operador do ST.
Como resolver
Apague ou troque o caractere marcado no editor.
ST1002: Texto não fechado
Um texto (STRING) começou com aspas simples e não foi fechado.
Causas comuns
Falta a aspa de fechamento.
Foram usadas aspas duplas; no ST os textos usam aspas simples.
Como resolver
Feche o texto com uma aspa simples na mesma linha.
ST1003: Valor escrito de forma inválida
Um número, data ou tempo está escrito de um jeito que o compilador não aceita.
Causas comuns
Tipo de data/tempo de 64 bits (LDT, LTOD, LDATE, LTIME), não suportado nos CLPs G5.
Número com dois pontos decimais ou prefixo de base inválido.
Como resolver
Escreva o valor em uma forma aceita, por exemplo 123, 1.5, 16#FF, T#1s500ms, DT#2024-01-31-12:00:00.
ST1004: Nome inválido
Nomes não podem ter dois sublinhados seguidos nem terminar com sublinhado (IEC 61131-3 §6.1.2).
Causas comuns
Nome como MOTOR__LIGA ou CONTADOR_.
Como resolver
Renomeie usando um único ‘_’ entre as palavras e sem ‘_’ no final.
ST1005: Comentário não fechado
Um comentário foi aberto com (* ou /* e nunca é fechado, então o resto do código é lido como parte dele.
Causas comuns
O *) de fechamento foi apagado.
Um comentário foi começado por engano.
Como resolver
Feche o comentário com *) (ou */).
Sintaxe
Comandos e declarações fora da estrutura da linguagem ST.
ST2001: Erro de sintaxe
Neste ponto o código não segue a gramática do Texto Estruturado.
Causas comuns
Falta um ‘;’.
‘:=’ escrito como ‘=’.
Palavra-chave fora do lugar.
Como resolver
Compare a linha marcada com a sintaxe do ST: atribuição usa ‘:=’ e comparação usa ‘=’.
ST2002: Símbolo inesperado
O compilador encontrou um símbolo que não pode aparecer neste ponto.
Causas comuns
Ligação de saída ‘=>’ usada fora da chamada de um bloco de função.
Parêntese ou vírgula faltando ou sobrando em uma chamada.
Bloco de biblioteca chamado sem o prefixo ‘HILS.’.
Como resolver
Confira o comando logo antes do ponto marcado.
ST2003: Bloco não fechado
Um bloco IF, CASE, FOR, WHILE, REPEAT ou VAR foi aberto e não foi fechado com o seu END_*.
Causas comuns
END_IF, END_CASE ou END_VAR esquecido.
Blocos aninhados na ordem errada.
Como resolver
Inclua o END_* que falta no nível certo de aninhamento.
ST2004: O código terminou antes do esperado
A POU terminou com um bloco ou expressão ainda aberto.
Causas comuns
Um bloco não foi fechado.
Um comando ficou cortado no meio.
Como resolver
Feche todos os blocos abertos na POU antes do fim dela.
Veja também: ST2003
ST2005: Falta ‘;’
Todo comando, inclusive os blocos IF/CASE/FOR/WHILE/REPEAT, termina com ‘;’.
Causas comuns
END_IF, END_CASE, END_FOR ou END_WHILE sem ‘;’.
Atribuição sem ‘;’.
Como resolver
Coloque ‘;’ no final do comando marcado.
ST2006: Palavra reservada usada como nome
Palavras da linguagem ST (IF, TIME, END…) não podem ser nomes de variáveis, parâmetros ou tipos.
Causas comuns
Variável com o nome de uma palavra-chave ou de um tipo de dado.
Como resolver
Renomeie, por exemplo com um prefixo ou sufixo (MEU_TIME, TIME_VALOR).
ST2007: Bloco fechado no lugar errado
Um END_* fecha um bloco que não está aberto, ou não corresponde ao bloco aberto mais interno.
Causas comuns
O comando de abertura foi apagado ou está dentro de um bloco {IFDEF} desativado.
Blocos fechados na ordem errada.
Como resolver
Faça cada END_* corresponder ao seu comando de abertura, começando pelo mais interno.
ST2008: Tamanho de STRING inválido
O tamanho declarado para a STRING está fora dos limites suportados.
Causas comuns
STRING[0] ou tamanho acima do máximo.
Como resolver
Use um tamanho entre os limites indicados na mensagem.
ST2009: RETAIN em campo de STRUCT
A retenção é das variáveis, não dos campos de um tipo.
Causas comuns
Campo declarado com RETAIN dentro de um tipo STRUCT.
Como resolver
Retire o RETAIN do campo e declare a variável como VAR RETAIN.
ST2010: Construção não suportada
O código usa uma construção que o compilador do G5 não suporta.
Causas comuns
Chamada de função com mais de um prefixo de biblioteca.
Como resolver
Reescreva o comando como indicado na sugestão.
ST2011: Comando incompleto
Uma linha do corpo tem só um nome (ou um campo dele), o que não é um comando em ST.
Causas comuns
Texto digitado por engano no corpo.
Atribuição sem o ‘:=’ e o valor.
Chamada de bloco funcional sem os parênteses.
Como resolver
Complete o comando (atribuição, chamada ou bloco) ou apague a linha.
Declarações e tipos
Variáveis, tipos, chamadas e atribuições que não combinam.
ST3001: Variável não declarada
Um nome usado no código não está declarado na POU nem visível para ela.
Causas comuns
Erro de digitação no nome.
A variável foi renomeada em um lugar só.
Variável global usada sem VAR_EXTERNAL.
Como resolver
Declare a variável na POU ou corrija o nome como indicado na sugestão.
Veja também: ST3005
ST3002: Tipos incompatíveis
O valor atribuído ou os operandos de uma expressão têm tipos incompatíveis.
Causas comuns
STRING atribuída a uma variável inteira.
REAL e INT misturados sem conversão.
Como resolver
Use uma função de conversão (INT_TO_REAL, REAL_TO_INT…) ou mude o tipo da variável.
ST3003: Tipo desconhecido
O tipo usado em uma declaração não existe.
Causas comuns
Erro de digitação no nome do tipo.
Tipo do usuário não declarado.
Tipo de biblioteca sem o prefixo (por exemplo HILS.).
Como resolver
Use um tipo existente, declare o tipo do usuário ou inclua o prefixo da biblioteca.
ST3004: Função ou bloco desconhecido
A função ou o bloco de função chamado não existe no projeto nem nas bibliotecas dele.
Causas comuns
Erro de digitação no nome.
Biblioteca não adicionada ao projeto.
Bloco de biblioteca chamado sem o prefixo.
Como resolver
Confira o nome, o prefixo e se a biblioteca está nas dependências do projeto.
ST3005: Nome repetido
O mesmo nome foi declarado ou usado mais de uma vez onde deveria ser único.
Causas comuns
Duas variáveis com o mesmo nome na POU.
Valor de CASE repetido.
O mesmo argumento informado duas vezes.
Como resolver
Retire a repetição ou renomeie um dos itens.
ST3006: Prefixo da biblioteca obrigatório
Itens de uma biblioteca devem ser usados com o prefixo da biblioteca.
Causas comuns
Variável ou bloco de biblioteca usado sem o prefixo (por exemplo HILS.).
Como resolver
Escreva o nome com o prefixo indicado na mensagem.
ST3007: Tipo de dado não suportado
O tipo existe na IEC 61131-3, mas não é suportado nos CLPs G5 da HI Tecnologia.
Causas comuns
LREAL (ponto flutuante de 64 bits).
WSTRING, WCHAR ou CHAR.
Como resolver
Use o substituto indicado: LREAL → REAL, WSTRING/WCHAR/CHAR → STRING.
ST3008: Atribuição a uma constante
Um valor é atribuído a uma variável declarada como constante.
Causas comuns
A variável está em um bloco VAR CONSTANT.
Como resolver
Retire a atribuição ou declare a variável fora do VAR CONSTANT.
ST3009: Argumentos da chamada incorretos
A chamada passa mais argumentos do que o aceito, ou um parâmetro que não existe.
Causas comuns
Argumento a mais.
Nome de parâmetro digitado errado.
Como resolver
Use os parâmetros listados na sugestão.
Veja também: ST3004
ST3010: Variável global sem VAR_EXTERNAL
Para usar uma variável global, a POU precisa declará-la em VAR_EXTERNAL.
Causas comuns
Variável global usada direto em um PROGRAM ou FUNCTION_BLOCK.
Como resolver
Inclua a variável em um bloco VAR_EXTERNAL da POU, com o mesmo tipo.
ST3011: Variável externa não é global
Uma variável declarada em VAR_EXTERNAL não existe nas variáveis globais.
Causas comuns
A variável global foi renomeada ou apagada.
Como resolver
Declare-a nas variáveis globais do recurso ou retire-a do VAR_EXTERNAL.
ST3012: Declaração inválida
A declaração desrespeita uma regra da IEC 61131-3 para a classe da variável.
Causas comuns
VAR_TEMP CONSTANT.
VAR_IN_OUT em um PROGRAM.
Valor inicial em VAR_IN_OUT ou VAR_EXTERNAL.
Constante sem valor.
Como resolver
Ajuste a declaração como indicado na sugestão.
ST3013: Valor fora da faixa
O valor não cabe no tipo de dado da variável.
Causas comuns
300 atribuído a um SINT.
Valor negativo atribuído a um tipo sem sinal.
Como resolver
Use um valor dentro da faixa ou um tipo de dado maior.
ST3014: Campo inexistente
O campo ou membro acessado não existe no tipo da variável.
Causas comuns
Erro de digitação no nome do campo.
Acesso a uma variável interna de um bloco de função.
Como resolver
Use um dos campos ou saídas listados na sugestão.
ST3015: Rótulo de CASE inválido
Os rótulos do CASE devem ser constantes: literais, valores enumerados ou VAR CONSTANT.
Causas comuns
Variável usada como rótulo.
Valor enumerado não declarado.
Como resolver
Troque o rótulo por um valor constante.
ST3016: VAR_IN_OUT precisa de uma variável
Um parâmetro VAR_IN_OUT recebe o endereço de uma variável, por isso não pode receber um valor ou expressão.
Causas comuns
Literal ou expressão passado a um parâmetro VAR_IN_OUT.
Como resolver
Guarde o valor em uma variável e passe a variável.
ST3017: STRUCT usada como array
Uma variável STRUCT foi indexada com [ ] como se fosse um array.
Causas comuns
Índice aplicado à estrutura em vez do campo array dela.
Como resolver
Indexe o campo array da estrutura, como sugerido.
ST3018: CASE com tipos enumerados diferentes
Um rótulo do CASE tem tipo enumerado diferente do seletor.
Causas comuns
Valores de outra enumeração usados como rótulos.
Como resolver
Use rótulos do mesmo tipo enumerado do seletor.
ST3019: Conversão implícita
Um valor de um tipo é guardado numa variável ou parâmetro de outro tipo sem conversão explícita. O programa compila, mas o valor pode mudar (parte fracionária perdida, valor cortado, BOOL misturado com número).
Causas comuns
REAL guardado num inteiro.
DINT guardado em INT ou SINT.
Número guardado em BOOL, TIME ou num tipo enumerado.
Como resolver
Use a função de conversão (REAL_TO_INT, DINT_TO_INT…) ou declare a variável com o tipo certo.
ST3020: Condição ou seletor do tipo errado
Condições de IF/ELSIF/WHILE/UNTIL precisam ser BOOL, o FOR usa inteiros e o CASE seleciona por valor inteiro ou enumerado.
Causas comuns
IF contador THEN, com contador INT.
FOR com variável REAL.
CASE sobre um valor REAL ou STRING.
Como resolver
Escreva a comparação explicitamente (contador <> 0) ou use uma variável do tipo certo.
ST3021: EXIT ou CONTINUE fora do lugar
EXIT e CONTINUE encerram ou reiniciam um laço FOR, WHILE ou REPEAT e só fazem sentido dentro de um.
Causas comuns
EXIT usado para sair da POU.
O laço em volta foi apagado.
Como resolver
Use RETURN para sair da POU ou mova o comando para dentro do laço.
ST3022: Acesso inválido a ARRAY
Foi usado um índice em algo que não é ARRAY, com um valor não inteiro ou fora dos limites declarados.
Causas comuns
Índice fora dos limites declarados.
Índice REAL.
Índice numa variável simples.
Como resolver
Confira os limites na declaração e use índices inteiros.
ST3023: Operação inválida
Um operador foi aplicado a valores de tipos que ele não aceita ou que estão misturados.
Causas comuns
Aritmética com BOOL.
MOD com REAL.
STRING comparada com número.
Divisão pela constante 0.
Como resolver
Confira os tipos dos operandos e converta os valores onde for preciso.
ST3024: Uso incorreto de FUNCTION_BLOCK
Entradas, saídas e variáveis internas de um bloco foram usadas de um jeito que a IEC 61131-3 não permite.
Causas comuns
Escrever numa saída de fora do bloco.
Ler uma variável interna.
Passar uma saída com ‘:=’ ou uma entrada com ‘=>’.
Como resolver
Passe entradas com ‘:=’, leia saídas com ‘=>’ ou instancia.SAIDA e deixe as variáveis internas dentro do bloco.
ST3025: Nome usado duas vezes
Uma variável tem o mesmo nome de uma POU ou de um tipo de dado, o que deixa o código ambíguo.
Causas comuns
Variável com o nome de uma FUNCTION.
Variável com o nome de um tipo de dado.
Como resolver
Renomeie a variável.
ST3026: Valor de tipo enumerado não existe
O código usa TIPO#VALOR com um valor que não está declarado no tipo enumerado.
Causas comuns
Erro de digitação no valor.
Valor retirado do tipo.
Como resolver
Use um dos valores listados na sugestão.
Geração de código
Construções válidas em ST que não podem ser geradas para o equipamento.
ST4001: Erro interno na geração de código
O código está correto, mas o compilador não conseguiu convertê-lo para C. É um defeito do OnStudio.
Origem: Defeito do OnStudio
Causas comuns
Construção ainda não suportada pelo compilador.
Como resolver
Envie o relatório da compilação para o suporte. Enquanto isso, tente escrever o comando de outro jeito.
ST4002: Endereço exportado inválido
O endereço Modbus de uma variável exportada é inválido, desalinhado ou já está em uso.
Causas comuns
Duas variáveis exportadas no mesmo registrador.
Endereço fora de 0-65535.
Como resolver
Escolha um endereço livre e alinhado para a variável.
ST4003: Valor inválido
Um valor TIME ou BOOL está escrito de um jeito que não pode ser convertido.
Causas comuns
TIME sem unidade.
BOOL diferente de TRUE/FALSE/1/0.
Como resolver
Escreva o valor como indicado na sugestão.
ST4004: Limites do array não resolvidos
O compilador não conseguiu determinar o tamanho de um array.
Causas comuns
Limites definidos por uma expressão que não é constante.
Como resolver
Declare o array com limites constantes.
Compilação e firmware
Falhas na compilação do projeto e no firmware usado.
ST5001: A compilação falhou
Uma das etapas da compilação falhou. As outras mensagens da compilação dizem o motivo.
Causas comuns
Veja os demais diagnósticos da mesma compilação.
Como resolver
Corrija os outros erros listados e compile de novo.
ST5002: Falha ao montar a aplicação
Falhou a junção da aplicação com as bibliotecas e o firmware.
Causas comuns
Algo faltando ou definido duas vezes.
A aplicação não cabe no equipamento.
Como resolver
Veja os diagnósticos ST7xxx da mesma compilação.
ST5003: Falha no empacotamento
Não foi possível gerar o arquivo final da aplicação.
Causas comuns
Uma etapa anterior falhou.
Sem permissão de escrita na pasta do projeto.
Como resolver
Corrija os erros anteriores; se continuar, envie o relatório da compilação para o suporte.
ST5004: Firmware ausente
A compilação precisa do firmware do equipamento e nenhum foi encontrado.
Origem: Instalação
Causas comuns
Firmware não baixado para o equipamento.
Equipamento errado selecionado.
Como resolver
Baixe o firmware pelo gerenciador de firmwares ou conecte-se ao equipamento.
Diretivas de compilação
Mensagens e erros das diretivas de compilação ({IFDEF}, {ERROR} etc.).
ST5010: Mensagem de diretiva
Uma diretiva {MESSAGE} foi alcançada durante a compilação.
Causas comuns
Nota informativa escrita no código.
Como resolver
Nenhuma ação é necessária.
ST5011: Aviso de diretiva
Uma diretiva {WARNING} foi alcançada durante a compilação.
Causas comuns
Aviso escrito no código para esta configuração.
Como resolver
Revise a configuração a que o aviso se refere.
ST5012: Bloco desativado quebra o código
Um bloco {IFDEF}/{IFNDEF} desativado removeu o início ou o fim de um IF/FOR/WHILE/CASE/REPEAT.
Causas comuns
Só a abertura ou só o END_* está dentro do bloco condicional.
Como resolver
Coloque as duas pontas do comando sob a mesma condição.
ST5013: Compilação interrompida por diretiva {ERROR}
Uma diretiva {ERROR} foi alcançada e interrompeu a compilação.
Causas comuns
O código declara esta configuração como não suportada.
Como resolver
Altere as definições de compilação que a diretiva verifica.
ST5014: Diretiva inválida
Uma diretiva de compilação ({IFDEF}, {ELSE}, {ENDIF}…) está malformada ou desbalanceada.
Causas comuns
Falta um {ENDIF}.
Nome da diretiva digitado errado.
Como resolver
Revise as diretivas perto da linha indicada.
Configuração do projeto
Recurso, runtime, dispositivos, módulos, tarefas e mapeamento de dados.
ST5020: Problema no recurso
O projeto não tem recurso, ou o recurso atual não existe.
Causas comuns
Recurso apagado.
Projeto importado sem recurso.
Como resolver
Crie um recurso ou escolha um existente.
ST5021: Configurações de execução inválidas
As configurações de execução do recurso são inválidas.
Causas comuns
Valor editado à mão ou vindo de uma versão antiga.
Como resolver
Abra as configurações do recurso e revise as opções.
ST5022: Problema no equipamento
O recurso não tem equipamento, ou o equipamento escolhido não existe.
Causas comuns
Equipamento apagado ou renomeado.
Como resolver
Adicione um equipamento ao recurso ou escolha um existente.
ST5023: Problema na configuração de módulos
Os módulos do equipamento estão faltando ou não cabem nos slots dele.
Causas comuns
Sem módulo de CPU.
Mais módulos locais do que slots.
Como resolver
Revise os módulos na configuração de hardware do equipamento.
ST5024: Problema na configuração de tarefas
O recurso não tem tarefa, ou tem mais tarefas do que o permitido.
Causas comuns
Nenhuma tarefa criada.
Mais tarefas do que o firmware suporta.
Como resolver
Crie ou junte tarefas no recurso.
ST5025: Problema na configuração de E/S
Não foi possível processar a configuração de E/S do equipamento.
Causas comuns
Apelido apontando para um canal que não existe.
Módulo sem especificação.
Como resolver
Revise os módulos e os apelidos de E/S do equipamento.
ST5026: Arranjo de memória exportada inválido
As variáveis globais exportadas não podem ser organizadas na memória Modbus.
Causas comuns
Endereços exportados sobrepostos ou desalinhados.
Como resolver
Revise os endereços exportados das variáveis globais.
ST5027: Problema no mapeamento de dados
Não foi possível gerar o mapeamento de dados.
Causas comuns
Canal sem variável ou endereço válido.
Como resolver
Revise os canais do mapeamento de dados.
Bibliotecas
Bibliotecas ausentes, desatualizadas ou em conflito com o projeto.
ST5030: Biblioteca não instalada
Uma biblioteca da qual o projeto depende não está instalada para a família do equipamento.
Causas comuns
Biblioteca danificada.
Biblioteca não instalada.
Biblioteca instalada só para outra família.
Biblioteca gerada para uma versão anterior do OnStudio.
O projeto não inclui uma biblioteca de sistema (IEC_STD, HI_STD).
Como resolver
Instale a biblioteca pelo gerenciador de bibliotecas ou retire-a das dependências.
ST5031: POU com nome de biblioteca
Uma POU do projeto tem o mesmo nome de uma POU de uma das bibliotecas.
Causas comuns
POU copiada da biblioteca para o projeto.
Como resolver
Renomeie a POU do projeto.
Instalação
Firmware, ferramentas de compilação e arquivos da instalação.
ST5040: Firmware inválido ou de outro equipamento
O firmware usado na compilação não pode ser lido ou não é do modelo do equipamento.
Causas comuns
Download incompleto ou arquivo corrompido.
Firmware de outra família ou modelo escolhido em Compilar para (por exemplo, o de um RION para um NEON).
Compilação com ‘O firmware do dispositivo’ conectado a um equipamento de outro modelo.
Como resolver
Baixe o firmware de novo ou escolha, em Compilar para, um firmware do modelo do equipamento.
ST5041: Alvo de compilação indisponível
A biblioteca não pode ser compilada para a família pedida.
Origem: Instalação
Causas comuns
Nenhum alvo de compilação habilitado para a família.
Como resolver
Habilite o alvo de compilação nas configurações da biblioteca.
ST5042: Repositório de bibliotecas indisponível
Não foi possível ler a pasta de bibliotecas.
Origem: Instalação
Causas comuns
Pasta movida ou sem permissão.
Como resolver
Confira a pasta de bibliotecas nas configurações.
ST5043: Ferramenta de compilação falhou
Uma das ferramentas de compilação falhou ou não respondeu.
Origem: Instalação
Causas comuns
Ferramenta ausente da instalação.
Instalação danificada.
Antivírus bloqueando a ferramenta.
Como resolver
Tente de novo; reinstale o OnStudio se continuar.
ST5044: Arquivo inacessível
Um arquivo da compilação não pôde ser lido ou gravado.
Origem: Instalação
Causas comuns
Arquivo aberto em outro programa.
Pasta sincronizada (OneDrive) ou antivírus bloqueando o arquivo.
Pasta sem permissão de gravação.
Como resolver
Feche o programa que usa o arquivo ou verifique a permissão da pasta, e compile de novo.
Falhas internas
Falhas do próprio OnStudio.
ST5090: Erro interno da compilação
Aconteceu uma falha inesperada dentro do OnStudio. Não é um erro do seu projeto.
Origem: Defeito do OnStudio
Causas comuns
Defeito do OnStudio.
Como resolver
Envie o relatório da compilação para o suporte.
Código C
Erros na compilação do código C das POUs e das bibliotecas.
ST6001: Erro de C em uma POU em C
O código de uma POU escrita em C tem um erro.
Causas comuns
Erro de sintaxe, nome não declarado ou tipo incompatível no código C.
Como resolver
Corrija o código C na linha indicada.
ST6002: Biblioteca não pôde ser compilada
Uma biblioteca do projeto não pôde ser compilada para este equipamento.
Origem: Instalação
Causas comuns
Biblioteca desatualizada ou danificada.
Como resolver
Atualize ou reinstale a biblioteca.
ST6003: Aviso de C em uma POU em C
O código de uma POU escrita em C tem um possível problema. A compilação continuou.
Causas comuns
Variável não usada.
Conversão implícita.
Como resolver
Revise a linha indicada se o comportamento não for o esperado.
ST6004: Trecho que o OnStudio não conseguiu compilar
O OnStudio aceitou o código, mas falhou ao transformá-lo no programa do equipamento. Não é um erro do seu projeto.
Origem: Defeito do OnStudio
Causas comuns
Defeito do OnStudio em uma construção pouco comum.
Como resolver
Envie o relatório da compilação para o suporte; para continuar, escreva o comando da linha indicada de outra forma.
Ligação e memória
Falhas ao juntar a aplicação com o firmware: memória e funções do firmware.
ST7001: Item não encontrado
A aplicação usa algo que não está definido no projeto, nas bibliotecas nem no firmware.
Causas comuns
Biblioteca não compilada para este equipamento.
POU apagada, mas ainda chamada.
Como resolver
Confira as bibliotecas do projeto e as POUs que ele chama.
Veja também: ST5002
ST7002: Definido mais de uma vez
O mesmo nome está definido em dois lugares do projeto ou das bibliotecas.
Causas comuns
POU ou variável global com o nome de um item de biblioteca.
Como resolver
Renomeie uma das definições.
Veja também: ST5002
ST7003: Não foi possível montar a aplicação
A junção da aplicação com as bibliotecas e o firmware falhou por um motivo ainda não classificado.
Origem: Defeito do OnStudio
Causas comuns
Defeito do OnStudio ou instalação danificada.
Como resolver
Envie o relatório da compilação para o suporte.
Veja também: ST5002
ST7004: A aplicação não cabe na RAM
Os dados da aplicação (variáveis, instâncias, bibliotecas) são maiores do que a RAM que o equipamento reserva para aplicações.
Causas comuns
Aplicação feita para um equipamento com mais memória.
Arrays ou estruturas grandes.
Como resolver
Reduza os maiores ocupantes listados na sugestão ou use um equipamento com mais memória.
ST7005: A aplicação não cabe na memória de programa
O código da aplicação é maior do que a memória de programa que o equipamento reserva para aplicações.
Causas comuns
Aplicação feita para um equipamento com mais memória.
Bibliotecas grandes.
Como resolver
Reduza o código ou use um equipamento com mais memória.
ST7006: Serviço do firmware indisponível
A aplicação, direto ou por uma biblioteca, usa um serviço que este equipamento não oferece (por exemplo o sistema de arquivos).
Origem: Instalação
Causas comuns
Aplicação feita para outro equipamento.
Firmware mais antigo.
Como resolver
Retire os usos listados na sugestão ou use um equipamento/firmware que ofereça o serviço.
Outros
Problemas sem classificação específica.
ST9999: Erro não classificado
Um erro que ainda não tem classificação específica.
Origem: Defeito do OnStudio
Causas comuns
Novo tipo de falha.
Como resolver
Leia a mensagem e os detalhes; se continuar, envie o relatório da compilação para o suporte.