Você está na página 1de 50

Traduzido do Inglês para o Português - www.onlinedoctranslator.

com

Visualização

OBSERVAÇÃO

Nomes únicos
As visualizações usadas em um projeto devem ter nomes exclusivos. Pode ser problemático se, por exemplo, uma
visualização de uma biblioteca for chamada ou referenciada com o mesmo nome de uma presente no projeto. Pois, ao
processar referências ou chamadas de visualização no programa, primeiro serão implementadas as visualizações do
projeto, e só depois as das bibliotecas carregadas.

9.6 TwinCAT PLC Visualização HMI


TwinCAT PLC IHMé um sistema necessário para a execução de visualizações geradas no TwinCAT PLC
Control.

Se um programa de controle contiver visualizações associadas, elas serão exibidas no modo de tela inteira quando o TwinCAT PLC
IHMcomeçou. O usuário pode operar as funções de controle e monitoramento contidas no projeto subjacente por meio do mouse ou
do teclado. Isso é possível mesmo se o arquivo de projeto TwinCAT PLC estiver protegido contra leitura. No entanto, o usuário não
pode editar o programa de controle e nenhum menu ou barra de ferramentas está disponível, ou seja, apenas a 'operação' pura dos
elementos de visualização está disponível.
As principais funções de controle e monitoramento de um projeto destinado à versão do operador, portanto, devem ser associadas aos
elementos de visualização durante a criação do projeto e operadas no modo online. Um recurso de entrada especial está disponível para
essa finalidade na caixa de diálogo de configuração para um elemento de visualização.

Integrando perfeitamente a plataforma de desenvolvimento para as máscaras de visualização no sistema de programação


PLCTwinCAT PLC IHMoferece vantagens que outras visualizações simplesmente não conseguem:

• Não é necessária uma lista de tags das variáveis a serem usadas. É possível trabalhar diretamente com as variáveis
TwinCAT PLC Control.

• Os valores das variáveis nos campos de entrada podem ser modificados por expressões (por exemplo, “Variável1+ Variável2 * 12 + 5”)

• Um poderoso conceito de espaço reservado permite ao usuário criar máscaras orientadas a objetos.

• As funções TwinCAT "Sampling Trace" e "ler/escrever receita" também estão disponíveis emTwinCAT PLC IHM.

9.6.1 Instalação, Inicialização e Operação

Instalação:

O TwinCAT PLC HMI está disponível como suplemento e pode ser instalado com o setup. Uma licença tem custos, uma versão de
demonstração por tempo limitado não está disponível.

Começar:

TwinCAT PLC HMI (TCatPlcCtrlHmi.exe) é iniciado por uma conexão ou linha de comando:

Em cada caso, pelo menos, o projeto TwinCAT PLC Control desejado deve ser fornecido. Se nenhum parâmetro adicional for
definido, o TwinCAT PLC HMI iniciará automaticamente com uma POU de visualização chamadaTC_VISU(se existente no
projeto) e naquele modo de destino, que foi definido quando o projeto foi salvo pela última vez.

Além disso, a linha de comando conhecida e os comandos de arquivo de comando (consulte o Manual do Usuário TwinCAT PLC Control)
como o seguinte parâmetro especial podem ser usados:

/visu <visualização POU>

Se o projeto contiver uma POU de visualização denominada TC_VISU, ela iniciará automaticamente com esta. Se outra
POU deve ser a entrada, ela deve ser definida na linha de comando com "/visu <nome da POU de visualização>".

Controle CLP TwinCAT 2 Versão: 1.0 251


Visualização

Exemplo de linha de comando:

C:\TwinCAT\Plc\TCatPlcCtrlHmi.exe D:\PROJECTS\PROJECT.PRO /visu v_firstvisupage

O projeto project.pro começará com a visualização POU 'v_firstvisupage'. Se a visualização deve ser iniciada
automaticamente com TwinCAT PLC Control, isso pode ser feito com uma conexão em TwinCAT StartUp (All Users)
para o 'TCatPlcCtrlHmi.exe' e os parâmetros nomeados.

Caminhos contendo espaços devem ser delimitados por aspas (").

Operativo:

O projeto terá início emmodo tela cheiacom a POU de entrada.

O TwinCAT PLC HMI pode ser operado de acordo com as funções dos elementos de visualização via
teclado e mouse.

Se não houver elemento de visualização configurado com uma função correspondente, TwinCAT PLC HMI a qualquer
momento pode ser encerrado pressionando<Alt><F4>.

9.7 Visualização de destino


A Target-Visualization é uma das formas possíveis de usar uma Visualização TwinCAT. TwinCAT PLC Control pode criar
código ST (Texto Estruturado) para os objetos de visualização de um projeto. Este código pode ser baixado para o CP
junto com o código normal do projeto.

Assim, se for suportado pelo sistema de destino e se um monitor apropriado estiver disponível, a visualização pode ser
iniciada diretamente no computador PLC. Não é mais necessário que o sistema de programação esteja rodando para
executar a visualização. Isso significa uma redução considerável do uso de armazenamento.

Funções da bibliotecaSysLibTargetVisu.liboferecer informações sobrecliques do mouse executados pelo usuário


resp. entradas da lista de texto dinâmica [ }259] e permitir o uso dessas informações no programa.

9.7.1 Visão geral do recurso de visualização com TwinCAT


É mostrado nesta tabela quais possibilidades a visualização oferece com o TwinCAT.

252 Versão: 1.0 Controle CLP TwinCAT 2


Visualização

Requisitos

Controle CLP TwinCAT 2 Versão: 1.0 253


Visualização

Controle CLP CLP IHM CLP IHM Web CLP IHM CE Comente

teste atual Construir 1010 2.10.0.900 1.0.0.7 1.0.9.10 De TwinCAT


versão: 2.10 Construção 1334

Retângulo

Arredondado
retângulo
Elipse

Polígono

Curva

Torta

Bitmap

Visualização

Botão

Ficheiro WMF/JPG

Mesa

ActiveX
elemento
Tendência IHM CE: Apenas
/ tendência online é
disponível

tabela de alarme

Metro

Exibição de barra

Histograma

Invisível
elementos
Mudar cor

Fundo
bitmap
Botão
fundo
Dica de ferramenta IHM CE:
Elementos não muito
perto da borda ou dica de
ferramenta é
fora da
janela

254 Versão: 1.0 Controle CLP TwinCAT 2


Visualização

Controle CLP CLP IHM CLP IHM Web CLP IHM CE Comente
Segurança

espaço reservado Web/IHM CE:


/ / Zoom para visualização

com
espaços reservados em
o zoom
comando não é
possível
Função de impressão

Senha
mudar
Mudar usuário
nível
Linguagem
diálogo
Linguagem
automático
mudar
Saída

Vestígio

Entrada de texto 'Texto' Site: por favor


não exceda o
string máxima
comprimento do seu
variável
IHM CE: O
função oculta
não é suportado
Entrada de texto IHM CE: O
'Numpad' função oculta
não é suportado
Entrada de texto Site: por favor
'Teclado' não exceda o
string máxima
comprimento do seu
variável
IHM CE: O
função oculta
não é suportado

Restrições

Restrições [ }261]

9.7.2 Requisitos
• O sistema de destino deve suportar a funcionalidade; isso significa que nas configurações de destino (Projeto->Opções-
> TwinCAT) a opção 'Enable CE Target-Visualization' deve ser ativada. Se definido no arquivo de destino, isso pode ser
feito pelo usuário.

Controle CLP TwinCAT 2 Versão: 1.0 255


Visualização

• A bibliotecaSysLibTargetVisu.libé necessário para implementar as funções de visualização no sistema de tempo


de execução. Ele será vinculado ao projeto assim que a opção 'Target-Visualization' for ativada nas configurações do
destino. No sistema runtime o SysLibTargetVisu.lib também deve ser implementado.

• Se você for usar a função de tendência no Windows CE, deverá inserir o SysLibAlarmTrend.lib em seu projeto
manualmente. A função de tendência com dispositivos ARM não é suportada.

• Sistema operacional do computador PLC: Windows CE.

• O computador PLC precisa de dispositivos para exibir e operar a visualização.

9.7.3 Criando uma Visualização de Destino

1. Crie uma visualização no TwinCAT PLC.

Para otimizar o desempenho da visualização, coloque o máximo de elementos, que sejam estáticos (sem movimento,
sem textos dinâmicos, sem mudanças dinâmicas de cores),para as costas.
Dica: Usando 'Extras' 'Elementlist' vários ou todos os elementos podem ser "Enviados para trás" ou "Enviados para a frente" em um
único golpe. (Explicação: Todos os elementos estáticos apenas uma vez serão desenhados em um bitmap de fundo. Assim, o tempo
de repintura cíclica será reduzido. Isso será lucrativo especialmente para polígonos ou bitmaps complexos.

Se houver um objeto de visualizaçãoTC_VISU, a Target-Visualization posteriormente será iniciada com este objeto. Caso
contrário, iniciará com aquele objeto que é o primeiro na lista de objetos de visualização no Organizador de Objetos.

Considere se as variáveis de visualização implícitas no projeto atual devem ser tratadas comoremanescente
variáveis e adicione as declarações apropriadas noLista de variáveis globais [ }261] .

Os bitmaps da visualização serão transferidos como arquivos.

2. Desative a opção 'Target-Visualization'

Para cada objeto de visualização, que não deve fazer parte da Target-Visualization, desative a opção 'Target-
Visualization' na caixa de diálogo Object Properties ('Projeto' 'Objeto' 'Propriedades') na categoria 'Visualização

256 Versão: 1.0 Controle CLP TwinCAT 2


Visualização

3. Configurar...

Nas Configurações de destino na guia 'Visualização' (depende do sistema de destino, se as opções específicas estão disponíveis
nesta caixa de diálogo!) Configure que o projeto deve ser preparado para uso na Visualização de destino: Ative a opção
'Visualização de destino'

Além disso, aqui você pode definir se as entradas do usuário e a repintura dos elementos de visualização.... . . . deve
ser controlado através de tarefas VISU que são geradas automaticamente ou através de programação individual: Ative
a opção 'Desativar geração de tarefas'.
. . . deve ser processado por uma ou duas POUs respectivamente. tarefas:
Ative a opção 'UsarVISU_INPUT_TASK'. (Não se irrite com o termo "..._TASK" neste caso; esta opção também é
válida se nenhum VISU_INPUT_TASK for gerado.)

Assim, além da possibilidade de desativar o uso do teclado para mesa, são possíveis as seguintes
configurações:

A visualização do alvo é controlada por tarefas VISU


que são gerados automaticamente e que chamam as POUs MAINTARGETVISU_PAINT_CODE e
MAINTTARGETVISU_INPUT_CODE:

Caso A:

Desativar geração de tarefasestá desligado:

UsarVISU_INPUT_TASKestá ativado:

Automaticamente serão geradas duas tarefas, cada uma chamando um programa:


• VISU_TASKchama o POU M implicitamente disponívelAINTARGETVISU_PAINT_CODE, que faz a
repintura dos elementos de visualização.
• VISU_INPUT_TASKchama a POU implicitamente disponívelMAINTARGETVISU_INPUT_CODE, que faz o processamento
das entradas do usuário.

As configurações padrão das tarefas:


- VISU_INPUT_TASK: cíclico, prioridade 2, intervalo t#50ms.
- VISU_TASK: cíclico, prioridade 3, intervalo t#200ms.

Controle CLP TwinCAT 2 Versão: 1.0 257


Visualização

Claro que os parâmetros podem ser modificados. Mas: VISU_INPUT_TASK sempre deve ser processado antes de
VISU_TASK para garantir uma interação útil das entradas do usuário e atualização da visualização. A tarefa que
chama o programa principal (por exemplo, PLC_PRG), deve ser processada pelo menos com a frequência de
VISU_INPUT_TASK, idealmente mesmo com uma prioridade mais alta, mas também pode ser adicionada diretamente
a VISU_INPUT_TASK

Caso B:

Desativar geração de tarefasestá desligado:

UsarVISU_INPUT_TASKestá desligado:

única tarefaVISU_TASKserá gerado automaticamente, mas neste caso incluirá a funcionalidade de


VISU_INPUT_TASK.
O programa implícito POUMAINTARGETVISU_PAINT_CODEneste caso incluirá adicionalmente a
funcionalidade do programa MAINTTARGETVISU_INPUT_CODE.

Esta configuração destina-se a sistemas que não permitem multitarefa. De forma desvantajosa, nenhum tempo de ciclo
diferenciado pode ser configurado para o processamento de entradas do usuário e a repintura dos elementos de
visualização, veja acima.

A visualização de destino não é controlada por tarefas criadas automaticamente;


As POUs MAINTARGETVISU_PAINT_CODE e MAINTTARGETVISU_INPUT_CODE implicitamente disponíveis podem ser
chamadas pelo programa aplicativo resp. pode ser anexado a qualquer tarefa:

Caso C:

Desativar geração de tarefasestá ativado:

Usar VISU_INPUT_TASKestá ativado:

Ambas as POUs implícitas estão disponíveis e podem ser chamadas individualmente resp. pode ser anexado a qualquer
tarefa. (Referindo-se a este respeito as dicas em (Caso A).

Exemplo para chamadas das POUs Target-Visulization no programa aplicativo:


PROGRAMA visu_control
VAR
n: INT;
END_VAR

n:=n+1;
SE (n MOD 4) =0 ENTÃO
MAINTARGETVISU_PAINT_CODE(); FIM
SE;
MAINTARGETVISU_INPUT_CODE();

Aqui no programa visu_control, a POU que processa as entradas do usuário é chamada apenas após cada quarta
chamada da POU de repintura - reduzindo assim o perigo de perturbar a repintura por outra entrada do usuário.

Ao criar o programa aplicativo, preste muita atenção para reduzir esse perigo de exibição
incorreta!

258 Versão: 1.0 Controle CLP TwinCAT 2


Visualização

Caso D:

Desativar geração de tarefasestá ativado:

UsarVISU_INPUT_TASKestá desligado:

Apenas o programa implícito disponível POU MAINTARGET VISU_PAINT_CODE pode ser usado, mas neste caso
incluirá adicionalmente a funcionalidade de MAINTARGET VISU _INPUT_CODE.
Esta POU pode ser chamada no programa aplicativo resp. pode ser anexado a qualquer tarefa.

4. Carregue o projeto

no controlador ('Online' 'Login').

9.7.4 Iniciando a Visualização do Alvo


Inicie o projeto carregado no CP. A seguir, a visualização começará com o objeto TC_VISU resp. – se nenhum TC_VISU
estiver disponível – com aquele objeto de visualização que é o primeiro na lista de objetos de visualização no
Organizador de objetos.

9.7.5 Varredura de cliques do mouse e textos dinâmicos

A biblioteca SysLibTargetVisu.lib, que é incluída automaticamente assim que a configuração de destino 'Target-Visualization' é
ativada, oferece as seguintes funções para escanear as resp. entradas da lista de texto dinâmica atualmente usada para
exibição de texto dependente de idioma na visualização.

Função GetText: BOOL

Esta função fornece um texto dependente do idioma da lista de texto dinâmica atualmente usada.

Parâmetros:

stResult: STRING(256); Serve como um parâmetro IN_OUT e recebe o texto


encontrado pela string de prefixo „stPrefix“ e ID „dwID“.

nComprimento do resultado:INT; Defina aqui o comprimento máximo da string


„stResult“, se for <256 caracteres.
stPrefix: STRING; Prefixo da entrada de texto na lista de texto dinâmica atualmente
usada.
dwID: DWORD; ID da entrada de texto na lista de texto dinâmica usada
atualmente.

Valor de retorno:
FALSE – Nenhum texto correspondente a „stPrefix“ e „dwID“ foi encontrado.
VERDADEIRO - Foi encontrado um texto correspondente a „stPrefix“ e „dwID“.

Função GetTextByStringId: BOOL

Controle CLP TwinCAT 2 Versão: 1.0 259


Visualização

Esta função - como a função GetText - pode fornecer um texto dependente do idioma da lista de texto dinâmica usada
atualmente. A diferença para GetTest é: O ID da entrada de texto é dado como uma string no parâmetro „stID“ ao invés de um
valor numérico. Assim também é possível usar IDs que são definidos como strings no arquivo xml para os textos dinâmicos
(por exemplo „Texto123“).

Parâmetros:

stResult: STRING(256); Serve como um parâmetro IN_OUT e recebe o texto


encontrado pela string de prefixo „stPrefix“ e ID „dwID“.

nComprimento do resultado:INT; Defina aqui o comprimento máximo da string


„stResult“, se for <256 caracteres.
stPrefix: STRING; Prefixo da entrada de texto na lista de texto dinâmica atualmente
usada.
stID: STRING; ID da entrada de texto na lista de texto dinâmica usada
atualmente.

Valor de retorno:
FALSE – Nenhum texto correspondente a „stPrefix“ e „stID“ foi encontrado.
TRUE - Foi encontrado um texto correspondente a „stPrefix“ e „stID“.

Além disso, é possível verificar os eventos do mouse do usuário. Para isso é necessário inserir a
biblioteca TcMouseEvents.lib com a seguinte funcionalidade:

Função GetLastLeftMouseDownEvent : BOOL resp. Função GetLastRightMouseDownEvent :


BOOL

Esta função fornece informações sobre a última resp. "Esquerda" realizada. Evento MouseDown "Direito". Ele contém
um ponteiro (pMouseEvent : POINTER TO MOUSEEVENT;) na estrutura MouseEvent que consiste nos seguintes
parâmetros:

dwContador : DWORD; Número de eventos MouseDown desde o início do sistema.


Com esses parâmetros, pode-se avaliar se nenhum, um ou
vários eventos foram solicitados desde a última solicitação.

nXPos : INT; Última posição do mouse nas coordenadas X/Y.


nYPos : INT;

Valor de retorno:
Sem valor de retorno.

Função GetLastMouseMoveEvent: BOOL

Esta função fornece informações sobre o último MouseMove-Event executado. Ele contém um
ponteiro (pMouseEvent : POINTER TO MOUSEEVENT;) na estrutura MouseEvent, veja acima: function
GetLastMouseDownEvent.

Valor de retorno:
Sem valor de retorno.

Função GetLastLeftMouseUpEvent : BOOL resp. Função GetLastRightMouseUpEvent: BOOL

Esta função fornece informações sobre a última resp. "Esquerda" executada. Evento MouseUp "Direito". Ele contém
um ponteiro (pMouseEvent : POINTER TO MOUSEEVENT;) na estrutura MouseEvent, veja acima: função
GetLastLeftMouseDownEvent resp. GetLastRightMouseDownEvent

260 Versão: 1.0 Controle CLP TwinCAT 2


Visualização

Valor de retorno:
Sem valor de retorno.

9.7.6 Restrições

comandos internos

IMPRIMIR

A impressão da visualização atual não é possível.

EXITPROGRAM
Este comando não é suportado.

VESTÍGIO
Este comando para abrir a janela Sampling Trace não é suportado.

SALVAR PROJETO
Este comando para salvar o projeto não é utilizável para o Target-Visualization.

formatos gráficos

No Target-Visualization atualmente, apenas bitmaps simples são suportados. Formatos não suportados: .jpg, .tif, .ico O
formato .jpg é suportado a partir da versão 1.0.9 da DLL TargetVisu.

Outros

Controle deslizante na tabela

O controle deslizante para rolagem não é exibido.

Texto:% s

Os textos que excedem as bordas de um elemento atualmente não são cortados.

Manipulação de alarme
TheAlarming não é suportado.

Tendência

A tendência online é suportada a partir da versão 1.0.8 (sem histórico).

titular do lugar
A entrega do parâmetro para substituir o espaço reservado na chamada não é suportada.
Exemplo:
<Visuname>(<Placeholder1>:=<Texto1>, <Placeholder2>:=<Text2>,..., <Placeholder n>:=<Textn>)

VAR_IN_OUT
Não é possível usar variáveis VAR_IN_OUT no TwinCAT HMI CE.

Lado visual
Não é possível utilizar a barra de rolagem da HMI CE do lado da visualização.

9.8 Variáveis do sistema


As seguintes variáveis de sistema podem ser usadas em um programa de visualização:

Controle CLP TwinCAT 2 Versão: 1.0 261


Visualização

Requisitos

Variável gerada implicitamente Tipo de dados Função


CurrentVisu Cadeia de caracteres[40] Nome da visualização atualmente
aberta. Se o nome for alterado, será
feita uma alteração para outra
visualização. Por favor, considere que
a string do nome DEVE ser definida em
letras maiúsculas.
CurrentCaller Cadeia de caracteres[40] Nome da visualização aberta
anteriormente. É usado para a
funcionalidade ZOOMTOCALLER.
Idioma Atual Cadeia de caracteres[40] Idioma atualmente definido, disponível
no arquivo de idioma. A linguagem DEVE
ser escrita emletras maiúsculas.
CurrentUserLevel INT Nível de usuário atualmente definido 0..7

Senhas atuais[0 .. 7] MATRIZ [0..7] DE STRING[20] Todas as senhas definidas no


TwinCAT PLC Control em
"Senhas de grupos de usuários".

262 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

10 Apêndice

10.1 Usando o teclado


Se você quiser executar o TwinCAT PLC Control usando apenas o teclado, será necessário usar alguns comandos
que não são encontrados no menu.
• A tecla de função <F6> permite que você alterne dentro da POU aberta entre as partes
Declaração e Instrução.
• <Alt>+<F6> permite mover de um objeto aberto para o Object Organizer e de lá para a janela Message, se
estiver aberta. Se uma caixa de pesquisa estiver aberta, <Alt>+<F6> permite alternar do organizador de
objetos para a caixa de pesquisa e de lá de volta para o objeto.
• Pressione <Tab> para percorrer os campos de entrada e botões nas caixas de diálogo.
• As teclas de seta permitem mover-se pelos cartões de registro e objetos no Organizador de objetos e no
Gerenciador de bibliotecas.
• Todas as outras ações podem ser executadas usando os comandos de menu ou com os atalhos listados após
os comandos de menu. <Shift>+<F10> abre o menu de contexto que contém os comandos mais usados
para o objeto selecionado ou para o editor ativo.

Combinações de teclas

A seguir, uma visão geral de todas as combinações de teclas e teclas de função:

Funções Gerais
Mover entre a parte de declaração e a parte de <F6>
instrução de uma POU
Mover entre o organizador de objetos, o objeto e a <Alt>+<F6>
janela de mensagem
Menu contextual <Shift>+<F10>
Modo de atalho para declarações <Ctrl>+<Enter>
Mover de uma mensagem na janela Mensagem de volta <Enter>
para a posição original no editor
Abrir e fechar variáveis multicamadas <Enter>
Abrir e fechar pastas <Enter>
Alternar cartões de registro no organizador de objetos e no <teclas de seta>
gerenciador de bibliotecas

Mover para o próximo campo em uma caixa de diálogo <Tab>


Ajuda sensível ao contexto <F1>

Controle CLP TwinCAT 2 Versão: 1.0 263


Apêndice

Comandos Gerais
"Arquivo" "Salvar" <Ctrl>+<S>
"Arquivo" "Imprimir" <Ctrl>+<P>
"Arquivo" "Sair" <Alt>+<F4>
"Projeto" "Excluir objeto" <Del>
"Projeto" "Adicionar objeto" <Ins>
"Projeto" "Renomear objeto" <Barra de espaço>

"Projeto" "Editar Objeto" <Enter>


"Editar" "Desfazer" <Ctrl>+<Z>
"Editar" "Refazer" <Ctrl>+<S>
"Editar" "Cortar" <Ctrl>+<X> ou <Shift>+<Del>
"Editar" "Copiar" <Ctrl>+<C>
"Editar" "Colar" <Ctrl>+<V>
"Editar apagar" <Del>
"Editar" "Localizar próximo" <F3>
"Editar" "Assistente de entrada" <F2>
"Editar" "Próximo erro" <F4>
"Editar" "Erro anterior" <Shift>+<F4>
'On-line''Entrar' <F11>
'Online''Sair' <F12>
'Online''Executar' <F5>
'Online''Alternar Ponto de Interrupção' <F9>
'Online''Passo a Passo' <F10>
'Online''Entre em ação' <F8>
'Online''Ciclo único' <Ctrl>+<F5>
'Online''Escrever valores' <Ctrl>+<F7>
'Online''Forçar Valores' <F7>
'Online''Força de Liberação' <Ctrl><Shift>+<F7>
'Online''Escrever/Forçar Diálogo' <Shift>+<F7>
'Online''Exibir controle de fluxo' <Ctrl>+<F11>
'Janela''Mensagens' <Shift>+<Esc>

Comandos do Editor FBD


'Inserir''Rede (depois)' <Shift>+<T>
'Inserir''Atribuir' <Ctrl>+<A>
'Inserir''Pular' <Ctrl>+<L>
'Inserir''Retornar' <Ctrl>+<R>
'Inserir''Operador' <Ctrl>+<O>
'Inserir''Função' <Ctrl>+<F>
'Inserir''Bloco de funções' <Ctrl>+<B>
'Inserir''Entrada' <Ctrl>+<U>
'Extras''Negar' <Ctrl>+<N>
'Extras''Zoom' <Alt>+<Enter>

264 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Comandos do Editor CFC


'Inserir''POU' <Ctrl>+<B>
'Inserir''Entrada' <Ctrl>+<E>
'Inserir''Saída' <Ctrl>+<A>
'Inserir''Pular' <Ctrl>+<G>
'Inserir''Rótulo' <Ctrl>+<L>
'Inserir''Retornar' <Ctrl>+<R>
'Inserir''Comentário' <Ctrl>+<K>
'Inserir''Entrada POU' <Ctrl>+<U>
'Extras''Negar' <Ctrl>+<N>
'Extras''Definir/Redefinir' <Ctrl>+<T>
'Extras''Conexões' <Ctrl>+<M>
'Extras''EN/ENO' <Ctrl>+<O>
'Extras''Zoom' <Alt>+<Enter>

Comandos do Editor LD
'Inserir''Rede (depois)' <Shift>+<T>
'Inserir''Contato' <Ctrl>+<O>
'Inserir''Contato Paralelo' <Ctrl>+<R>
'Inserir' 'Bloco de função' <Ctrl>+<B>
'Inserir''Bobina' <Ctrl>+<L>
'Extras''Colar Abaixo' <Ctrl>+<U>
'Extras''Negar' <Ctrl>+<N>

Comandos do Editor SFC


'Inserir''Passo-Transição (antes)' <Ctrl>+<T>
'Inserir''Passo-Transição (depois)' <Ctrl>+<E>
'Inserir''Ramo Alternativo (à direita)' <Ctrl>+<A>
'Inserir''Ramo Paralelo (direita)' <Ctrl>+<L>
'Inserir''Saltar' (AS) <Ctrl>+<U>
'Extras''Ação/Transição de Zoom' <Alt>+<Enter>
Volte para o editor da visão geral do SFC <Enter>

Trabalhe com a configuração do PLC


Abrir e fechar elementos da organização <Enter>
Coloque uma caixa de controle de edição ao redor do nome <Barra de espaço>

'Extras' 'Editar entrada' <Enter>

Trabalhar com a configuração de tarefas


Coloque uma caixa de controle de edição ao redor da tarefa ou nome do <Barra de espaço>
programa

10.2 Erros do compilador


Aqui você encontrará as mensagens de erro que o analisador exibe (itálico) e as possíveis causas.

Controle CLP TwinCAT 2 Versão: 1.0 265


Apêndice

Avisos

266 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


1100 Função desconhecida '<nome>' na Uma biblioteca externa é usada.
biblioteca. Verifique se todas as funções
definidas no arquivo .hex também
estão definidas no arquivo .lib.
1101 Símbolo não resolvido '<Símbolo>'. O gerador de código espera uma POU
com o nome <Symbol>. Não está
definido no projeto. Defina uma
função/programa com este nome.
1102 Interface inválida para o símbolo O gerador de código espera uma
'<Símbolo>'. função com o nome <Symbol> e
exatamente uma entrada escalar, ou
um programa com o nome <Symbol> e
nenhuma entrada ou saída.
1103 A constante '<nome>' no endereço de Uma constante de string excede o limite
código '<endereço>' substitui um limite de página de 16K. O sistema não pode
de página de 16K! lidar com isso. Depende do sistema de
tempo de execução se o
problema pode ser evitado por uma
entrada no arquivo de destino. Entre em
contato com o fabricante do PLC.
1200 Tarefa '<nome>', chamada de '<nome>' As Variáveis, que são usadas apenas em uma
variáveis de acesso na lista de parâmetros chamada de bloco funcional na configuração
não são atualizadas da tarefa, não serão listadas na lista de
referências cruzadas.

1300 Arquivo não encontrado '<nome>' O arquivo para o qual o objeto da


variável global está apontando não
existe. Verifique o caminho.
1301 Biblioteca de análise não encontrada! O A função de análise é usada, mas a
código para análise não será biblioteca analyzation.lib está ausente.
gerado. Adicione a biblioteca no gerenciador de
bibliotecas.
1302 Novas funções referenciadas Desde o último download, você vinculou
externamente inseridas. Portanto, a uma biblioteca contendo funções que
mudança online não é mais possível! ainda não são referenciadas no sistema
de tempo de execução. Por esse motivo,
você deve baixar o projeto completo.

1400 Desconhecido Pragma '<nome>' é Este pragma não é suportado pelo


ignorado! compilador. Veja a palavra-chave 'pragma'
para as diretivas suportadas.
1401 A estrutura '<nome>' não A estrutura com nome <nome> não
contém nenhum elemento. contém nenhum elemento. Mas
variáveis desse tipo usarão 1 byte
de memória.
1410 'RETAIN' e 'PERSISTENT' não têm Variáveis remanescentes que são definidas
efeito nas funções localmente em funções são tratadas como
variáveis locais normais.

Controle CLP TwinCAT 2 Versão: 1.0 267


Apêndice

Número Mensagem de erro Possível causa


1411 A variável '<nome>' na configuração da A instância de nível superior da variável não é
variável não é atualizada em nenhuma referenciada por uma chamada em nenhuma
tarefa tarefa. Assim não será copiado

da imagem do processo.
Exemplo:
Configuração da Variável:
VAR_CONFIG
plc_prg.aprg.ainst.in AT %IB0 :
INT;
END_VAR
plc_prg:
index := INDEXOF(aprg);
O programa aprg é referenciado, mas não
chamado. Por isso
plc_prg.aprg.ainst.in nunca obterá
o real
valor de %IB0.
1412 Token inesperado '<name>' no Você está usando um pragma que não
pragma {pragma name} está escrito corretamente resp. que não
pode ser usado neste local. Consulte a
palavra-chave 'pragma' nesta Ajuda on-
line para obter ajuda para uma correção.

1413 '<nome>' não é uma chave válida para a No pragma é especificada uma lista de
lista '<nome>'. A chave será ignorada parâmetros inexistente. Verifique o nome
da lista resp. dê uma olhada no
Gerenciador de Parâmetros para as listas
atualmente disponíveis.
Expressão não contém O resultado desta expressão não é
atribuição. Nenhum código usado. Por esse motivo, não há
foi gerado. código gerado para toda a
expressão.
1501 Constante de string passada como A constante não pode ser escrita
'VAR_IN_OUT': '<nome>' não deve ser dentro da POU, pois não há
sobrescrito! verificação de tamanho possível.
1502 A variável '<nome>' tem o mesmo Uma variável é usada, que tem o
nome de uma POU. A POU não será mesmo nome de uma POU
chamada! Exemplo:
PROGRAMAR um
...
VAR_GLOBAL
não;
END_VAR
...

a; (* Não POU a é chamado, mas a


variável a é carregada.*)
1503 A POU '<nome>' não possui saídas. O resultado O pino de saída de uma POU que não
da caixa é definido como 'TRUE'. possui saídas é conectado em FBD ou
KOP. A atribuição
obtém automaticamente o valor TRUE.

268 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


1504 <nome>' ('<número>'): Instrução Eventualmente, nem todos os ramos da
não pode ser executada devido à expressão lógica serão executados.
avaliação da expressão lógica Exemplo:
IF a AND funct(TRUE) THEN .... Se a has
for FALSE então funct não será
chamado.
1505 Efeito colateral em '<nome>'! A ramificação A primeira entrada da POU é
provavelmente não foi executada! FALSE, por isso o ramal lateral,
que pode vir na segunda entrada,
não será executado.
1506 A variável '%s' tem o mesmo nome de Renomeie a variável ou a ação.
uma ação local. A ação não será
chamada!
1507 A instância '<nome>' tem o mesmo Você chama em ST uma instância que
nome de uma função. A instância tem o mesmo nome como uma
não será chamada. função. A função será chamada! Use
nomes diferentes.
1550 Múltiplas chamadas da POU '<nome>' Verifique se a chamada múltipla desta POU
em uma rede podem levar a é realmente necessária. Por um valor
efeitos colaterais indesejados indesejado de chamada múltipla

overstrikes podem ocorrer.


1700 Caixa de entrada sem atribuição. Uma caixa de entrada é usada no CFC
que não tem atribuição. Para isso
nenhum código será gerado.
1750 Etapa '<nome>': o tempo mínimo é Abra a caixa de diálogo 'Atributos da
maior que o tempo máximo! etapa' para esta etapa e corrija as
definições de tempo.

<nome>(elemento #<número do O elemento de visualização contém uma


elemento>): Watchexpression inválido expressão que não pode ser monitorada.
'%s' Verifique o nome da variável e as
substituições de espaço reservado.
1801 '<nome> (número): Nenhuma entrada Na configuração do objeto de
na expressão '<nome>' possível visualização na entrada do campo é
utilizada uma expressão composta.
Substitua isso por uma única variável.
1802 <Objeto de visualização>(Número do Certifique-se de que um arquivo de
elemento): Bitmap '<nome>' não bitmap externo esteja disponível naquele
encontrado caminho definido na visualização
caixa de diálogo de configuração.

1803 '<name>'('<number>'): "A ação de Uma ação de impressão é atribuída a


impressão não seria compatível com a um alarme configurado no
visualização da Web e do destino. visualização. Isso não será
considerado na visualização da
Web ou do alvo.
1804 '<nome>'('<número>'): A fonte Na visualização, você está usando uma
'<nome>' não é suportada pelo fonte que não é suportada pelo sistema
destino. de destino. Veja nas configurações de
destino, categoria 'Visualização' para as
fontes suportadas.
1805 '<nome>'('<número>'): 'Armazenar dados de Você está usando um elemento de visualização
tendência no PLC' deve ser definido. para armazenar dados de tendência. No
entanto, isso não será considerado no PLC,
porque a opção 'Armazenar dados de
tendência' não está ativada nas configurações
de destino, categoria
Visualização.

Controle CLP TwinCAT 2 Versão: 1.0 269


Apêndice

Número Mensagem de erro Possível causa


1806 '<nome>'('<número>'): A configuração de Você está usando um elemento para
destino 'Manipulação de alarme no PLC' visualização de alarmes. Isso, no
deve ser definida. entanto, não será considerado no PLC
porque a opção 'Alarm handling in the
PLC' não está ativada no alvo
configurações, categoria 'Visualização'.
1807 <nome> (<número>): Nenhuma janela de Considere que a ação "mensagem"
mensagem para alarmes para visualização não é suportada para a Visualização
do alvo de Alvo!
1850 A variável de entrada em %IB<número> é Verifique quais tarefas estão usando
usada na tarefa '<nome>', mas atualizada esta variável e se a programação
em outra tarefa atual não está causando efeitos
indesejáveis. A atualização do valor
da variável geralmente é feita na
tarefa de maior prioridade.
1851 A variável de saída em %IQ<número> é Verifique quais tarefas estão usando
usada na tarefa '<nome>', mas atualizada esta variável e se a programação
em outra tarefa atual não está causando efeitos
indesejáveis. A atualização do valor
da variável geralmente é feita na
tarefa de maior prioridade.
1852 CanOpenMaster pode não ser chamado Atualmente, o CanOpen Master é chamado
ciclicamente na tarefa de evento '<nome>'! pela tarefa de evento nomeada. Se você
Definir parâmetro do módulo deseja que seja chamado ciclicamente,
especifique uma tarefa apropriada por meio
Tarefa de atualização!
do parâmetro UpdateTask na configuração do
CP na caixa de diálogo 'Módulo

parâmetros'.
1853 Um PDO (índice: '<número>') pode não Atualmente, o PDO nomeado é controlado por
ser atualizado ciclicamente na tarefa de meio da tarefa de evento nomeada. Mas se
evento '<nome>' você quiser que ele seja chamado ciclicamente,
você deve atribuir uma tarefa apropriada ao
PDO, deslocando as referências de IO para
essa tarefa.

POU '<nome>' (rotina principal) não está A Start-POU (zB PLC_PRG) não estará
disponível na biblioteca disponível, quando o projeto for
utilizado como biblioteca.
1901 Variáveis de acesso e configurações de Variáveis de acesso e configuração de
variáveis não são salvas em uma variáveis não são armazenadas na
biblioteca! biblioteca.
1902 '<nome>': não há biblioteca para o O arquivo .obj da lib foi gerado
tipo de máquina atual! para outro dispositivo.
1903 <nome>: não é uma Biblioteca válida O arquivo não tem o formato
solicitado para o destino real.
1904 A constante '<nome>' esconde uma Em seu projeto, você definiu uma
constante de mesmo nome em uma constante que tem o mesmo nome de
biblioteca uma definida em uma biblioteca
vinculada. A variável da biblioteca será
substituída!
1970 Gerenciador de parâmetros: Lista Verifique o arquivo de importação *.prm
'<nome>' , Coluna '<nome>', Valor para entradas que não correspondam à
'<nome>' não pôde ser importado! configuração atual (valores padrão resp.
arquivo de descrição XML) do gerenciador
de parâmetros.

270 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


1980 Variáveis globais de rede '<nome>' Na configuração da lista de variáveis de
'<nome>': leitura e escrita simultâneas rede (Selecione a lista na guia Recursos e
podem resultar em perda de dados! abra a caixa de diálogo 'Lista de variáveis
globais' por meio do comando
'Propriedades' no menu de contexto) as
opções 'Ler' e 'Gravar' são ativadas.
Considere que isso pode resultar em
perdas de dados durante
comunicação.
1990 Sem 'VAR_CONFIG' para '<nome>' Para esta variável não há
configuração de endereço disponível
no Variable_Configuration
(VAR_CONFIG). Abra a janela
Variable_Configuration na guia
Recursos e insira a configuração
apropriada (Comando 'Inserir
'Todos os caminhos da instância').

Tarefa '<nome da tarefa>': nenhum tempo de Na configuração da Tarefa foi criada uma
ciclo especificado para tarefa cíclica tarefa cíclica, para a qual não foi definido
nenhum tempo de ciclo. Insira um intervalo
de tempo apropriado na caixa de diálogo
'Taskattributes' em "Interval".

Controle CLP TwinCAT 2 Versão: 1.0 271


Apêndice

Erros do compilador

272 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


Código muito grande. Tamanho máximo: '<número>' Byte O tamanho máximo do programa foi excedido. Reduza
(<número>K) o tamanho do projeto.

3101 Total de dados muito grande. Tamanho máximo: A memória foi excedida. Reduza o uso de dados do
'<número>' Byte (<número>K) aplicativo.
3110 Erro no arquivo de biblioteca '<nome>'. O arquivo .hex não está no formato INTEL Hex.
3111 A biblioteca '<nome>' é muito grande. Tamanho máximo: O arquivo .hex excede o tamanho máximo definido.
64K

3112 Instrução não relocável na biblioteca. O arquivo .hex contém uma instrução não relocável. O
código da biblioteca não pode ser vinculado.
3113 O código da biblioteca substitui as tabelas de funções. Os intervalos para tabelas de código e função estão
sobrepostos.
3114 A biblioteca usa mais de um segmento. As tabelas e o código no arquivo .hex usam
mais de um segmento.
3115 Não é possível atribuir constante a VAR_IN_OUT. O formato de ponteiro interno para constantes de string não pode
Tipos de dados incompatíveis. ser convertido para o formato de ponteiro interno de VAR_IN_OUT,
porque os dados são definidos como "próximos", mas as
constantes de string são definidas como "grandes" ou "distantes".
Se possível, altere essas configurações de destino.

3116 As tabelas de função substituem o código da biblioteca ou Código 166x: A biblioteca externa não pode ser usada com as
um limite de segmento. configurações de destino atuais. Estes devem ser adaptados
resp. a biblioteca deve ser reconstruída com as configurações
apropriadas.

3117 <Nome> (<Zahl>): Expressão muito complexa. Não há A expressão nomeada é muito complexa para ser
mais registros disponíveis tratada pelos registradores disponíveis. Tente
reduzir a expressão usando variáveis temporárias.

3120 O segmento de código atual excede 64K. O código gerado atualmente é maior que 64K.
Eventualmente, muito código de inicialização é
criado.
3121 POU muito grande." Uma POU não pode exceder o Uma POU não pode exceder o tamanho de 64K.
tamanho de 64K.
3122 Inicialização muito grande. Tamanho máximo: 64K O código de inicialização para uma função ou
estrutura POU não pode exceder 64K.
3123 Segmento de dados muito grande: segmento Entre em contato com o fabricante.
'<Número>%s', tamanho <tamanho> bytes (máximo
<número> bytes)
3124 Constante de string muito grande: <número> caracteres A constante fornecida deve ser reduzida em número de
(máximo de 253 caracteres) caracteres.
3130 Pilha de usuário muito pequena: '<número>' DWORD A profundidade de aninhamento das chamadas POU é muito grande.
necessário, '<número>' DWORD disponível. Insira um tamanho de pilha maior nas configurações de destino ou
compile o projeto de compilação sem a opção 'Depurar' (pode ser
definido na caixa de diálogo 'Projeto' 'Opções' 'Construir').

3131 Pilha de usuário muito pequena: '<número>' PALAVRA Entre em contato com o fabricante do PLC.
necessária, '<número>' PALAVRA disponível.

3132 Pilha do sistema muito pequena: '<número>' PALAVRA Entre em contato com o fabricante do PLC.
necessária, '<número>' PALAVRA disponível.
3150 Parâmetro <número> da função '<nome>': Não é Use uma variável intermediária, à qual o
possível passar o resultado de uma função IEC como resultado da função IEC é atribuído.
parâmetro de string para uma função C.
3160 Não é possível abrir o arquivo de biblioteca '<nome>'. Uma biblioteca <nome> está incluída no gerenciador de
bibliotecas para este projeto, mas o arquivo de biblioteca não
existe no caminho fornecido.

3161 A biblioteca '<nome>' não contém nenhum segmento de código Um arquivo .obj de uma biblioteca deve conter pelo
menos uma função C. Insira uma função fictícia no
arquivo .obj, que não está definida no arquivo .lib.

Controle CLP TwinCAT 2 Versão: 1.0 273


Apêndice

Número Mensagem de erro Possível causa


3162 Não foi possível resolver a referência na Biblioteca O arquivo .obj contém uma referência não
'<nome>'(Símbolo '<nome>', Classe '<nome>', Tipo solucionável a outro símbolo. Verifique as
'<nome>') configurações do C-Compiler.
3163 Tipo de referência desconhecido na Biblioteca O arquivo .obj contém um tipo de referência, que
'<nome>' (Símbolo '<nome>' , Classe '<nome>' , Tipo não pode ser resolvido pelo gerador de código.
'<nome>') Verifique as configurações do C-Compiler.
"%s (%d): expressão booleana para complexo A memória temporária do sistema de destino é
insuficiente para o tamanho da expressão. Divida
a expressão em várias parciais
expressões usando assim atribuições para
variáveis intermediárias.
3201 <nome> (<rede>): Uma rede não deve resultar em Saltos internos não podem ser resolvidos. Ative a
mais de 512 bytes de código opção "Usar Sprungoffsets de 16 bits" nas
configurações de destino de 68k.
3202 Stack overrun com chamadas de função string/array/ Uma chamada de função aninhada CONCAT(x, f(i)) é usada.
estrutura aninhadas Isso pode levar à perda de dados. Divida a chamada em
duas expressões.
3203 Expressão muito complexa (muitos registradores Divida a tarefa em várias
de endereço usados). expressões.
3204 Um salto excede 32k Bytes Distâncias de salto não podem ser maiores que 32767
bytes.
3205 Internal Error: Too many constant strings" Em uma Em uma POU podem ser utilizadas no
POU podem ser usadas no máximo 3000 strings máximo 3000 strings constantes.
constantes.
3206 Os dados do bloco de funções excedem o tamanho máximo Um bloco de funções pode produzir no máximo 32767
bytes de código.
3207 Otimização de matriz A otimização dos acessos ao array falhou porque
durante o cálculo do índice foi chamada uma
função.
3208 Conversão ainda não implementada Uma função de conversão é usada, que não é
implementada para o gerador de código real.
3209 Operador não implementado Um operador é usado, o que não é implementado para
esse tipo de dados e o gerador de código real.
MIN(string1,string2).
3210 Função '<nome>' não encontrada Uma função é chamada, que não está disponível no
projeto.
3211 Uso máximo de string excedido Uma variável do tipo string pode ser utilizada em
uma expressão no máximo 10 vezes.
3212 Ordem de biblioteca errada na POU <nome da POU> A ordem das bibliotecas para esta POU não
corresponde à do arquivo cslib.hex. Corrija a ordem de
acordo. (somente para destinos de 68K, se a opção de
verificação estiver ativada no arquivo de destino.)
3250 Real não suportado para controlador de 8 bits O alvo atualmente não é suportado.
3251 os tipos de data do dia não são compatíveis com o controlador O alvo atualmente não é suportado.
de 8 bits

3252 tamanho da pilha excede <número> bytes O alvo atualmente não é suportado.
3253 Não foi possível encontrar o arquivo hexadecimal: '<nome>' O alvo atualmente não é suportado.
3254 A chamada para a função de biblioteca externa não pôde ser O alvo atualmente não é suportado.
resolvida.

Ocorreu um erro durante a importação de variáveis do O arquivo .exp contém uma seção de variáveis de
Access acesso incorreta.
3401 Ocorreu um erro durante a importação da O arquivo .exp contém uma seção de variáveis de
configuração da variável configuração incorreta.
3402 Ocorreu um erro durante a importação de O arquivo .exp contém uma seção de variáveis
variáveis globais globais incorreta.

274 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


3403 Não foi possível importar <nome> A seção do objeto <nome> no arquivo .exp não está
correta.
3404 Ocorreu um erro durante a importação da A seção para a configuração da tarefa do arquivo .exp
configuração da tarefa não está correta.
3405 Ocorreu um erro durante a importação da A seção de configuração do CP no
configuração do CLP arquivo .exp não está correta.
3406 Duas etapas com o nome '<nome'. Segunda etapa não A seção para o SFC POU no arquivo .exp contém
importada. duas etapas com nomes iguais. Renomeie uma das
etapas no arquivo de exportação.
3407 Etapa predecessora '<nome>' não encontrada A etapa <nome> está faltando no arquivo .exp.
3408 Etapa sucessora '<nome>' não encontrada A etapa <nome> está faltando no arquivo .exp.
3409 Nenhuma transição de sucessão para a etapa '<´nome>' No arquivo .exp falta uma transição, que
requer a etapa <nome> como etapa anterior.
3410 Nenhuma etapa de sucessão para a transição '<nome>' No arquivo .exp falta uma etapa que requer a
transição <nome> como condição precedente.
3411 Etapa '<nome>' não acessível a partir da etapa inicial No arquivo .exp, a conexão entre a etapa
<nome> e a etapa inicial está ausente.
3412 Macro '<nome>' não importada Verifique o arquivo de exportação.

3413 Erro durante a importação dos CAMs. Você importou um arquivo de exportação (*.exp) que contém
informações incorretas sobre um CAM. Verifique o arquivo de
exportação.

3414 Erro durante a importação da lista de programas CNC Você importou um arquivo de exportação (*.exp) que
contém informações incorretas sobre um programa CNC.
Verifique o arquivo de exportação.
3415 Erro durante a importação da configuração do Alarme Você importou um arquivo de exportação (*.exp) que
contém informações erradas sobre a Configuração de
Alarme. Verifique o arquivo de exportação.
3450 PDO'<PDO-name>': COB-Id ausente! Clique no botão ‚Propriedades' na caixa de diálogo de
configuração do PLC para o módulo e insira um ID COB
para o PDO <Nome PDO>.
3451 Erro durante o carregamento: o arquivo EDS '<nome>' não foi Eventualmente, o arquivo do dispositivo necessário para a
encontrado, mas é referenciado na configuração de hardware! configuração do CAN não está no diretório correto. Verifique a
configuração do diretório para arquivos de configuração em
'Projeto' 'Opções' 'Diretórios'.

3452 O módulo '<nome>' não pôde ser criado! O arquivo de dispositivo para o módulo <nome> não se
ajusta à configuração atual. Eventualmente, ele foi
modificado desde que a configuração foi definida ou
está corrompido.
3453 O canal '<name>' não pôde ser criado! O arquivo de dispositivo para o canal <nome> não se
ajusta à configuração atual. Eventualmente, ele foi
modificado desde que a configuração foi definida ou
está corrompido.
3454 O endereço '<nome>' aponta para uma A opção 'Verificar endereços sobrepostos' está ativada
memória usada! na caixa de diálogo 'Definições' da configuração do PLC e
foi detectada uma sobreposição. Observe que a
verificação da área é baseada no tamanho que resulta
dos tipos de dados dos módulos, tamanho que é dado
pela entrada 'tamanho' no arquivo de configuração.

3455 Erro durante o carregamento: GSD-File '<nome>' não foi Eventualmente, o arquivo do dispositivo requerido pela
encontrado, mas é referenciado na configuração de configuração do Profibus não está no diretório correto. .
hardware! Verifique a configuração do diretório para arquivos de
configuração em 'Projeto' 'Opções' 'Diretórios'.

Controle CLP TwinCAT 2 Versão: 1.0 275


Apêndice

Número Mensagem de erro Possível causa


3456 O dispositivo profibus '<nome>' não pôde ser O arquivo de dispositivo para o módulo <nome> não se
criado! ajusta à configuração atual. Eventualmente, ele foi
modificado desde que a configuração foi definida ou
está corrompido.
3457 Erro na descrição do módulo! Verifique o arquivo de dispositivo deste módulo.
3458 A configuração do PLC não pôde ser criada! Verifique se todos os arquivos de configuração e dispositivos
Verifique os arquivos de configuração. necessários estão disponíveis no caminho correto (consulte o
diretório de compilação definido em 'Projeto' 'Opções' /
Diretórios)

3460 3S_CanDrv.lib tem a versão errada. Certifique-se de que o 3S_CanDrv.lib


incluído no projeto esteja atualizado.
3461 3S_CanOpenMaster.lib tem a versão errada. Certifique-se de que o 3S_CanOpenMaster.lib
incluído no projeto esteja atualizado.
3462 3S_CanOpenDevice.lib tem a versão errada. Certifique-se de que o arquivo 3S_CanOpenDevice.lib
incluído no projeto esteja atualizado.
3463 3S_CanOpenManager.lib tem a versão Certifique-se de que o 3S_CanOpenManager.lib
errada. incluído no projeto esteja atualizado.
3464 3S_CanNetVar.lib tem a versão errada. Certifique-se de que o arquivo 3S_CanNetVar.lib
incluído no projeto esteja atualizado.
3465 CanDevice: Subíndices devem ser numerados Nas listas de parâmetros usadas pelo CanDevice, os
sequencialmente subíndices devem ser numerados sequencialmente e
sem interrupção. Verifique a lista correspondente no
Gerenciador de Parâmetros.
3466 Variáveis de rede CAN: Nenhum controlador CAN Existem variáveis de rede configuradas para
encontrado na configuração do PLC uma rede CAN (Recursos, Variáveis Globais),
mas na Configuração do CP não há Controlador
CAN disponível.
3468 CanDevice: Tarefa de atualização não disponível na A tarefa de atualização (utilizada para chamar o
configuração da tarefa. CANdevice), que é definida na caixa de diálogo
Base Settings do CANdevice na Configuração do
CP, deve ser configurada na Configuração da
Tarefa do projeto.
3469 O CanOpenMaster não pode ser chamado. Atribua uma Atribuir uma tarefa, que deve chamar o Mestre,
tarefa manualmente. via parâmetro UpdateTask no Módulo
diálogo de parâmetros na Configuração do PLC.
3470 Nome inválido no parâmetro UpdateTask Abra a caixa de diálogo de parâmetros do Módulo
CanMasters na Configuração do PLC. Verifique o parâmetro
UpdateTask. A tarefa especificada deve estar disponível no
projeto. Se você não puder definir uma tarefa apropriada
aqui, o arquivo do dispositivo deve ser verificado para as
definições de valor correspondentes para UpdateTask.

Sem 'VAR_CONFIG' para '<nome>' Insira uma declaração para esta variável na lista de
variáveis globais que contém o
'Variable_Configuration'.
3501 Nenhum endereço em 'VAR_CONFIG' para '<nome>'. Atribua um endereço a esta variável na lista de
variáveis globais que contém o
'Variable_Configuration'.
3502 Tipo de dados incorreto para '<nome>' em 'VAR_CONFIG Na lista de variáveis globais que contém a
‚Variable_Configuration', a variável é declarada
com um tipo de dado diferente da POU.
3503 Tipo de dados incorreto para '<nome>' em 'VAR_CONFIG' Na lista de variáveis globais que contém a
‚Variable_Configuration' a variável é declarada
com endereço diferente da POU.

276 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


3504 Valores iniciais não são suportados para Uma variável da ‚Variable_Configuration' é
'VAR_CONFIG declarada com endereço e valor inicial. Mas um
valor inicial só pode ser definido para variáveis de
entrada sem atribuição de endereço.
3505 '<nome>'não é um caminho de instância válido A Variable_Configuration contém uma
variável inexistente.
3506 Caminho de acesso esperado Na lista de variáveis globais para Variáveis de acesso, o
caminho de acesso para uma variável não está correto.
Correto: <Identificador>:'<Caminho de acesso>':<Tipo>
<Modo de acesso>

3507 Nenhuma especificação de endereço para variáveis A lista de variáveis globais para variáveis de acesso
'VAR_ACCESS' contém uma atribuição de endereço para uma variável.
Isso não é permitido. Definição de variável válida:
<Identificador>:'<Caminho de acesso>':<Tipo> <Modo de
acesso>
3550 Definição duplicada do identificador '<nome>' Existem duas tarefas definidas com um mesmo
nome idêntico. Renomeie um deles.
3551 A tarefa '<nome>' deve conter pelo menos uma chamada Insira uma chamada de programa ou exclua uma tarefa.

de programa

3552 Variável de evento '<nome>' na tarefa '%s' não definida Há uma variável de evento definida no campo 'Single' da
caixa de diálogo de propriedades da tarefa que não é
declarada globalmente no projeto. Use outra variável ou
defina a variável globalmente.
3553 "A variável de evento '<nome>' na tarefa '%s' deve ser do Use uma variável do tipo BOOL como variável de evento no
tipo 'BOOL' campo 'Single' do diálogo de propriedades da tarefa.
3554 A entrada de tarefa '<nome>' deve ser um programa ou No campo 'Chamada do programa' é inserida uma função ou
instância de bloco de função global uma POU não definida. Insira um nome de programa válido.

3555 A entrada da tarefa '<nome>' contém No campo ‚Append program call' existem
parâmetros inválidos parâmetros utilizados que não estão de acordo com
a declaração da POU do programa.
3556 As tarefas não são suportadas pelo destino A configuração de tarefa definida atualmente não pode ser
atualmente selecionado usada para o sistema de destino definido atualmente. Altere o
destino ou modifique a configuração da tarefa
correspondentemente.

3557 Número máximo de Tarefas ('<número>') O número de tarefas atualmente definido excede o
excedido número máximo permitido para o sistema de destino
atualmente definido. Altere o destino ou modifique a
configuração da tarefa correspondentemente. Atenção:
Não edite o arquivo de descrição XML da configuração
da tarefa!
3558 A prioridade da tarefa '<nome>' está fora do intervalo A prioridade atualmente definida para a tarefa não é válida
válido entre '<limite inferior>' e '<limite superior>' para o sistema de destino atualmente definido. Mude o alvo
ou modifique a configuração da tarefa
correspondentemente.

3559 Tarefa '<nome>': Tarefas de intervalo não A configuração de tarefa atual contém uma tarefa de
são suportadas pelo destino atual intervalo. Isso não é permitido pelo sistema de destino
atualmente definido. Altere o destino ou modifique a
configuração da tarefa correspondentemente.
3560 Tarefa '<nome>': tarefas de roda livre não A configuração de tarefa atual contém uma tarefa de roda
são suportadas pelo alvo atual livre. Isso não é permitido pelo sistema de destino
atualmente definido. Altere o destino ou modifique a
configuração da tarefa correspondentemente.
3561 Tarefa '<nome>': as tarefas de evento não são suportadas A configuração de tarefa atual contém tarefas de evento
pelo destino atual que não são suportadas pelo sistema de destino
atualmente definido. Altere o destino ou modifique a
configuração da tarefa correspondentemente.

Controle CLP TwinCAT 2 Versão: 1.0 277


Apêndice

Número Mensagem de erro Possível causa


3562 Tarefa '<nome>': as tarefas de evento externo não A configuração da tarefa atual contém tarefas de eventos
são suportadas pelo destino atual externos que não são suportadas pelo sistema de destino
atualmente definido. Altere o destino ou modifique a
configuração da tarefa correspondentemente.
3563 O intervalo da tarefa '<nome>' está fora do intervalo Altere o valor do intervalo na caixa de diálogo de
válido entre '<limite inferior>' e '<limite superior>' configuração da tarefa.
3564 O evento externo '<nome>' da tarefa '<nome>' O sistema de destino definido atualmente não
não é suportado pelo destino atual suporta o evento externo definido na configuração
da tarefa para esta tarefa. Altere o destino ou
modifique a configuração da tarefa
correspondentemente.
3565 Número máximo de tarefas de evento ('<número>') O sistema de destino definido atualmente não permite
excedido tantas tarefas de evento quanto as definidas no
momento. Altere o destino ou modifique a configuração
da tarefa correspondentemente.
3566 Número máximo de tarefas de intervalo ('<número>') O sistema de destino definido atualmente não permite
excedido tantas tarefas de intervalo definidas no momento.
Altere o destino ou modifique a configuração
correspondentemente.
3567 Número máximo de tarefas de roda livre O sistema de destino atualmente definido não permite
('<número>') excedido tantas tarefas de roda livre como definido no
momento. Altere o destino ou modifique a
configuração correspondentemente.
3568 Número máximo de tarefas de intervalo O sistema de destino definido atualmente não permite
externo ('<número>') excedido tantas tarefas de intervalo externas definidas no
momento. Altere o destino ou modifique a
configuração correspondentemente.
3569 POU '<nome>' para evento do sistema '<nome>' não A POU que deve ser chamada pelo evento do sistema
definido nomeado, conforme definido na tarefa
configuração, não está disponível no projeto. Modifique a
configuração da tarefa correspondentemente ou certifique-
se de que a POU esteja disponível no projeto.

3570 As tarefas '<nome>' e '<nome>' compartilham a mesma Modifique a configuração da tarefa para que cada tarefa tenha
prioridade uma prioridade diferente.

3571 A biblioteca 'SysLibCallback' não está inclusa no Para criar tarefas de evento, o SysLibCallback.lib é
projeto! Os eventos do sistema não podem ser necessário. Vincule esta biblioteca ao projeto no
gerados. gerenciador de bibliotecas ou modifique a configuração da
tarefa (atributos da tarefa) de forma que não haja nenhuma
tarefa acionada por um evento.
3575 Tarefa <'nome>': o tempo de ciclo deve ser um Corrija o tempo de ciclo adequadamente na caixa de
múltiplo de <número> μs. diálogo Atributos da tarefa para esta tarefa. O sistema
de destino define um tempo base e prescreve que o
tempo de ciclo deve ser igual ou múltiplo desse tempo
base.
Variáveis implícitas não encontradas! Use o comando 'Reconstruir tudo'. Se, no entanto, você receber
a mensagem de erro novamente, entre em contato com o
fabricante do PLC.

3601 <name> é um nome de variável reservada A variável fornecida é declarada no projeto,


embora seja reservada para o gerador de código.
Renomeie a variável.
3610 '<nome>' não suportado O recurso fornecido não é compatível com a
versão atual do sistema de programação.
3611 O diretório de compilação fornecido '<nome>' é inválido Há um diretório inválido fornecido em 'Projeto'
'Opções' 'Diretórios' para os arquivos de compilação.

278 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


3612 Número máximo de POUs (<número>) Muitos POUs e tipos de dados são usados no
excedido! A compilação foi abortada. projeto. Modifique o número máximo de POUs
em Target Settings / Memory Layout.
3613 Construção cancelada O processo de compilação foi cancelado pelo usuário.
3614 O projeto deve conter uma POU chamada '<nome>' (rotina Crie uma POU init do tipo Program (por exemplo,
principal) ou uma configuração de tarefa PLC_PRG) ou defina uma configuração de tarefa.
3615 <nome> (rotina principal) deve ser do tipo programa Uma POU init (por exemplo, PLC_PRG) é usada
no projeto que não é do tipo Program.
3616 Programas não devem ser implementados em bibliotecas O projeto que deve ser salvo como uma biblioteca
externas externa contém um programa. Isso não estará
disponível quando a biblioteca for usada.
3617 Fora da memória Aumente a capacidade de memória virtual do seu
computador.
3618 BitAccess não suportado no gerador de O gerador de código para o sistema de destino
código atual! definido atualmente não suporta acesso de bit em
variáveis.
3619 O arquivo de objeto '<nome>' e a biblioteca '<nome>' têm Certifique-se de que, para a biblioteca, haja versões
versões diferentes! correspondentes disponíveis de *.lib e *.obj respectivamente.
*Arquivos .hex. Esses arquivos devem ter o mesmo carimbo de
data/hora.

3620 A POU '<nome>' não deve estar presente dentro de uma Você deseja salvar o projeto como uma biblioteca da
biblioteca versão 2.1. Nesta versão uma biblioteca não pode
conter um objeto PLC_PRG. Use um nome de POU
diferente.
3621 "Não é possível gravar o arquivo de compilação '<nome>'" Provavelmente no caminho especificado para o arquivo
de compilação já existe um arquivo com o mesmo nome,
que é "somente leitura". Remova esse arquivo resp.
alterar os direitos de acesso.
3622 "O arquivo de símbolo '<nome>' não pôde ser criado" Provavelmente no caminho especificado para o arquivo de
símbolo (geralmente diretório do projeto) já existe um
arquivo com o mesmo nome, que é "somente leitura".
Remova esse arquivo resp. alterar os direitos de acesso.

3623 "Não é possível gravar o arquivo de projeto de inicialização '<nome>'" Provavelmente no caminho especificado para o arquivo
de símbolo (alvo específico) já existe um arquivo com o
mesmo nome, que é "somente leitura".
Remova esse arquivo resp. alterar os direitos de acesso.
3624 "Configuração de destino <targetsetting1>=<valor definido> Verifique e corrija essas configurações nas caixas de
não compatível com <targetsetting2>=<valor definido>" diálogo Targetsettings (guia Recursos). Se as
configurações não estiverem visíveis, resp. editável lá,
entre em contato com o fabricante do PLC.
POU com nome '<nome>' já está na biblioteca Um nome de POU é usado no projeto, que já é
'<nome>' usado para uma biblioteca POU. Renomeie a
POU.
3701 O nome usado na interface não é idêntico ao Use o comando 'Projeto' 'Renomear objeto' para
nome da POU renomear a POU no organizador de objetos, ou
altere o nome da POU na janela de declaração. Lá, o
nome da POU deve ser colocado próximo a uma das
palavras-chave PROGRAM, FUNCTION ou
FUNCTIONBLOCK.
3702 Estouro da lista de identificadores Máximo de 100 identificadores podem ser inseridos em uma
declaração de variável.

3703 Definição duplicada do identificador '<nome>' Tome cuidado para que haja apenas um identificador
com o nome fornecido na parte de declaração da
POU.
3704 recursão de dados: Foi utilizada uma instância FB, que precisa de si mesma.
<POU 0> -> <POU 1> -> .. -> <POU 0>

Controle CLP TwinCAT 2 Versão: 1.0 279


Apêndice

Número Mensagem de erro Possível causa


3705 <Nome>: VAR_IN_OUT em Top-Level-POU não Crie uma configuração de tarefa ou certifique-se
permitido, se não houver Configuração de Tarefa de que não haja variáveis VAR_IN_OUT usadas no
PLC_PRG.
3720 Endereço esperado após 'AT' Adicione um endereço válido após a palavra-chave AT ou
modifique a palavra-chave.

3721 Apenas 'VAR' e 'VAR_GLOBAL' podem ser localizados Coloque a declaração em uma área de declaração VAR
para endereços ou VAR_GLOBAL.
3722 Somente variáveis 'BOOL' permitidas em endereços de bit Modifique o endereço ou modifique o tipo da
variável à qual o endereço é atribuído.
3726 Constantes não podem ser colocadas em endereços diretos Modifique a atribuição de endereço
correspondentemente.

3727 Nenhuma declaração de matriz permitida neste endereço Modifique a atribuição de endereço
correspondentemente.

3728 Endereço inválido: '<endereço>' Este endereço não é suportado pela configuração do
CP. Verifique a configuração do PLC resp. Modificar
endereço.
3729 Tipo inválido '<nome>' no endereço: '<nome>' O tipo desta variável não pode ser colocado no
endereço fornecido. Exemplo: Para um sistema de
destino trabalhando com 'alinhamento 2', a seguinte
declaração não é válida: var1 AT %IB1:WORD;
3740 Tipo inválido: '<nome>' Um tipo de dados inválido é usado em uma declaração
de variável.

3741 Esperando a especificação do tipo Uma palavra-chave ou um operador é usado em vez de um


identificador de tipo válido.

3742 Valor de enumeração esperado Na definição do tipo de enumeração falta um


identificador após o colchete de abertura ou após
uma vírgula entre os colchetes.
3743 Número inteiro esperado As enumerações só podem ser inicializadas com
números do tipo INT.
3744 Constante de enumeração '<nome>' já definida. Verifique se você seguiu as seguintes regras para
a definição dos valores de enumeração:
- Dentro de uma definição de enumeração, todos os valores devem ser
exclusivos.
- Em todas as definições de enumeração global, todos os valores
devem ser exclusivos.
- Dentro de todas as definições de enumeração local, todos os
valores devem ser exclusivos

3745 Subfaixas só são permitidas em inteiros! Os tipos de subfaixa só podem ser definidos com base em
tipos de dados inteiros.

3746 O subintervalo '<nome>' não é compatível com o tipo Um dos limites definidos para a faixa do tipo
'<nome>' subfaixa está fora da faixa válida para o tipo
base.
3747 comprimento de string desconhecido: '<nome>' Existe uma constante inválida usada para a
definição do comprimento da string.
3748 Mais de três dimensões não são permitidas para Mais do que as três dimensões permitidas são
arrays dadas na definição de uma matriz. Se aplicável,
use um ARRAY OF ARRAY.
3749 limite inferior '<nome>' não definido Existe uma constante não definida usada para definir o
limite inferior para um subintervalo ou tipo de matriz.
3750 limite superior '<nome>' não definido Há uma constante não definida usada para definir o limite
superior para um subintervalo ou tipo de matriz.
3751 Comprimento de string inválido '<número de caracteres>' O comprimento da string aqui definido excede o
valor máximo definido para o sistema de destino
atualmente definido.

280 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


3752 Mais de 9 dimensões não são permitidas para Uma matriz pode ser 1-2- ou 3-dimensional. O número
matrizes aninhadas de dimensões alcançadas pelo aninhamento de
matrizes (por exemplo, "arr: ARRAY [0..2,0..2,0..2] OF
ARRAY [0..2,0..2,0..2] OF VARIEDADE
[0..2,0..2,0..2, 0..2] OF DINT" máximo pode ser 9 e é
excedido no caso de erro atual. Reduza
apropriadamente para no máximo 9 dimensões.
3760 Erro no valor inicial Use um valor inicial que corresponda à definição
de tipo. Para alterar a declaração, você pode usar
o diálogo de declaração para variáveis (Shift/F2
ou 'Editar''Autodeclarar').
3761 As variáveis 'VAR_IN_OUT' não devem ter um valor Remova a inicialização na declaração da
inicial. variável VAR_IN_OUT.
3780 VAR, VAR_INPUT, VAR_OUTPUT ou A primeira linha após o nome de uma POU deve
VAR_IN_OUT esperado conter uma dessas palavras-chave.
3781 "'END_VAR' ou identificador esperado Insira um identificador válido de um END_VAR no
início da linha fornecida na janela de declaração.

3782 Fim inesperado No editor de declaração: Adicione a palavra-chave


END_VAR no final da parte da declaração. No editor de
texto da parte de programação: Adicione uma
instrução que finalize a última sequência de instruções
(por exemplo, END_IF).
3783 END_STRUCT' ou identificador esperado Assegure-se de que a declaração de tipo seja encerrada
corretamente.

3784 O destino atual não oferece suporte ao atributo O sistema de destino não suporta este tipo de
<nome do atributo> variáveis (por exemplo, RETAIN, PERSISTENT)
As variáveis globais precisam de muita memória. Aumente o número de segmentos fornecidos nas configurações
Aumente a memória disponível nas opções do da caixa de diálogo ‚Projeto' ‚Opções' ‚Construir'.
projeto.
3801 A variável '<nome>' é muito grande (<Tamanho> Byte) A variável usa um tipo maior que 1 segmento de dados.
O tamanho do segmento é um parâmetro específico do
alvo e pode ser modificado nas configurações do alvo/
layout da memória. Se você não encontrar isso nas
configurações de destino atuais, entre em contato com o
fabricante do PLC.
3802 Sem memória retida. Variável '<nome>', O espaço de memória disponível para reter variáveis está
<número> bytes. esgotado. O tamanho da área de memória pode ser definido de
acordo com o alvo nas configurações do alvo/layout da memória.
Se você não encontrar o campo de configurações na caixa de
diálogo, entre em contato com o fabricante do PLC. (Por favor,
considere: Se variáveis retidas forem usadas em uma instância
de bloco funcional, a POU de instância completa será
armazenada na área de memória retida!)

3803 Fora da memória de dados global. Variável '<nome>', O espaço de memória disponível para variáveis globais está
‚<número>' bytes. esgotado. O tamanho da área de memória pode ser definido de
acordo com o alvo nas configurações do alvo/layout da
memória. Se você não encontrar o campo de configurações na
caixa de diálogo, entre em contato com o fabricante do PLC.

3820 "'VAR_OUTPUT' e 'VAR_IN_OUT' não são Em uma função, nenhuma variável de saída ou in_output
permitidos em funções pode ser definida.

3821 Pelo menos uma entrada necessária para funções Adicione pelo menos um parâmetro de entrada para a função.

3840 Variável global desconhecida '<nome>'! Na POU é utilizada uma variável VAR_EXTERNAL, para a
qual não foi declarada nenhuma variável global.

Controle CLP TwinCAT 2 Versão: 1.0 281


Apêndice

Número Mensagem de erro Possível causa


3841 A declaração de '<nome>' não corresponde à O tipo informado na declaração da variável
declaração global! VAR_EXTERNAL não é igual ao da declaração
global.
3850 A declaração de uma estrutura desempacotada '<nome>' dentro de Esta definição de estrutura leva a um desalinhamento na
uma estrutura compactada '<nome>' não é permitida! memória. Modifique a definição apropriadamente.
Múltiplos sublinhados no identificador Remova vários sublinhados no nome do
identificador.
3901 No máximo 4 campos numéricos permitidos em endereços Há uma atribuição direta a um endereço
com mais de quatro níveis. (por exemplo,
%QB0.1.1.0.1).
3902 As palavras-chave devem ser maiúsculas Use letras maiúsculas para a palavra-chave ou ative a
opção 'Autoformatação' em 'Opções' do 'Projeto'.
3903 Constante de duração inválida A notação da constante não está de acordo
com o formato IEC61131-3.
3904 Estouro na constante de duração. O valor usado para a constante de tempo não
pode ser representado no formato interno. O
valor máximo representável é
t#49d17h2m47s295ms
3905 Constante de data inválida A notação das matrizes constantes não está de
acordo com o formato IEC61131-3.
3906 Constante de hora do dia inválida A notação das matrizes constantes não está de
acordo com o formato IEC61131-3.
3907 Constante de data e hora inválida A notação das matrizes constantes não está de
acordo com o formato IEC61131-3.
3908 Constante de string inválida A constante de string contém um
caractere inválido.
Identificador esperado Insira um identificador válido nesta posição.
4001 Variável '<nome>' não declarada Declare variável local ou global.
4010 Incompatibilidade de tipo: não é possível converter '<nome>' em Verifique o tipo de dados que o operador espera
'<nome>'. (Navegue na Ajuda on-line para obter o nome do
operador) e altere o tipo da variável que causou o
erro ou selecione outra variável.
4011 Incompatibilidade de tipo no parâmetro '<nome>' de O tipo de dados do parâmetro real não pode ser
'<nome>': Não é possível converter '<nome>' em convertido automaticamente no parâmetro
'<nome>'. formal. Use uma conversão de tipo ou use outro
tipo de variável.
4012 Incompatibilidade de tipo no parâmetro '<nome>' de Um valor com o tipo inválido <Typ2> é atribuído à
'<nome>': Não é possível converter '<nome>' em variável de entrada '<nome>'. Substitua a variável ou
'<nome>'. constante por uma do tipo <Typ1> ou use uma
conversão de tipo, respectivamente, uma constante com
prefixo de tipo.
4013 Incompatibilidade de tipo na saída '<nome>' de '<nome>': Não é Um valor com o tipo inválido <Typ2> é atribuído à
possível converter '<nome>' em '<nome>'. variável de saída '<nome>'. Substitua a variável ou
constante por uma do tipo <Typ1> ou use uma
conversão de tipo, respectivamente, uma constante com
prefixo de tipo.
4014 Literal digitado: não é possível converter '<nome>' para O tipo da constante não é compatível com o
'<nome> tipo do prefixo. Exemplo: SINT#255
4015 Tipo de dados '<nome>' ilegal para acesso direto ao bit O endereçamento de bit direto só é permitido para tipos de
dados Integer e Bitstring. Você está usando uma variável
var1 do tipo REAL/LREAL ou uma constante no acesso ao bit
<var1>.<bit>.
4016 Índice de bit '<número>' fora do intervalo para variável do Você está tentando acessar um bit que não está
tipo '<nome> definido para o tipo de dado da variável.
4017 'MOD' não é definido para 'REAL O operador MOD só pode ser usado para tipos de
dados inteiros e bitstring.

282 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


4020 Variável com acesso de gravação ou endereço direto Substitua o primeiro operando por uma variável com
necessário para 'ST', 'STN', 'S', 'R' acesso de gravação.

4021 Nenhum acesso de gravação à variável '%s' permitido Substitua a variável por uma variável com acesso de
gravação.
4022 Operando esperado Adicione um operando atrás do comando.
4023 Número esperado após '+' ou '-' Insira um dígito.

4024 <operador 0> ou <operador 1> ou ... esperado Insira um operando válido na posição nomeada.
antes de '<nome>'
4025 ':=' ou '=>' esperado antes de '<nome>' Insira um dos dois operadores na posição
nomeada.
4026 'BITADR' espera um endereço de bit ou uma variável em um Use um endereço de bit válido (por exemplo, %IX0.1).
endereço de bit

4027 Número inteiro ou constante simbólica esperada Insira um número inteiro ou o identificador de uma
constante válida.
4028 O operador 'INI' precisa da instância do bloco de funções ou da Verifique o tipo de dados da variável, para o qual
instância do tipo de unidade de dados o operador INI é usado.
4029 Chamadas aninhadas da mesma função não são Em sistemas de destino não reentrantes e no modo de
possíveis. simulação, uma chamada de função pode não conter uma
chamada de si mesma como um parâmetro. Exemplo:
fun1(a,fun1(b,c,d),e); Use uma mesa intermediária.

4030 Expressões e constantes não são permitidas como Substitua a constante ou a expressão por uma
operandos de 'ADR' variável ou um endereço direto.
4031 'ADR' não é permitido em bits! Em vez disso, use Use BITADR. Observe: A função BITADR
'BITADR'. não retorna um endereço de memória
física
4032 Os operandos '<número>' são muito poucos para '<nome>'. Verifique quantos operandos o operador nomeado
Pelo menos '<número>' são necessários requer e adicione os operandos ausentes.
4033 Os operandos '<número>' são muitos para '<nome>'. Verifique quantos operandos o operador nomeado
Pelo menos '<número>' são necessários requer e remova os operandos excedentes.
4034 Divisão por 0 Você está usando uma divisão por 0 em uma expressão
constante. Se você quiser provocar um erro de tempo de
execução, use – se aplicável – uma variável com o valor 0.

4035 ADR não deve ser aplicado em 'VAR CONSTANT' se Um acesso de endereço em constantes para as quais
'replaced constants' estiver ativado os valores diretos são usados não é possível. Se
aplicável, desative a opção ‚Substituir Constantes' em
‚Projeto' ‚Opções' ‚Construir'.
4040 O rótulo '<nome>' não está definido Defina um rótulo com o nome <LabelName> ou
altere o nome <LabelName> para o de um rótulo
definido.
4041 Definição duplicada do rótulo '<nome>' O rótulo '<nome>' é múltiplo definido na POU.
Renomeie o rótulo ou remova uma das
definições.
4042 Não são permitidos mais de %d rótulos em O número de rótulos de salto é limitado a
sequência '<Anzahl>'. Insira uma instrução fictícia.
4043 Formato da etiqueta inválido. Um rótulo deve ser um nome O nome do rótulo não é válido ou os dois pontos
opcionalmente seguido por dois pontos. estão faltando na definição.
4050 POU '%s' não está definido Defina uma POU com o nome '<nome>' usando o
comando 'Projeto' 'Adicionar Objeto' ou altere
'<nome>' para o nome de uma POU definida.
4051 '%s' não é função Use em vez de <nome> um nome de função
definido no projeto ou nas bibliotecas.
4052 '%s' deve ser uma instância declarada do FB '%s' Use uma instância do tipo de dados '<name>' que é
definido no projeto ou altere o tipo de <Instance
name> para '<name>' .

Controle CLP TwinCAT 2 Versão: 1.0 283


Apêndice

Número Mensagem de erro Possível causa


4053 '%s' não é uma caixa ou operador válido Substitua '<nome>' pelo nome de uma POU ou
operador definido no projeto.
4054 Nome da POU esperado como parâmetro O parâmetro fornecido não é um nome de POU válido.
de 'INDEXOF'
4060 O parâmetro 'VAR_IN_OUT' '%s' de '%s' precisa de uma Para parâmetros VAR_IN_OUT variáveis com
variável com acesso de gravação como entrada. acesso de escrita devem ser entregues, porque um
VAR_IN_OUT pode ser modificado dentro da POU.

4061 O parâmetro 'VAR_IN_OUT' '%s' de '%s' deve ser Um parâmetro VAR_IN_OUT deve receber uma
usado. variável com acesso de escrita, porque um
VAR_IN_OUT pode ser modificado dentro da POU.
4062 Sem acesso externo ao parâmetro O parâmetro VAR_IN_OUT somente pode ser
'VAR_IN_OUT' '%s' de '%s'. escrito ou lido dentro da POU, pois são entregues
por referência.
4063 O parâmetro 'VAR_IN_OUT' '%s' de '%s' não deve ser Um endereço de bit não é um endereço físico válido.
usado com endereços de bit. Entregue uma variável ou um endereço direto sem bits.

4064 'VAR_IN_OUT' não deve ser sobrescrito na chamada de Exclua os parâmetros definidos para a variável
ação local! VAR_IN_OUT na chamada de ação local.
4070 A POU contém uma expressão muito complexa Diminua a profundidade de aninhamento
dividindo a expressão em várias expressões. Use
variáveis intermediárias para essa finalidade.
4071 Rede muito complexa Divida a rede em várias redes.
4072 Uso inconsistente de um identificador de ação Você definiu duas ações de um bloco funcional fb:
no tipo FB ('<nome>') e instância ('<nome>'). por exemplo a1 e a2, mas na chamada de uma das
ações no FBD você está usando um tipo (string
dentro da caixa, por exemplo fb.a1 diferente do
usado no nome da instância (por exemplo, inst.a2,
caixa acima) Corrija o nome correspondente ao
nome da ação desejada.
'^' precisa de um tipo de ponteiro Você está tentando desreferenciar uma variável que não é
declarada como um ponteiro.
4110 '[<index>]' precisa de variável de matriz [<índice>] é usado para uma variável que não é
declarada como uma matriz com ARRAY OF.
4111 A expressão de índice de uma matriz deve ser do tipo Use uma expressão do tipo correto ou uma
'INT' conversão de tipo.
4112 Muitos índices para array Verifique o número de índices (1, 2, ou 3) para
os quais o array é declarado e remova o
excedente.
4113 Poucos índices para array Verifique o número de índices (1, 2, ou 3) para os
quais o array é declarado e adicione os que
faltam.
4114 Um dos indicadores constantes não está dentro do Certifique-se de que os índices usados estejam dentro
intervalo do array dos limites da matriz.
4120 '.' precisa de variável de estrutura" O identificador à esquerda do ponto deve ser uma
variável do tipo STRUCT ou
FUNCTION_BLOCK ou o nome de
uma FUNCTION ou PROGRAM.
4121 '<nome>' não é um componente de <nome do objeto> O componente '<nome>' não está incluído na
definição do objeto <nome do objeto>.
4122 '%s' não é uma variável de entrada do bloco de Verifique as variáveis de entrada do bloco de funções
função chamado chamado e altere '<nome>' para uma delas.
'LD' esperado Insira pelo menos uma instrução LD após o rótulo
de salto no editor IL.
4201 Operador de IL esperado Cada instrução IL deve começar com um operador ou um
rótulo de salto.

284 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


4202 Fim inesperado do texto entre colchetes Insira um colchete de fechamento após o texto.

4203 <nome> entre colchetes não permitido O operador <nome> não é válido em uma expressão
de colchetes IL. (inválidos são: 'JMP', 'RET', 'CAL',
'LDN', 'LD', 'TIME')
4204 Colchete de fechamento sem colchete de abertura Insira um suporte de abertura ou remova o de
correspondente fechamento.
4205 Nenhuma vírgula é permitida após ')' Remova a vírgula após fechar o colchete.
4206 Rótulo entre colchetes não permitido Desloque o rótulo do salto para que fique fora dos
colchetes.
4207 O modificador 'N' requer operando do tipo O modificador N requer um tipo de dados, para o qual uma
'BOOL', 'BYTE', 'WORD' ou 'DWORD' negação booleana pode ser executada.
4208 O operador condicional requer o tipo 'BOOL' Certifique-se de que a expressão forneça um
resultado booleano ou use uma conversão de tipo.
4209 Nome da função não permitido aqui Substitua a chamada de função por uma variável ou uma
constante.

4210 'CAL', 'CALC' e 'CALN' requerem uma instância de bloco Declare uma instância do bloco de função que você
de função como operando deseja chamar.
4211 Comentários só são permitidos no final da linha em IL Desloca o comentário para o final da linha ou para uma
linha extra.
4212 O acumulador é inválido antes da instrução A conta não está definida. Isso acontece se uma instrução
condicional está precedendo que não apresenta um resultado (por
exemplo, 'CAL').
4213 'S' e 'R' requerem o operando 'BOOL' Use uma variável booleana neste local.
4250 Espera-se outra instrução 'ST' ou fim da POU A linha não começa com uma instrução
ST válida.
4251 Muitos parâmetros na função '%s' Existem mais parâmetros fornecidos do
que declarados na definição da função.
4252 Poucos parâmetros na função '%s' Existem menos parâmetros fornecidos do que
os declarados na definição da função.
4253 'IF' ou 'ELSIF' requerem a expressão 'BOOL' como Certifique-se de que a condição para IF ou ELSIF seja uma
condição expressão booleana.
4254 'WHILE' requer a expressão 'BOOL' como Certifique-se de que a condição após
condição 'WHILE' seja uma expressão booleana.
4255 'UNTIL' requer a expressão 'BOOL' como condição Certifique-se de que a condição após
'UNTIL' seja uma expressão booleana.
4256 'NOT' requer o operando 'BOOL' Certifique-se de que a condição após 'NOT' seja
uma expressão booleana.
4257 A variável da instrução 'FOR' deve ser do tipo Certifique-se de que a variável do contador seja do
'INT' tipo inteiro ou bitstring (por exemplo, DINT,
DWORD).
4258 A expressão na instrução 'FOR' não é uma variável com Substitua a variável do contador por uma variável com acesso
acesso de gravação de gravação.

4259 O valor inicial na instrução 'FOR' não é uma variável com O valor inicial na instrução ‚FOR' deve ser
acesso de gravação compatível com o tipo da variável do contador.
4260 O valor final da instrução 'FOR' deve ser do tipo O valor final da instrução ‚FOR' deve ser
'INT' compatível com o tipo da variável do contador.
4261 O valor de incremento da instrução 'FOR' deve ser do O valor incremental na instrução ‚FOR' deve
tipo 'INT' ser compatível com o tipo da variável do
contador.
4262 'EXIT' fora de um loop Use 'EXIT' somente dentro das instruções 'FOR', 'WHILE'
ou 'UNTIL'.
4263 Número esperado, 'ELSE' ou 'END_CASE' Dentro de uma expressão 'CASE' você só pode usar
um número ou uma instrução 'ELSE' ou a instrução
final 'END_CASE'.

Controle CLP TwinCAT 2 Versão: 1.0 285


Apêndice

Número Mensagem de erro Possível causa


4264 'CASE' requer seletor de um tipo inteiro Certifique-se de que o seletor seja do tipo inteiro
ou bitstring (por exemplo, DINT, DWORD).
4265 Número esperado após ',' Na enumeração dos seletores CASE deve ser
inserido outro seletor após uma vírgula.

4266 Pelo menos uma declaração é necessária Insira uma instrução, pelo menos um ponto e vírgula.

4267 A chamada do bloco de funções requer instância do bloco de O identificador na chamada do bloco de funções
funções não é uma instância. Declare uma instância do
bloco de função desejado ou use o nome de uma
instância já definida.
4268 Expressão esperada Insira uma impressão aqui.
4269 'END_CASE' esperado após ramificação 'ELSE' Termine a instrução 'CASE' após a parte
'ELSE' com um 'END_CASE'.
4270 Constante 'CASE' '%ld' já usada Um seletor 'CASE' só pode ser usado uma vez dentro de
uma instrução 'CASE'.
4271 A borda inferior do intervalo é maior que a Modifique os limites de área dos seletores para que a
borda superior. borda inferior não seja mais alta que a borda superior.

4272 Esperando o parâmetro '%s' no local %d na chamada de Você pode editar uma chamada de função dessa forma, de
'%s'! forma que também os nomes dos parâmetros estejam
contidos, não apenas os valores dos parâmetros. Mas, no
entanto, a posição (sequência) dos parâmetros deve ser a
mesma que na definição da função.
4273 Partes do intervalo 'CASE' '%ld..%ld' já usadas Certifique-se de que as áreas dos seletores usados
no intervalo '%ld..%ld' na instrução CASE não se sobreponham.
4274 Ramificação múltipla 'ELSE' na instrução 'CASE' Uma instrução CASE não pode conter mais de
uma instrução ‚ELSE'.
Jump requer 'BOOL' como tipo de entrada Certifique-se de que a entrada para o salto,
respectivamente, a instrução RETURN seja uma
expressão booleana.
4301 POU '%s' precisa exatamente %d entradas O número de entradas não corresponde ao
número de variáveis VAR_INPUT e VAR_IN_OUT
que é fornecido na definição da POU.
4302 POU '%s' precisa exatamente %d saídas O número de saídas não corresponde ao
número de variáveis VAR_OUTPUT que é
fornecido na definição da POU.
4303 '%s' não é operador Substitua '<nome>' por um operador válido.
4320 Expressão não booleana '<nome>' usada com O sinal de comutação de um contato deve ser uma
contato expressão booleana.
4321 Expressão não booleana '<nome>' usada com A variável de saída de uma bobina deve ser do tipo
bobina BOOL.
4330 Expressão esperada na entrada 'EN' da caixa Atribua uma entrada ou uma expressão à
'<nome>' entrada EN da POU '<nome>'.
4331 Expressão esperada na entrada '<número>' da caixa A entrada <número> da operadora POU não está
'<nome>' atribuída.
4332 Expressão esperada na entrada '<nome>' da A entrada da POU é do tipo VAR_IN_OUT e
caixa '<nome>' não é atribuída.
4333 Identificador no salto esperado A marca de salto fornecida não é um identificador válido.

4334 Expressão esperada na entrada do salto Atribua uma expressão booleana à entrada do
salto. Se for TRUE, o salto será executado.
4335 Expressão esperada na entrada do retorno Atribua uma expressão booleana à entrada da
instrução RETURN. Se for TRUE, o salto será
executado.
4336 Expressão esperada na entrada da saída Atribua uma expressão adequada à caixa de saída.

286 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


4337 Identificador para entrada esperado Insira uma expressão ou identificador válido na caixa de
entrada.

4338 A caixa '%s' não tem entradas A nenhuma das entradas do operador POU
'<nome>' é atribuída uma expressão válida.
4339 Tipo incompatível na saída: não é possível O tipo da expressão na caixa de saída não é
converter '<nome>' em '<nome>'. compatível com o da expressão que deve ser
atribuída a ela.
4340 Jump requer 'BOOL' como tipo de entrada Certifique-se de que a entrada para o salto seja
uma expressão booleana.
4341 O retorno requer 'BOOL' como tipo de entrada Certifique-se de que a entrada para a instrução
RETURN seja uma expressão booleana.
4342 Expressão esperada na entrada 'EN' da caixa Atribua uma expressão booleana válida à
'<nome>' entrada EN da caixa.
4343 Valores das Constantes: '<nome>' A entrada '<nome>' da caixa '<nome>' é declarada
como VAR_INPUT CONSTANT. Mas para esta caixa POU
uma expressão foi atribuída na caixa de diálogo 'Editar
Parâmetros' que não é compatível com o tipo.
4344 'S' e 'R' requerem o operando 'BOOL' Insira uma expressão booleana válida após Set
resp. Reiniciar instrução.
4345 Tipo inválido para o parâmetro '<nome>' de '<nome>': Uma expressão é atribuída à entrada '<nome>' da
Não é possível converter '<tipo>' para '<tipo>'. caixa POU '<nome>' que não é do tipo
compatível.
4346 Não é permitido usar uma constante como saída" Você só pode atribuir uma saída a uma variável ou um
endereço direto com acesso de gravação.
4347 O parâmetro 'VAR_IN_OUT' precisa de uma variável com acesso de Para os parâmetros VAR_IN_OUT somente variáveis
gravação como entrada. com acesso de escrita podem ser passadas, pois estas
podem ser modificadas dentro da POU.
4348 Nome de programa inválido '<nome>'. Já existe uma Você inseriu uma caixa de programa no editor
variável com o mesmo nome. CFC, que tem o mesmo nome de uma variável
(global) já existente em seu projeto. Você deve
renomear de acordo.
4349 A entrada ou saída na POU <nome> foi excluída: Corrija a POU apropriadamente.
Verifique todas as conexões com a caixa. Esta
mensagem de erro desaparece somente após a edição
do CFC
4350 Uma ação SFC não pode ser acessada de As ações SFC só podem ser chamadas dentro da
fora! POU SFC na qual são definidas.
4351 O nome da etapa não é identificador: '<nome>' Renomeie a etapa ou escolha um identificador válido como
nome da etapa.

4352 Caracteres extras após o nome da etapa Remova os caracteres inválidos no nome da
válida:'<nome>' etapa.
4353 Nome do passo duplicado: '<nome>' Renomeie uma das etapas.
4354 Ir para a etapa indefinida: '<nome>' Escolha um nome de passo existente como objetivo do
salto resp. insira uma etapa com o nome ‚<nome>'.
4355 Uma transição não deve ter nenhum efeito Uma transição deve ser uma expressão booleana.
colateral (Assignments, FB-Calls etc.)
4356 Salto sem nome de passo válido: '<nome>' Use um identificador válido como objetivo (marca) do salto.

4357 Biblioteca IEC não encontrada Verifique se a biblioteca iecsfc.lib está inserida no
gerenciador de bibliotecas e se os caminhos da biblioteca
definidos em 'Projeto' 'Opções' 'Caminhos' estão corretos.

4358 Ação não declarada: '%s'. Certifique-se de que no organizador do objeto a


ação do passo IEC seja inserida abaixo da POU
SFC e que no editor o nome da ação seja
inserido na caixa à direita do qualificador.

Controle CLP TwinCAT 2 Versão: 1.0 287


Apêndice

Número Mensagem de erro Possível causa


4359 Qualificador inválido: '%s' Na caixa à esquerda do nome da ação, insira
um qualificador para a ação IEC.
4360 Constante de tempo esperada após o qualificador '%s' Digite ao lado da caixa à esquerda do nome da
ação uma constante de tempo atrás do
qualificador.
4361 '%s' não é o nome de uma ação Insira ao lado da caixa à direita do qualificador
o nome de uma ação ou o nome de uma
variável definida no projeto.
4362 Expressão não booleana usada na ação: '%s' Insira uma variável booleana ou um nome de ação válido.
4363 Nome da etapa IEC já usado para variável: Por favor, renomeie a etapa ou a variável.
'<nome>'
4364 Uma transição deve ser uma expressão booleana O resultado da expressão de transição deve ser
do tipo BOOL.
4365 Constante de tempo esperada após o qualificador '<nome>' Abra a caixa de diálogo 'atributos da etapa' para a etapa '<nome>' e
insira uma variável de tempo ou constante de tempo válida

4366 O rótulo da ramificação paralela não é um Insira um identificador válido ao lado do triângulo que
identificador válido: '<nome>' marca o rótulo de salto.
4367 O rótulo '<nome>' já é usado Já existe um rótulo de salto ou uma etapa com este nome.
Por favor, renomeie correspondentemente.
4368 A ação '<nome>' é usada em várias cadeias de A ação '<nome>' é utilizada na POU, bem como
etapas, onde uma contém a outra! em uma ou várias ações da POU.
4369 Exatamente uma rede necessária para uma transição São usados vários FBD resp. Redes LD para
uma transição. Reduza para 1 rede.
4370 Linhas adicionais encontradas após a transição IL correta Remova as linhas desnecessárias no final da
transição.
4371 Caracteres inválidos após expressão válida: Remova os caracteres desnecessários no final
'<nome> da transição.
4372 Passo '<nome>': Limite de tempo precisa digitar 'TIME' Defina os limites de tempo da etapa nos atributos da etapa
usando uma variável do tipo TIME ou por uma definição de
hora no formato correto (por exemplo
"t#200ms").
4373 Ações IEC são permitidas apenas com SFC-POUs Existe uma ação atribuída a uma POU não-SFC
(ver no Object Organizer), que é programada
em SFC e que contém ações IEC. Substitua esta
ação por uma que não contenha ações IEC.

4374 Etapa esperada em vez da transição '<nome>' A POU SFC está corrompida, possivelmente devido a qualquer
ação de exportação/importação.

4375 Transição esperada em vez da etapa '<nome>' A POU SFC está corrompida, possivelmente devido a qualquer
ação de exportação/importação.

4376 Etapa esperada após a transição '<nome>' A POU SFC está corrompida, possivelmente devido a qualquer
ação de exportação/importação.

4377 Transição esperada após a etapa '<nome>' A POU SFC está corrompida, possivelmente devido a qualquer
ação de exportação/importação.

Variável ou endereço não reconhecido A variável watch não é declarada dentro do projeto.
Ao pressionar <F2> você obtém o assistente de
entrada que lista as variáveis declaradas.
4501 Caracteres extras seguindo a expressão de Remova os sinais excedentes.
observação válida

4520 Erro no Pragma: sinalizador esperado antes de O pragma não está correto. Verifique se '<nome>'
'<nome>'! é um sinalizador válido.
4521 Erro no Pragma: elemento inesperado Verifique se o pragma está composto corretamente.
'<nome>'!

288 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


4522 "flag off' pragma esperado! O desligamento do pragma está faltando, adicione
uma instrução 'flag off'.
4550 Índice fora do intervalo definido: Variável OD Certifique-se de que o índice esteja dentro da área definida
"número>, Linha <número da linha>. nas configurações de destino/
funcionalidade de rede.
4551 Subíndice fora do intervalo definido: Variável OD Certifique-se de que o subíndice esteja dentro da
"número>, Linha <número da linha>. área definida nas configurações de destino/
funcionalidade da rede.
4552 Índice fora do intervalo definido: Parâmetro OD Certifique-se de que o índice esteja dentro da área definida
"número>, Linha <número da linha>. nas configurações de destino /
funcionalidade de rede
4553 Subíndice fora do intervalo definido: Parâmetro OD Certifique-se de que o subíndice esteja dentro da
"número>, Linha <número da linha>. área definida nas configurações de destino/
funcionalidade da rede.
4554 Variablename inválido: Variável OD <número>, Linha Insira uma variável de projeto válida no campo
<número da linha>. 'variável'. Use a sintaxe <nome da POU>.<nome
da variável> resp. para variáveis
globais .<nome da variável>
4555 Entrada de tabela vazia, entrada não opcional: Parâmetro Você deve fazer uma entrada neste campo.
OD <número>, Linha <número da linha>
4556 Entrada de tabela vazia, entrada não opcional: Você deve fazer uma entrada neste campo.
Variável OD <número>, Linha <número>
4557 A memória de parâmetros necessária é muito grande O tamanho máximo de dados que podem ser carregados por
meio de listas de parâmetros do tipo Parâmetros para o
controlador foi excedido. Esse tamanho é definido pelo sistema
de destino. As informações sobre o tamanho dos dados são
exibidas na janela de mensagem durante a compilação. Reduza o
tamanho das listas de parâmetros.

4558 A memória variável necessária é muito grande O tamanho máximo de dados que podem ser carregados por
meio de listas de parâmetros do tipo Variáveis para o
controlador foi excedido. Esse tamanho é definido pelo sistema
de destino. As informações sobre o tamanho dos dados são
exibidas na janela de mensagem durante a compilação. Reduza o
tamanho das listas de parâmetros.

4560 Valor inválido: Dicionário '<Nome>', coluna Verifique esta entrada. Depende da definição da coluna
'<Nome>', linha '<número da linha>' (atributo) usada atualmente quais entradas são válidas
para este campo. Essa definição é fornecida pelo arquivo de
descrição XML específico do destino do gerenciador de
parâmetros resp. pelas configurações padrão que serão
usadas se não houver arquivo de descrição.

4561 Coluna não definida: '<Nome>' As entradas em uma coluna da lista de parâmetros referem-
se a outra coluna, porém não definida. As definições de
coluna são fornecidas pelo arquivo de descrição (XML) do
Gerenciador de Parâmetros para o destino atual. Se um
arquivo de descrição não estiver disponível, as configurações
padrão serão usadas.
4562 Índice/subíndice já usado: Dicionário A combinação Índice/Subíndice deve ser única em
'<Nome>', linha '<Número da linha>' todas as listas de parâmetros, pois pode ser usada
para o acesso aos parâmetros. Corrija os índices
correspondentemente.
4563 Identificador '<Nome>' já usado: Dicionário O nome deve ser único em todas as listas de
'<Nome>', linha '<Número da linha>' parâmetros, pois pode ser usado para acesso a
parâmetros.

Controle CLP TwinCAT 2 Versão: 1.0 289


Apêndice

Número Mensagem de erro Possível causa


4564 O índice '<Nome>' está fora do intervalo: Dicionário Insira um índice que esteja dentro do intervalo definido nas
'<Nome>', linha '<Número da linha>' configurações de destino, funcionalidade de rede de categoria
no campo 'Intervalo de índice...' para os respectivos tipos de lista
(Variáveis, Parâmetros, Mapeamentos).

4565 O subíndice '<Nome>' está fora do intervalo: Dicionário Insira um subíndice que esteja dentro do intervalo definido nas
'<Nome>', linha '<Número da linha>' configurações de destino, funcionalidade de rede de categoria
no campo 'Intervalo de subíndice'.

4566 Ocorreu um erro durante a importação do Você importou um arquivo de exportação que
gerenciador de parâmetros contém informações incorretas no Parameter
Manager. Verifique o arquivo *.exp.
Variáveis de rede: a expressão '<nome>' não é Certifique-se de que a variável definida na caixa de diálogo
do tipo bool! de propriedades da lista de variáveis de rede na opção
'Transmitir no evento' seja do tipo BOOL.
4601 Variáveis de rede '<nome>': Nenhuma tarefa Não há tarefa cíclica ou de roda livre resp. PLC_PRG
cíclica ou de roda livre para troca de variável de no projeto onde são utilizadas as variáveis de rede
rede encontrada do tipo CAN ou UDP da lista dada (somente
declaração não é suficiente!). Deve-se tomar cuidado
para que as variáveis sejam utilizadas em uma tarefa
apropriada ou em PLC_PRG. Se você quiser usá-los
em várias tarefas, considere que, na troca de dados, a
tarefa com maior prioridade será considerada.

4602 '<nome da lista de variáveis de rede>': O objeto usa a Nas configurações da lista de variáveis de rede nomeadas,
porta UDP '<número da porta>' em vez de '<número da é usado um número de porta que não é o mesmo usado na
porta>' primeira lista de variáveis de rede encontrada na pasta de
variáveis globais. Tome cuidado para que todas as listas de
variáveis de rede estejam usando a mesma porta!

4620 Variáveis não utilizadas foram encontradas no Variáveis não utilizadas foram encontradas no
projeto. projeto.
4621 Existem sobreposições na atribuição de Existem sobreposições na atribuição de
variáveis para áreas de memória através da variáveis para áreas de memória através da
declaração „AT"-. declaração „AT"-.
4622 Os endereços IEC atribuídos à mesma área de Os endereços IEC atribuídos à mesma área de
memória são referenciados em mais de uma tarefa. memória são referenciados em mais de uma tarefa.
4623 O projeto obtém acesso de gravação à mesma O projeto obtém acesso de gravação à mesma
área de memória em mais de um local. área de memória em mais de um local.
4650 AxisGroup '<Nome>': A tarefa '<Nome>' não Na Configuração do CP na definição do grupo de eixos
existe. (diálogo 'Parâmetros do módulo', coluna 'Valor') existe
um nome definido para a tarefa que está controlando a
transferência de dados deste grupo de eixos, que não é
conhecido na tarefa
Configuração. Configuração correta da tarefa resp.
Configuração do PLC correspondentemente.
4651 AxisGroup '<Nome>': Cycletime (dwCycle) não definido. Na caixa de diálogo 'Parâmetros do módulo' do grupo de eixos,
insira um valor para o tempo de ciclo (dwCycle).

4670 Programa CNC '<Nome>': Variável global No programa CNC utiliza-se uma variável global
'<Nome>' não encontrada. (p.ex. $glob_var$), que não está definida no
projeto. Adicione a declaração apropriada resp.
corrija a atribuição à variável no programa
CNC.
4671 Programa CNC '<Nome>': A variável '<Nome>' é de Há uma variável atribuída em uma instrução do
tipo incompatível. programa CNC, que é declarada de um tipo de
dado que não é válido neste local. Use outra
variável resp. corrija a especificação do tipo.

290 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Número Mensagem de erro Possível causa


4685 CAM '<Nome>': tipo de tabela CAM desconhecido. Verifique o tipo de dados que é especificado na caixa de diálogo
do Editor CAM ''Opções de compilação.." para a tabela de
pontos otimizados do elemento resp. equidistante.

4686 CAM '<Nome>': o ponto CAM excede o intervalo do tipo de Neste CAM são utilizados pontos que estão fora da faixa de
dados. dados especificada para a tabela de pontos. Para a
definição do intervalo atual, consulte a caixa de diálogo
'Compile options..' no CAM-Editor.
'<Number>' ('<Name>'): A expressão de observação Na configuração da visualização é utilizada uma
'<Name>' não é uma variável numérica. variável que não é um número, conforme requerido
neste local (por exemplo, na configuração dos valores
XOffset ou Angle etc.).
4701 '<Nome>' ('<Número>'): A expressão de Na configuração da visualização é utilizada uma
observação '<nome>' não é do tipo BOOL. variável que não é do tipo BOOL, conforme
requerido neste local.
4702 '<Nome>' ('<Número>'): A expressão de A visualização contém uma variável que não é do
observação '<nome>' não é do tipo STRING. tipo STRING, embora seja necessária neste local
(por exemplo, na configuração do tooltip).
4703 '<Nome>' ('<Number>' ): Expressão de A visualização contém uma variável inválida.
observação inválida '<Nome>'
4704 '<Nome>'('<Número>'): Valor inicial inválido na lista de Nesta watchlist, utilizada em uma visualização
observação '<Nome>'. (comando INTERN na categoria Input), existe um
erro
valor inicial. Confira a lista de usados.
4705 '<nome>' ('<número>'): Nenhum grupo de alarme válido Insira um grupo de alarme válido Na caixa de diálogo de
atribuído à tabela de alarmes. configuração da tabela de alarmes (categoria Tabela de alarmes).

Tipo inválido para conversão Você está usando uma conversão de tipo que não é
suportada pelo atualmente escolhido
gerador de código.

4901 Erro interno: Estouro no acesso ao array! Os limites da matriz são muito grandes para uma variável de
32 bits. Reduza o intervalo do índice da matriz.

10.3 Comandos de linha de comando/arquivo de comando

Comandos de linha de comando

Quando o TwinCAT PLC Control é iniciado, você pode adicionar comandos na linha de comando que serão ativados durante a
execução do programa. Esses comandos começam com um "/". Capitalização/Uso de letras minúsculas não é considerado. Os
comandos serão executados sequencialmente da esquerda para a direita.

Controle CLP TwinCAT 2 Versão: 1.0 291


Apêndice

Comando Descrição
/depurar

/on-line
/correr

/mostrar ... As configurações para a janela do quadro de controle TwinCAT PLC


podem ser feitas.

/aparecer esconder A janela não será exibida, também não será


representada no menu de tarefas.
/mostrar Icone A janela será minimizada na exibição.
/mostrar máximo A janela será maximizada na exibição.
/mostrar normal A janela será exibida no mesmo estado em que estava
durante o último fechamento.
/out <arquivo de saída> Todas as mensagens são exibidas na janela de mensagens e,
adicionalmente, são gravadas no arquivo <outfile>.
/cmd <cmdfile> Após iniciar os comandos do <cmdfile> são
executados.

A entrada de uma linha de comando é estruturada assim:

"<Caminho do arquivo TwinCAT PLC Control-Exe >""<Caminho do projeto>"/<Command1>/<Command2>...

Exemplo de linha de comando:

"D:\dir1 TwinCAT PLC Control" "C:\projects\ampel.pro" /show hide /cmd command.cmd

O projeto ampel.pro é aberto, mas nenhuma janela é aberta. Os comandos incluídos no arquivo de comando
command.cmd serão executados.

Comandos de arquivo de comando (cmdfile)

Consulte a tabela a seguir para obter uma lista de comandos que podem ser usados em um arquivo de comando (<cmdfile>). O
arquivo de comando que você pode chamar por uma linha de comando (veja acima). O uso de letras maiúsculas/minúsculas não é
considerado. A linha de comando será exibida como uma mensagem na janela de mensagem e pode ser fornecida em um arquivo de
mensagem (veja abaixo). Além do comando, um "@" é prefixado. Todos os sinais após um ponto e vírgula (;) serão ignorados
(comentário).

Comandos do menu online:

Comandos Descrição
login online Faça o login com o projeto carregado ('Login Online')
logoff online Sair ('Online' 'Logout')
corrida online Início do programa aplicativo ('Online' 'Executar')
chip online Ligar o modo de simulação 'Online' 'Simulação')
sim on-line desligado Desligar o modo de simulação ('Online' 'Simulação')

Comandos do menu arquivo:

Comandos Descrição
arquivo novo Um novo projeto é criado ('Arquivo' 'Novo').
arquivo aberto <arquivo de projeto> O projeto <projectfile> será carregado ('File' 'Open').
fechar arquivo O projeto atual será fechado ('Arquivo' 'Fechar').
salvar arquivo O projeto atual será armazenado ('Arquivo' 'Salvar').
arquivo salvo como <arquivo de projeto> O projeto atual será salvo com o nome de arquivo
<projectfile> ('Arquivo' 'Salvar como').
sair do arquivo O TwinCAT PLC Control será fechado ('Arquivo' 'Sair').

Comandos do menu do projeto:

292 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Comandos Descrição
compilação do projeto O projeto atual será compilado por "Reconstruir
tudo" ('Projeto' 'Reconstruir tudo').
verificação do projeto O projeto atual será verificado ('Projeto' 'Verificar').
construção do projeto O projeto atual será compilado ('Projeto' 'Construir').
importação de projeto <arquivo1> ... <arquivoN> Os arquivos <arquivo1> ... <arquivoN> são importados para
o projeto atual ('Projeto' 'Importar').
exportação do projeto <arquivo exp> O projeto atual será exportado no arquivo
<expfile> ('Projeto' 'Exportar')
projeto expmul <arquivo exp> Cada objeto do projeto atual será exportado em um
arquivo próprio, que recebe o nome do objeto.

Comandos para o controle do arquivo de mensagens:

Comandos Descrição
fora abrir <msgfile> O arquivo <msgfile> abre como arquivo de mensagem.
Novas mensagens serão anexadas.
de perto O arquivo de mensagem exibido no momento será fechado.

claro Todas as mensagens do arquivo de mensagens aberto no momento


serão excluídas.

Comandos para controle de mensagens:

Comandos Descrição
eco em As linhas de comando serão exibidas como mensagens.
eco desligado As linhas de comando não serão exibidas como
mensagens.
eco <texto> <texto> será exibido na janela de mensagem.

Comandos para controle de substituição de objetos respectivamente para controle de arquivos para importação, exportação, substituição:

Comandos Descrição
substituir ok Substituir

substituir sim
substituir não não substitua
substituir noall Substituir nenhum

substituir simtudo Substitua tudo

Comandos para o controle dos parâmetros padrão dos diálogos:

Comandos Descrição
consulta sobre Os diálogos são exibidos e precisam de entrada do usuário.

consulta desligada ok Todas as caixas de diálogo respondem como se o usuário tivesse clicado
no botão 'OK'.

consulta desligada não Todas as caixas de diálogo respondem como se o usuário tivesse clicado
no botão 'Não'.

consulta desativada cancelar Todas as caixas de diálogo respondem como se o usuário tivesse clicado
no botão 'Cancelar'.

Comando de depuração:

Comandos Descrição
depurar corresponde ao comando "/debug" na linha de
comando

Comando para chamar arquivos de comando como sub-rotinas:

Controle CLP TwinCAT 2 Versão: 1.0 293


Apêndice

Comandos Descrição
chamar <parâmetro1>... <parâmetro10> Os arquivos de comando são chamados como sub-rotinas. Até
dez parâmetros podem ser consignados. Na sub-rotina chamada
você pode acessar os parâmetros usando $0 - $9.

Comandos para configurar as bibliotecas:

Comandos Descrição
dir lib <libdir> <libdir> é definido como diretório da biblioteca

dir compilar <compiledir> <compiledir> é definido como diretório para arquivos de compilação

Comandos para definir um tempo de atraso na execução dos CMDFILEs:

Comandos Descrição
atraso 5000 Esperando 5 segundos.

Comandos para controle do Watch and Recipe Manager:

Comandos Descrição
carregamento da lista de observação <arquivo> A lista de observação salva em <arquivo> será carregada e a
janela apropriada será aberta ('Extras' 'Carregar Lista de
Observação').
lista de observação salvar <arquivo> Salva a lista de observação atual em <arquivo> ('Extras' 'Salvar lista
de observação').

conjunto de lista de observação <texto> Uma lista de observação carregada anteriormente recebe o nome
<texto> ('Extras' 'Renomear lista de observação').

lista de observação lida Os valores das variáveis de observação são


atualizados ('Extras' 'Ler receita').
gravação da lista de observação Os valores da lista de observação são gravados nas variáveis de
observação ('Extras' 'Escrever receita').

Comandos para vincular bibliotecas:

Comandos Descrição
library add <arquivo de biblioteca1> <arquivo de biblioteca2> .. <arquivo de Anexa o arquivo de biblioteca especificado à lista de bibliotecas do
bibliotecaN> projeto aberto no momento. Se o caminho do arquivo for um caminho
relativo, o diretório da biblioteca inserido no projeto será usado como
raiz do caminho.

biblioteca excluir [<biblioteca1> <biblioteca2> .. <bibliotecaN>] Exclui a biblioteca especificada ou (se nenhum nome de biblioteca for
especificado) todas as bibliotecas da lista de bibliotecas do projeto
aberto no momento.

Comandos para copiar objetos:

Comandos Descrição
cópia de objeto <arquivo de projeto de origem> <caminho de origem> Copia objetos do caminho especificado do arquivo de projeto
<caminho de destino> de origem para o caminho de destino do projeto já aberto.

Se o caminho de origem for o nome de um objeto, ele será


copiado. Se for uma pasta, todos os objetos abaixo desta
pasta serão copiados. Nesse caso, a estrutura de pastas
abaixo da pasta de origem será duplicada.
Se o caminho de destino ainda não existir, ele será criado.

Chamadas de sistema de comandos:

Comandos Descrição
sistema <comando> Executa o comando do sistema operacional especificado.

Comandos para o modo online:

294 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

Comandos Descrição
Reiniciar Se você inicializou as variáveis com um valor
específico, este comando redefinirá as variáveis para
o valor inicializado.
Reiniciar tudo Este comando redefine todas as variáveis, incluindo as
persistentes, para seus valores de inicialização e apaga
o programa do usuário no controlador.
CreateBootproject Com este comando, o projeto compilado é configurado no
controlador.
Escolha Runtime <texto> Um sistema de tempo de execução específico pode ser escolhido.
Para <text> use o Net-Id e separe com ":" o número da porta.

Exemplo:EscolhaRuntime 172.16.77.23.1.1:811 ou
ChooseRuntime 5.2.122.255.1.1:801

Exemplo de um arquivo de comando:

Um arquivo de comando como mostrado abaixo abrirá o arquivo de projeto ampel.pro, carregará uma lista de observação,
que foi armazenada como w.wtc, iniciará o programa aplicativo e gravará - após 1 segundo de atraso - os valores das
variáveis em a lista de observação watch.wtc (que será salva) e finalmente fechará o projeto.
arquivo aberto C:\work\projects\ampel.pro

consulta desligada ok

carregamento da lista de observação c:\trabalho\w.wtc

login online

corrida online

atraso 1000

CreateBootproject

lista de observação lida

lista de observação salvar c:\trabalho\assistir.wtc

logoff online

fechar arquivo

10.4 Tipos de dados

Você pode usar tipos de dados padrão e tipos de dados definidos pelo usuário ao programar. Cada identificador é atribuído a
um tipo de dados que determina quanto espaço de memória será reservado e que tipo de valores ele armazena.

OBSERVAÇÃO

Perda de dados

Os diferentes tipos de dados cobrem diferentes faixas de valores. Se forem usadas conversões de tipos maiores para menores, as
informações podem ser perdidas.

Controle CLP TwinCAT 2 Versão: 1.0 295


Apêndice

Requisitos

Tipos de dados padrão Tipos de dados definidos pelo usuário

BOOL [ }296] VARIEDADE [ }300]

BYTE [ }297] PONTEIRO [ }301]


PALAVRA [ }297] ENUM [ }301] (tipos de dados enumerados)

DWORD [ }297] ESTRUTURA [ }302] (estruturas)

SINT [ }297] ALIAS [ }304] (tipos de dayta derivados)

USINT [ }298] Tipos de dados de subintervalo [ }304]

INT [ }298]
UINT [ }298]
DINT [ }298]
UDINT [ }298]
LINT (número inteiro de 64 bits, atualmente não suportado
pelo TwinCAT)

ULINT (Inteiro não assinado de 64 bits, atualmente não


suportado pelo TwinCAT)

REAL [ }298]
LREAL [ }299]
CORDA [ }299]
TEMPO [ }299]

HORA DO DIA [ }299] (TOD)


DATA [ }299]
DATA E HORA [ }300] (TD)

10.4.1 Tipos de dados padrão

10.4.1.1 BOOL
As variáveis do tipo BOOL podem receber os valores TRUE e FALSE.

Tipo Uso de memória

BOOL 8 bits

Uma variável do tipo BOOL é verdadeira, se o bit menos significativo na memória estiver definido (por exemplo,
2#00000001 ). Se nenhum bit for definido na memória, a variável é FALSE (2#00000000). Todos os outros valores não podem
ser interpretados com precisão e exibidos (***INVALID: 16#xy *** na Visualização Online). Tais problemas podem aparecer,
se, por exemplo, faixas de memória sobrepostas forem usadas no programa PLC.

Exemplo:

A variável booleana está no mesmo intervalo de memória que a variável byte.


PROGRAMA PRINCIPAL
VAR
bBool AT%MB0 :BOOL;
nByte AT%MB0 : BYTE := 3;
bISTRUE :BOOL;
END_VAR

296 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

SE bBool ENTÃO
bIsTRUE := VERDADEIRO;
OUTRO
bIsVERDADEIRO := FALSO;
FIM SE

Exibição online após o início do programa

10.4.1.2 BYTE
Tipo de dado inteiro.

Tipo Limite inferior Limite superior Uso de memória

BYTE 0 255 8 bits

10.4.1.3 PALAVRA

Tipo de dado inteiro.

Tipo Limite inferior Limite superior Uso de memória

PALAVRA 0 65535 16 bits

10.4.1.4 DWORD
Tipo de dado inteiro.

Tipo Limite inferior Limite superior Uso de memória

DWORD 0 4294967295 32 bits

10.4.1.5 SINT
Tipo de dados de número inteiro com sinal (curto).

Tipo Limite inferior Limite superior Uso de memória

SINT - 128 127 8 bits

Controle CLP TwinCAT 2 Versão: 1.0 297


Apêndice

10.4.1.6 USINT
Tipo de dados inteiro sem sinal (curto).

Tipo Limite inferior Limite superior Uso de memória

USINT 0 255 8 bits

10.4.1.7 INT
Tipo de dados inteiro com sinal.

Tipo Limite inferior Limite superior Uso de memória

INT - 32768 32767 16 bits

10.4.1.8 UINT
Tipo de dados inteiro não assinado.

Tipo Limite inferior Limite superior Uso de memória

UINT 0 65535 16 bits

10.4.1.9 FORÇA

Tipo de dados inteiro com sinal.

Tipo Limite inferior Limite superior Uso de memória

FORÇA - 2147483648 2147483647 32 bits

10.4.1.10 UDINT
Tipo de dados inteiro não assinado.

Tipo Limite inferior Limite superior Uso de memória

UDINT 0 4294967295 32 bits

10.4.1.11 REAL
Tipo de dados de ponto flutuante de 32 bits. É necessário representar números racionais.

Tipo Limite inferior Limite superior Uso de memória

REAL ~ -3,402823 x 1038 ~ 3,402823 x 1038 32 bits

298 Versão: 1.0 Controle CLP TwinCAT 2


Apêndice

10.4.1.12 LREAL
Tipo de dados de ponto flutuante de 64 bits. É necessário representar números racionais.

Tipo Limite inferior Limite superior Uso de memória

LREAL ~ ~ 64 bits
- 1.79769313486231E308 1.79769313486232E308

10.4.1.13 CADEIRA
Uma variável do tipo STRING pode conter qualquer string de caracteres. A entrada de tamanho na declaração
determina quanto espaço de memória deve ser reservado para a variável. Refere-se ao número de caracteres na
string e pode ser colocado entre parênteses ou colchetes.

Exemplo de declaração de string com 35 caracteres:


str:STRING(35):='Isto é uma String';

Tipo Uso de memória

CORDA • Se nenhuma especificação de tamanho for fornecida, o tamanho


padrão de 80 caracteres será usado:Uso de memória [Bytes] =
80 + 1 Byte para caractere nulo terminado em string;

• Se a especificação do tamanho da coluna for fornecida:Uso de


memória [Bytes] = Tamanho da String + 1 Byte para
caractere nulo terminado em string);

10.4.1.14 TEMPO
Tempo de duração. O dígito menos significativo é um milissegundo. O tipo de dados é tratado internamente como DWORD.

Tipo Limite inferior Limite superior Uso de memória

TEMPO T#0ms T#71582m47s295ms 32 bits

10.4.1.15 TOD
Hora do dia. O dígito menos significativo é um milissegundo. O tipo de dados é tratado internamente como DWORD.

Tipo Limite inferior Limite superior Uso de memória

HORA DO DIA TOD#00:00 TOD#1193:02:47.295 32 bits


TOD

10.4.1.16 DATA
Data. O dígito menos significativo é um segundo. O tipo de dados é tratado internamente como DWORD.

Tipo Limite inferior Limite superior Uso de memória

DATA D#1970-01-01 D#2106-02-06 32 bits

Controle CLP TwinCAT 2 Versão: 1.0 299


Apêndice

10.4.1.17 DT
Data e hora. O dígito menos significativo é um segundo. O tipo de dados é tratado internamente como DWORD.

Tipo Limite inferior Limite superior Uso de memória

DATA E HORA DT#1970-01-01-00:00 DT#2106-02-06-06:28:15 32 bits


DT

10.4.2 Tipos de dados do usuário

10.4.2.1 Matrizes

Campos unidimensionais, bidimensionais e tridimensionais (arrays) são suportados como tipos de dados elementares. Arrays podem ser
definidos tanto na parte de declaração de uma POU quanto nas listas de variáveis globais.

Sintaxe:
<Field_Name>:ARRAY
[<LowLim1>..<UpLim1>, <LowLim2>..<UpLim2>] OF
<elem. Digite>

LowLim1,LowLim2identificar o limite inferior da faixa de campo;UpLim1eUpLim2identificar o limite superior. Os valores do


intervalo devem ser inteiros.

Exemplo:
Card_game: ARRAY [1..13, 1..4] OF INT;

Inicialização de Arrays

Você pode inicializar todos os elementos em uma matriz ou nenhum deles.

Exemplo para inicializar arrays:


arr1 : ARRAY [1..5] OF INT := 1,2,3,4,5;

arr2 : ARRAY [1..2,3..4] OF INT := 1,3(7); (* abreviação de 1,7,7,7


*)

arr3 : MATRIZ [1..2,2..3,3..4] OF INT := 2(0),4(4),2,3; (* abreviação de 0,0,4,4,4,4,2,3 *)

Exemplo para a inicialização de um array de uma estrutura:


TIPO ESTRUTURA1
ESTRUTURA
p1:int;
p2:int;
p3:palavra;
END_STRUCT
arr1 : ARRAY[1..3] OF STRUCT1:=[(p1:=1,p2:=10,p3:=4723),
(p1:=2,p2:=0,p3:=299), (p1 :=14,p2:=5,p3:=112)];

Exemplo de inicialização parcial de um Array:


arr1 : ARRAY [1..10] OF INT := 1,2;

Elementos aos quais nenhum valor é pré-atribuído são inicializados com o valor inicial padrão do tipo básico. No
exemplo acima, os elementosarr1[3] paraarr1[10] são, portanto, inicializados com 0.

Os componentes do array são acessados em um array bidimensional usando a seguinte sintaxe:


<Field_Name>[Índice1,Índice2]

Exemplo:
Card_game[9,2]

300 Versão: 1.0 Controle CLP TwinCAT 2

Você também pode gostar