Escolar Documentos
Profissional Documentos
Cultura Documentos
EIO0000003295.03
11/2022
www.se.com
Informações legais
A marca Schneider Electric e quaisquer marcas comerciais da Schneider Electric SE
e suas subsidiárias mencionadas neste guia são de propriedade da Schneider
Electric SE e de suas subsidiárias. Todas as outras marcas podem ser marcas
registradas de seus respectivos proprietários. Este guia e seu conteúdo são
protegidos pelas leis de direitos autorais aplicáveis e fornecidos somente para fins
informativos. Nenhuma parte deste guia pode ser reproduzida ou transmitida de
qualquer forma ou por qualquer meio (eletrônico, mecânico, fotográfico, gravação ou
outro), para qualquer finalidade, sem a permissão prévia por escrito da Schneider
Electric.
A Schneider Electric não concede nenhum direito ou licença para uso comercial do
guia ou de seu conteúdo, exceto para uma licença não exclusiva e pessoal para
consultá-lo "no estado em que se encontra".
Os produtos e equipamentos da Schneider Electric devem ser instalados, operados,
consertados e mantidos somente por pessoal qualificado.
Como os padrões, as especificações e os designs mudam de tempos em tempos, as
informações neste guia podem estar sujeitas a alterações sem aviso prévio.
Na medida permitida pela lei aplicável, a Schneider Electric e suas subsidiárias não
assumem nenhuma responsabilidade ou obrigação por quaisquer erros ou omissões
no conteúdo informativo deste material ou consequências decorrentes do uso das
informações contidas neste documento.
EIO0000003295.03 3
Instruções aritméticas sobre objetos de ponto flutuante .........................68
Instruções trigonométricas...................................................................70
Instruções de conversão de ângulo ......................................................71
Instruções de conversão inteiro/flutuante..............................................72
ASCII.......................................................................................................74
Instruções ROUND .............................................................................74
Instruções de conversão de ASCII para inteiro ......................................75
Instruções de conversão de inteiro para ASCII ......................................77
ASCII para instruções de conversão de flutuante ..................................78
Instruções de conversão de flutuante para ASCII ..................................80
Instruções de conversão de ASCII para palavra dupla ...........................81
Instruções de conversão de palavra dupla para ASCII ...........................83
Operadores de pilha .................................................................................84
Instruções da pilha (MPS, MRD, MPP) .................................................84
Instruções em tabelas de objetos...............................................................85
Atribuição de tabelas de palavra, palavra dupla e ponto
flutuante.............................................................................................86
Funções de soma de tabela.................................................................87
Funções de comparação de tabelas .....................................................88
Funções de pesquisa de tabela............................................................89
Funções de pesquisa de tabelas para valores máximos e
mínimos .............................................................................................90
Número de ocorrências de um valor em uma tabela ..............................91
Funções de deslocamento de giro de tabela .........................................92
Funções de classificação de tabela ......................................................93
Funções de interpolação de tabela de ponto flutuante (LKUP)................94
Funções MEAN dos valores de uma tabela de ponto flutuante ...............97
Função SWAP dos valores de uma tabela do Word ...............................98
Instruções em objetos de E/S ....................................................................99
Ler entrada incorporada digital imediata (READ_IMM_IN) .....................99
Saída digital incorporada imediata de gravação (WRITE_IMM_
OUT................................................................................................. 100
Parâmetro de bloco de funções de leitura imediata (READ_
IMM) ................................................................................................ 101
Parâmetro de bloco de funções de gravação imediata (WRITE_
IMM) ................................................................................................ 102
Objetos de E/S ........................................................................................ 104
Contador rápido (%FC) ........................................................................... 104
Contador de alta velocidade (%HSC) ....................................................... 104
Impulso (%PLS) ..................................................................................... 104
Modulação por duração de impulso (%PWM) ........................................... 104
Objetos de rede ....................................................................................... 106
Objetos de rede...................................................................................... 106
Objetos de software................................................................................ 107
Utilizando os blocos de funções............................................................... 107
Princípios de programação de blocos de funções ................................ 107
Adicionar um bloco de funções .......................................................... 108
Configurando um bloco de funções .................................................... 110
Temporizador (%TM) .............................................................................. 110
Descrição......................................................................................... 111
4 EIO0000003295.03
Configuração.................................................................................... 111
TON: temporizador de atraso............................................................. 113
TOF: temporizador de atraso desligado .............................................. 116
TP: Temporizador de pulsos .............................................................. 119
Exemplo de programação.................................................................. 122
Contador (%C) ....................................................................................... 122
Descrição......................................................................................... 123
Configuração.................................................................................... 124
Exemplo de programação.................................................................. 126
Mensagem (%MSG) e intercâmbio (EXCH) .............................................. 127
Visão geral ....................................................................................... 127
Descrição......................................................................................... 129
Configuração.................................................................................... 134
Exemplo de programação.................................................................. 137
Exemplos ASCII ............................................................................... 138
Pedidos e exemplos padrão do Modbus ............................................. 140
Registro LIFO/FIFO (%R)........................................................................ 147
Descrição......................................................................................... 147
Configuração.................................................................................... 148
Operação de registo LIFO ................................................................. 150
Operação de registo FIFO ................................................................. 151
Exemplo de programação.................................................................. 152
Drums (%DR)......................................................................................... 152
Descrição......................................................................................... 153
Configuração.................................................................................... 154
Exemplo de programação.................................................................. 155
Registro de bit de deslocamento (%SBR) ................................................. 158
Descrição......................................................................................... 158
Configuração.................................................................................... 159
Exemplo de programação.................................................................. 160
Step Counter (%SC) ............................................................................... 161
Descrição......................................................................................... 161
Configuração.................................................................................... 162
Exemplo de programação.................................................................. 163
Blocos de agendamento (%SCH) ............................................................ 164
Descrição......................................................................................... 164
Programação e configuração ............................................................. 167
Relógio em tempo real (RTC) .................................................................. 169
Descrição......................................................................................... 169
Configuração.................................................................................... 171
PID........................................................................................................ 172
Função PID ...................................................................................... 172
Registro de dados .................................................................................. 173
Registro de dados............................................................................. 173
Passos Grafcet....................................................................................... 175
Passos Grafcet ................................................................................. 175
Objetos de PTO....................................................................................... 176
Tabela de tarefa de movimentos (%MT) ................................................... 176
Saída do trem de pulso (%PTO) .............................................................. 176
Objetos da unidade ................................................................................ 177
Objetos da unidade................................................................................. 177
EIO0000003295.03 5
Objetos de comunicação ....................................................................... 178
Ler dados de um dispositivo remoto(%READ_VAR) .................................. 178
Descrição......................................................................................... 178
Configuração da função .................................................................... 182
Exemplo de programação.................................................................. 184
Gravar dados em um dispositivo Modbus(%WRITE_VAR)......................... 184
Descrição......................................................................................... 184
Configuração da função .................................................................... 186
Exemplo de programação.................................................................. 189
Ler e gravar dados em um dispositivo Modbus (%WRITE_READ_
VAR)...................................................................................................... 189
Descrição......................................................................................... 189
Configuração da função .................................................................... 191
Exemplo de programação.................................................................. 193
Comunicação em um link ASCII(%SEND_RECV_MSG)............................ 194
Descrição......................................................................................... 194
Configuração da função .................................................................... 196
Exemplo de programação.................................................................. 198
Enviar Receber SMS (%SEND_RECV_SMS) ........................................... 199
Descrição......................................................................................... 199
Configuração da função .................................................................... 205
Diagramas de temporização para blocos de função do objeto de
comunicação.......................................................................................... 210
Exemplos de diagramas de temporização........................................... 210
Funções definidas pelo usuário ............................................................ 212
Apresentação......................................................................................... 212
Blocos de função definidos pelo usuário ............................................. 213
Apresentação......................................................................................... 213
Funções de relógio ................................................................................. 214
Funções de relógio ................................................................................. 214
Carimbo de data e hora........................................................................... 214
Definir data e hora .................................................................................. 216
Glossário .................................................................................................. 219
Índice ........................................................................................................ 221
6 EIO0000003295.03
Informações de segurança
Informações de segurança
Informações importantes
Leia estas instruções cuidadosamente e observe o equipamento para se
familiarizar com o dispositivo antes de tentar instalar, operar, consertar ou fazer
manutenção. As seguintes mensagens especiais podem aparecer ao longo desta
documentação ou no equipamento para alertar sobre perigos potenciais ou para
chamar a atenção para informações que esclarecem ou simplificam um
procedimento.
Este é o símbolo de alerta de segurança. Ele é usado para alertar sobre riscos
de lesão física em potencial. Obedeça a todas as mensagens que seguem esse
símbolo a fim de evitar possíveis lesões ou morte.
! PERIGO
PERIGO indica uma situação de risco que, se não for evitada, resultará em lesão
grave ou morte.
! ATENÇÃO
ATENÇÃO indica uma situação de risco que, se não for evitada, pode resultar em lesão
grave ou morte.
! CUIDADO
CUIDADO indica uma situação de risco que, se não for evitada, pode resultar em lesões
leves ou moderadas.
AVISO
O AVISO é usado para abordar práticas não relacionadas a lesão física.
Observação
O equipamento elétrico deve ser instalado, operado, reparado e mantido apenas
por pessoal qualificado. Nenhuma responsabilidade é assumida pela Schneider
Electric por quaisquer consequências decorrentes do uso deste material.
Uma pessoa qualificada é aquela que possui habilidades e conhecimentos
relacionados à construção e operação de equipamentos elétricos e sua
instalação, e recebeu treinamento de segurança para reconhecer e evitar os
perigos envolvidos.
Antes de começar
Não utilize este produto em maquinários que não tenham uma proteção efetiva no
ponto de operação. A falta de proteção efetiva no ponto de operação de uma
máquina pode resultar em ferimentos graves ao operador dessa máquina.
EIO0000003295.03 7
Informações de segurança
ATENÇÃO
EQUIPAMENTO SEM PROTEÇÃO
• Não utilize este software e o equipamento de automação relacionado em
equipamentos que não tenham proteção no ponto de operação.
• Não toque no maquinário durante a operação.
O não cumprimento destas instruções poderá resultar em morte,
ferimentos graves ou danos do equipamento.
Partida e teste
Antes de usar o controle elétrico e o equipamento de automação para operação
regular após a instalação, deve-se testar a inicialização do sistema por pessoal
qualificado para verificar a operação correta do equipamento. É importante que
os preparativos para tal busca sejam feitos e que haja tempo suficiente para
realizar um teste completo e satisfatório.
8 EIO0000003295.03
Informações de segurança
ATENÇÃO
RISCO DE FUNCIONAMENTO DO EQUIPAMENTO
• Verifique se todos os procedimentos de instalação e inicialização foram
concluídos.
• Antes da execução dos testes funcionais, retire de todos os dispositivos
componentes todos os blocos ou meios de suporte temporários utilizados
para a expedição.
• Retire ferramentas, aparelhos de medição e resíduos do equipamento.
O não cumprimento destas instruções poderá resultar em morte,
ferimentos graves ou danos do equipamento.
Funcionamento e ajustes
As precauções a seguir são da NEMA Standards Publication ICS 7.1-1995
(aversão em inglês prevalece):
• Independentemente do cuidado exercido no projeto e na fabricação de
equipamentos ou na seleção e classificação dos componentes, existem
riscos que podem ser encontrados se tal equipamento for operado de forma
inadequada.
• Algumas vezes é possível desajustar o equipamento, produzindo uma
operação insatisfatória ou sem segurança. Sempre utilize as instruções do
fabricante como um guia para ajustes funcionais. Os funcionários que
tiverem acesso a esses ajustes devem estar familiarizados com as instruções
do fabricante do equipamento e com o maquinário usado com o equipamento
elétrico.
• O operador deverá ter acesso somente os ajustes operacionais que ele
precise executar. O acesso a outros controles deve ser restrito a fim de evitar
alterações não autorizadas nas características operacionais.
EIO0000003295.03 9
Sobre este manual
Âmbito de aplicação
As informações neste manual são aplicáveis somente para produtos compatíveis
com EcoStruxure Machine Expert - Basic.
Este documento foi atualizado para o lançamento do EcoStruxureTM Machine
Expert - Basic V1.2 SP1 Patch 1.
As características descritas no presente documento, bem como as descritas nos
documentos incluídos na secção Documentos relacionados abaixo, podem ser
encontradas online. Para acessar as informações online, vá para a página inicial
da Schneider Electric www.se.com/ww/en/download/.
As características descritas no presente documento devem ser as mesmas que as
características apresentadas online. De acordo com a nossa política de melhoria
constante, podemos rever periodicamente os conteúdos para melhorar a clareza e
a exatidão. Se você encontrar uma diferença entre o documento e as informações
online, use as informações online como referência.
Documentos relacionados
Título da documentação Número de referência
EIO0000003282 (FRA)
EIO0000003283 (GER)
EIO0000003284 (SPA)
EIO0000003285 (ITA)
EIO0000003286 (CHS)
EIO0000003287 (POR)
EIO0000003288 (TUR)
EIO0000003307 (GER)
EIO0000003308 (SPA)
EIO0000003309 (ITA)
EIO0000003310 (CHS)
EIO0000003311 (POR)
EIO0000003312 (TUR)
10 EIO0000003295.03
Sobre este manual
EIO0000003298 (FRE)
EIO0000003299 (GER)
EIO0000003300 (SPA)
EIO0000003301 (ITA)
EIO0000003302 (CHS)
EIO0000003303 (POR)
EIO0000003304 (TUR)
EIO0000003314 (FRA)
EIO0000003315 (GER)
EIO0000003316 (SPA)
EIO0000003317 (ITA)
EIO0000003318 (CHS)
EIO0000003319 (POR)
EIO0000003320 (TUR)
ATENÇÃO
PERDA DE CONTROLE
• O projetista de qualquer esquema de controle deve considerar os possíveis
modos de falha de caminhos de controle e, para certas funções essenciais
de controle, fornecer um meio para atingir um estado seguro durante e após
uma falha no caminho. Exemplos de funções essenciais de controle são
parada de emergência e parada de ultrapassagem, falta de energia e
reiniciar.
• Caminhos de controle separados ou redundantes devem ser fornecidas
para as funções essenciais de controle.
• Caminhos de controle do sistema podem incluir links de comunicação.
Considerações devem ser dadas para as implicações dos atrasos de
transmissão imprevistos ou falhas do link.
• Observar todos os regulamentos de prevenção de acidentes e orientações
de segurança local.1
• Cada implementação desse equipamento deve ser individual e
cuidadosamente testada para o funcionamento correto antes de ser
colocado em serviço.
O não cumprimento destas instruções poderá resultar em morte,
ferimentos graves ou danos do equipamento.
1Para obter informações adicionais, consulte NEMA ICS 1.1 (última edição),
"Safety Guidelines for the Application, Installation, and Maintenance of Solid State
Control"e NEMA ICS 7.1 (última edição), "Safety Standards for Construction and
Guide for Selection, Installation and Operation of Adjustable-Speed Drive
Systems" ou seu equivalente em sua localização.
EIO0000003295.03 11
Sobre este manual
ATENÇÃO
OPERAÇÃO NÃO INTENCIONAL DO EQUIPAMENTO
• Use somente software aprovado pela Schneider Electric para uso com este
equipamento.
• Atualize seu programa do aplicativo sempre que a configuração física do
hardware for alterada.
O não cumprimento destas instruções poderá resultar em morte,
ferimentos graves ou danos do equipamento.
Padrão Descrição
12 EIO0000003295.03
Sobre este manual
Padrão Descrição
Série IEC 61158 Comunicação de dados digitais para medição e controle - Barramento
de campo para utilização em sistemas de controle industriais
EIO0000003295.03 13
Introdução
Introdução
Visão geral
Este capítulo fornece informações sobre como utilizar os exemplos de código-
fonte e os blocos necessários para executar muitos dos exemplos de operação e
instruções de designação dados neste documento.
Procedimento de reversibilidade
Para obter o código fonte do Diagrama Ladder equivalente:
Etapa Ação
2
Em EcoStruxure Machine Expert - Basic, crie um novo degrau clicando em
na barra de ferramentas.
3 Neste degrau, clique no botão LD > IL para exibir o código fonte da Lista de
instruções.
4 Selecione o número da linha 0000, clique com o botão direito do mouse e selecione
Colar instruções para colar o código fonte no degrau:
14 EIO0000003295.03
Introdução
Exemplo
Programa da Lista de instruções:
0 BLK %R0
LD %M1
I
LD %I0.3
ANDN %R2.E
O
END_BLK
1 LD %I0.3
[%MW20:=%R2.O]
2 LD %I0.2
ANDN %R2.F
[%R2.I:=%MW34]
ST %M1
EIO0000003295.03 15
Introdução
Blocos de operações
Inserir operações de IL e instruções e atribuição em Diagramas
Ladder
Você pode usar o símbolo gráfico Bloco de operações para inserir operações da
Lista de instruções e instruções de atribuição em degraus de Diagramas Ladder:
Etapa Ação
1
Clique no botão Bloco de operações na barra de ferramentas.
3
Clique no botão Modo de seleção na barra de ferramentas.
Por exemplo: %MF10 := ((SIN( %MF12 + 60.0 ) + COS( %MF13 )) + %MF10 ) + 1.2
16 EIO0000003295.03
Introdução
EIO0000003295.03 17
Introdução
Etapa Ação
Blocos de comparação
Inserir expressões de comparação de IL em Diagramas Ladder
É possível utilizar o símbolo gráfico Bloco de comparação para inserir
expressões de comparação da Lista de instruções em degraus de Diagramas
Ladder:
Etapa Ação
18 EIO0000003295.03
Introdução
EIO0000003295.03 19
Objetos de linguagem
Objetos de linguagem
Objetos
Visão geral
No EcoStruxure Machine Expert - Basic, o termo objeto é usado para representar
uma área da memória do controlador lógico reservada para ser usada por um
aplicativo. Os objetos podem ser:
• Variáveis de software simples, como bits e palavras da memória
• Endereços de entradas e saídas digitais ou analógicas
• Variáveis internas do controlador, como palavras e bits do sistema
• Funções predefinidas do sistema ou blocos de funções, como
temporizadores e contadores.
A memória do controlador está pré-alocada para determinados tipos de objetos
ou é automaticamente alocada quando um aplicativo é baixado para o controlador
lógico.
Os objetos somente podem ser endereçados por um programa quando a
memória tiver sido alocada. Os objetos são endereçados utilizando o prefixo %.
Por exemplo, %MW12 é o endereço de uma palavra da memória, %Q0.3 é o
endereço de uma saída digital incorporada e %TM0 é o endereço de um bloco de
função Timer.
20 EIO0000003295.03
Objetos de linguagem
Sintaxe
Utilize este formato para endereçar memória, sistema, e objetos de bits de passos
Descrição
Esta tabela lista e descreve a memória, o sistema, e bits de passos que são
utilizados como operandos em instruções booleanas:
EIO0000003295.03 21
Objetos de linguagem
Exemplo
Esta tabela mostra alguns exemplos de endereçamento de objetos de bits:
Objeto de Descrição
bits
%M25 Bit de memória número 25
%S20 Bit de sistema número 20
%X4 Passo Grafcet número 4
Objetos de E/S
Introdução
Objetos de E/S incluem tanto bits quanto palavras. Cada entrada e saída física é
mapeada por esses objetos na memória interna. Os objetos de bits de E/S podem
ser usados como operandos e testados por instruções booleanas. As palavras de
bits de E/S podem ser usados na maioria das instruções não-booleanas, como
funções e instruções contendo operadores aritméticos.
Exemplos de objetos de E/S:
• Entradas digitais
• Saídas digitais
• Entradas analógicas
• Saídas analógicas
• Entradas e saídas de comunicação
O intervalo dos objetos válidos é de 0 até o máximo configurado e suportado pelo
seu controlador (consulte o Guia de hardware e o Guia de programação do seu
controlador lógico).
Sintaxe
Esta imagem mostra o formato de endereço de entrada/saída:
22 EIO0000003295.03
Objetos de linguagem
Descrição
Esta tabela lista e descreve os objetos de E/S que são usados como operandos
em instruções:
Bits de %Iy.z 2 Não 3 Estes bits são as imagens lógicas dos estados
entrada elétricos da E/S digital física. São armazenados na
memória de dados e atualizados entre cada
Bits de saída %Qy.z 2 Sim verificação da lógica do programa.
EIO0000003295.03 23
Objetos de linguagem
Exemplos
Esta tabela mostra alguns exemplos de endereçamento de E/S:
Objetos de palavras
Introdução
Objetos de palavra endereçados em forma de palavras de 16 bits são
armazenados em memória de dados e podem conter um valor inteiro de -32 768 a
32 767 (exceto para o bloco de função Contador rápido que é de 0 a 65 535).
Exemplos de objetos de palavras:
• Valores imediatos
• Palavras de memória (%MWi)
• Palavras constantes (%KWi)
• Palavras de intercâmbio de E/S (%IWi, %QWi, %IWSi, %QWSi)
• Palavras do sistema (%SWi)
• Blocos de funções (dados de configuração e/ou de tempo de execução)
O intervalo de objetos válidos é de 0 até a referência máxima utilizada pelo
aplicativo (consulte o Guia de programação do controlador lógico).
Por exemplo, se a referência máxima no aplicativo para palavras da memória é %
MW9, então %MW0 até %MW9 são espaços alocados. %MW10 neste exemplo não é
válido e não pode ser acessado interna ou externamente.
Sintaxe
Utilize este formato para endereçar memória, constante e palavras do sistema:
Grupo I- Descrição
tem
Símbolo % O símbolo de porcentagem precede um endereço interno.
24 EIO0000003295.03
Objetos de linguagem
Grupo I- Descrição
tem
K Palavras constantes armazenam valores constantes ou
mensagens alfanuméricas. O conteúdo somente poderá ser
gravado ou modificado usando o EcoStruxure Machine Expert -
Basic.
S Palavras do sistema fornecem o status e informações de controle
para o controlador lógico.
Formato
Os conteúdos das palavras ou valores são armazenados na memória do usuário
em código binário de 16 bits (formato complementar de dois) utilizando a
convenção a seguir:
EIO0000003295.03 25
Objetos de linguagem
Lista de exceções
Esta tabela lista o intervalo de valores dos objetos que são inteiros não
assinalados:
Objeto Valor
%SW 0...65535
%FC.V e %FC.P 0...65535
%PWM.P 0...32767
%PWM.R 0...100
%PLS.P 0...32767
%PLS.N 0...32767
%PLS.ND 0...2147483647
26 EIO0000003295.03
Objetos de linguagem
Descrição
Esta tabela descreve os objetos de palavra:
Exemplo
Esta tabela mostra alguns exemplos de endereçamento de objetos de palavras:
EIO0000003295.03 27
Objetos de linguagem
Xk indica o número de bit que tem que ser extraído do objeto de palavra. Por exemplo, %MW0.X3;
o bit armazenado na terceira posição sequencial da palavra de memória %MW0 será extraído.
28 EIO0000003295.03
Objetos de linguagem
Verificação da validade
Quando o resultado não está no intervalo válido, o bit de sistema %S18 é definido
como 1.
A palavra de status %SW17 indica a causa de um erro detectado em uma
operação flutuante.
Bits diferentes da palavra %SW17:
%SW17:X1 Reservado
%SW17:X2 Divisão por 0, o resultado é inválido (-Infinito ou +Infinito)
Esta palavra é redefinida como 0 pelo sistema seguindo uma partida a frio, e
também pode ser redefinida pelo programa para fins de reutilização.
Sintaxe
Utilize este formato para endereçar memória e objetos de ponto de flutuação
constantes:
EIO0000003295.03 29
Objetos de linguagem
30 EIO0000003295.03
Objetos de linguagem
Exemplo
Esta tabela mostra exemplos de endereçamento de objetos de ponto de flutuação
e de palavra dupla:
Objeto Descrição
Exemplo:
%MF0 corresponde a %MW0 e %MW1. %KF43 corresponde a %KW43 e %KW44.
EIO0000003295.03 31
Objetos de linguagem
Objetos estruturados
Introdução
Objetos estruturados são combinações de objetos adjacentes. EcoStruxure
Machine Expert - Basic suporta os seguintes tipos de objetos estruturados:
• Cadeias de bits
• Tabelas de palavras
• Tabelas de palavras duplas
• Tabelas de palavras flutuantes
Cadeias de bits
Cadeias de bits são séries de bits de objeto adjacentes de mesmo tipo e de
extensão definida (L). Cadeias de bits são citadas como iniciando em limites de
bytes.
Exemplo: Cadeia de bits %M8:6
com i múltiplo de 8
com i múltiplo de 8
com i múltiplo de 8
(1) Somente os bits de E/S de 0 a 16 podem ser lidos em uma cadeia de bits. Para controladores
lógicos com 24 ou 32 canais de E/S, os bits acima de 16 não podem ser lidos em uma cadeia de
bits.
L Representa o comprimento dos objetos estruturados (cadeias de bits, tabela de palavras, tabela
de palavras duplas e tabela de palavras flutuantes).
32 EIO0000003295.03
Objetos de linguagem
Tabelas de palavras
Tabelas de palavras são uma série de palavras adjacentes de mesmo tipo e de
comprimento definido (L, valor máximo é 255).
Exemplo: Tabela de palavras %KW10:7
(1) O número de palavras L é determinado pelo controlador lógico; para obter detalhes, consulte o
Guia de programação para sua plataforma de hardware.
(2) O número de palavras L depende da configuração de cada objeto. Consulte Objetos de E/S,
página 22 ou Objetos de rede, página 106.
EIO0000003295.03 33
Objetos de linguagem
Objetos indexados
Introdução
Um objeto indexado é um objeto de palavra única, palavra dupla, ponto flutuante
ou bit de memória com um endereço de objeto indexado. Existem dois tipos de
endereçamento de objeto:
• Endereçamento direto
• Endereçamento indexado
Endereçamento direto
Um endereço direto de um objeto é configurado e definido quando um programa é
escrito.
34 EIO0000003295.03
Objetos de linguagem
Endereçamento indexado
Um endereço indexado de um objeto fornece um método de modificação do
endereço de um objeto ao adicionar um índice ao endereço direto do objeto. O
conteúdo do índice é adicionado ao endereço direto do objeto. O índice é definido
por uma palavra de memória %MWi.
Exemplo: %MW108[%MW2] é uma palavra com um endereço que consiste do
endereço direto 108 mais os conteúdos da palavra %MW2.
Se a palavra %MW2 tem um valor de 12, escrevendo para %MW108[%MW2] é
equivalente a escrever para %MW120 (108 mais 12).
%MWi[%PARAMj]1 Sim
j Identificador de instância de objeto do objeto de indexação cujo conteúdo precisa ser adicionado
ao endereço direto de algum outro objeto.
1Válido apenas no DEGRAU de uma Função Definida pelo Usuário (UDF)/Bloco de Função
Definida pelo Usuário (UDFB) onde %PARAMj é definido.
EIO0000003295.03 35
Objetos de linguagem
ATENÇÃO
OPERAÇÃO NÃO INTENCIONAL DO EQUIPAMENTO
• Escreva instruções de programação para testar a validade dos operandos a
serem utilizados em operações matemáticas.
• Evite a utilização de operandos de tipos diferentes de dados em operações
matemáticas.
• Monitore sempre os bits do sistema atribuídos para indicar resultados
matemáticos inválidos.
O não cumprimento destas instruções poderá resultar em morte,
ferimentos graves ou danos do equipamento.
36 EIO0000003295.03
Objetos de linguagem
Exemplo
Esta ilustração mostra um bloco de função Counter:
Objetos de bits
Objetos de bits correspondem a saídas de blocos de funções. Esses bits podem
ser acessados por instruções de teste booleanas utilizando qualquer um dos
métodos a seguir:
• Diretamente (por exemplo, LD E) se estiverem conectados ao bloco em
programação, página 107 reversível.
• Por especificar o tipo de bloco (por exemplo, LD %Ci.E).
Entradas podem ser acessadas no formulário de instruções.
Objetos de palavras
Objetos de palavra correspondem a parâmetros e valores específicos conforme
segue:
• Parâmetros de configuração de blocos: alguns parâmetros são acessíveis
pelo programa (por exemplo, parâmetros de pré-seleção), e alguns são
inacessíveis pelo programa (por exemplo, base de tempo).
• Valores atuais: por exemplo, %Ci.V, o valor atual de contagem.
EIO0000003295.03 37
Instruções
Instruções
Processamento booleano
Objetivo desta seção
Este seção fornece uma introdução às instruções do processamento booleano.
Instruções booleanas
Introdução
Instruções booleanas podem ser comparadas aos elementos de linguagem de
diagramas Ladder. Estas instruções estão resumidas nesta tabela:
Degrau Instrução
0 LD %I0.0
AND %I0.1
ST %Q0.0
38 EIO0000003295.03
Instruções
Detecção de limite
Esta tabela resume as instruções e o tempo de detecção das bordas de subida e
descida:
Os objetos somente são atualizados no início do próximo ciclo mestre após a deteção de
borda. Uma alteração de estado de um bit de memória (p. ex. %M0) é indicada com uma varredura
de atraso.
Degrau Instrução
0 LDR %I0.0
EIO0000003295.03 39
Instruções
Degrau Instrução
0 LDF %I0.0
Sintaxe
Esta tabela lista os tipos de operadores de carga com equivalentes e operandos
do diagrama Ladder:
%Mi[%MWj]1
LDR %I, %M
LDF
40 EIO0000003295.03
Instruções
Codificar exemplos
Exemplos de instruções de carregamento:
Degrau Instrução
0 LD %I0.1
ST %Q0.3
1 LDN %M0
ST %Q0.2
2 LDR %I0.1
ST %Q0.4
3 LDF %I0.3
ST %Q0.5
Diagrama de temporização
O diagrama a seguir ilustra a temporização, e o efeito sobre a saída, do código da
codificação de exemplo(s):
EIO0000003295.03 41
Instruções
Sintaxe
Esta tabela lista os tipos de operadores de atribuição com equivalentes e
operandos do diagrama Ladder:
Codificar exemplos
Exemplos de instruções de designações:
Degrau Instrução
0 LD %I0.1
ST %Q0.3
STN %Q0.2
S %Q0.4
1 LD %I0.2
R %Q0.4
Diagrama de temporização
O diagrama a seguir ilustra a temporização, e o efeito sobre a saída, do código da
codificação de exemplo(s):
42 EIO0000003295.03
Instruções
Sintaxe
Esta tabela lista os tipos de operadores AND
%Mi[%MWj](1)
ANDR %I, %M
ANDF
Codificar exemplos
Exemplos de instruções lógicas AND:
Degrau Instrução
0 LD %I0.1
AND %M1
ST %Q0.3
1 LD %M0
ANDN %I0.0
ST %Q0.2
2 LD %I0.3
ANDR %I0.4
S %Q0.4
3 LD %M3
ANDF %I0.5
S %Q0.5
EIO0000003295.03 43
Instruções
Diagrama de temporização
O diagrama a seguir ilustra a temporização, e o efeito sobre a saída, do código da
codificação de exemplo(s):
Sintaxe
Esta tabela lista os tipos de operadores OR
OR 0/1
ORR %I, %M
ORF
44 EIO0000003295.03
Instruções
Codificar exemplos
Exemplos de instruções lógicas OR:
Degrau Instrução
0 LD %I0.1
OR %M1
ST %Q0.0
1 LD %I0.2
ORN %M2
ST %Q0.1
2 LD %M0
ORR %I0.3
S %Q0.5
3 LDF %I0.5
ORF %I0.6
S %Q0.0
Diagrama de temporização
O diagrama a seguir ilustra a temporização, e o efeito sobre a saída, do código da
codificação de exemplo(s):
EIO0000003295.03 45
Instruções
Sintaxe
Esta tabela lista os tipos de operadores e operandos XOR:
XORR %I, %M
XORF
Codificar exemplos
Utilizando a instrução XOR:
Degrau Instrução
0 LD %I0.1
XOR %M1
ST %Q0.3
Degrau Instrução
0 LD %I0.1
ANDN %M1
OR( %M1
ANDN %I0.1
)
ST %Q0.3
Diagrama de temporização
O diagrama a seguir ilustra a temporização, e o efeito sobre a saída, do código da
codificação de exemplo(s):
46 EIO0000003295.03
Instruções
Casos especiais
Não inserir
• Contatos XOR a primeira posição de um degrau.
• Contatos XOR em paralelo com outros elementos de diagrama Ladder (veja
o exemplo a seguir).
Conforme mostrado neste exemplo, a inserção de um elemento em paralelo com
o contato XOR gerará um erro de validação:
Sintaxe
Esta tabela mostra o operador N:
Codificar exemplos
Exemplo da instrução NOT:
Degrau Instrução
0 LD %I0.1
N
ST %Q0.0
EIO0000003295.03 47
Instruções
Diagrama de temporização
O diagrama a seguir ilustra a temporização, e o efeito sobre a saída, do código da
codificação de exemplo(s):
Sintaxe
Função Equivalente a Diagrama Operandos
Ladder
RISINGn 1 Não se aplica.
48 EIO0000003295.03
Instruções
Codificar exemplos
Função Degrau Instrução
RISING 0 LD %M0
RISING0
ST %Q0.0
FALLING 1 LD %I0.1
FALLING0
ST %Q0.7
Diagrama de temporização
O diagrama a seguir ilustra a temporização do exemplo acima para um tempo de
verificação de tarefa principal:
EIO0000003295.03 49
Instruções
Instruções de comparação
Introdução
Operadores de comparação são utilizados para comparar até 5 operandos com 3
níveis de parênteses.
Esta tabela lista os tipos de operadores de comparação:
Operador Função
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir expressões de comparação da Lista de instruções, página 18 em
degraus de Diagramas Ladder usando um elemento gráfico Blocos de
comparação.
Sintaxe para instruções de comparação:
Operador Sintaxe
Palavras %MWi, %KWi, %IW, %QWi, %SWi, %BLK.x Valor imediato, %MWi, %KWi, %IW, %QW, %IWSi, %
QWSi, %SWi, %BLK.x, %MWi[%MWi], %KWi[%MWi]
Palavras duplas %MDi, %KDi Valor imediato, %MDi, %KDi, %MDi[%MWi], %KD[%
MWi]
Palavras de pontos flutuantes %MFi, %KFi Valor de ponto flutuante imediato, %MFi, %KFi, %MFi
[%MWi], %KFi[%MWi]
Codificar exemplos
A comparação é executada dentro de colchetes, seguindo as instruções LD, AND
e OR. O resultado é 1 quando a comparação solicitada é verdadeira.
50 EIO0000003295.03
Instruções
Degrau Instrução
0 LD %I0.2
AND [%MW10>100]
ST %Q0.3
1 LD %M0
AND [%MW20<%KW35]
ST %Q0.4
2 LD %I0.2
OR [%MF30>=%MF40]
ST %Q0.5
Degrau Instrução
0 LD %M0
AND( [%MF20>10.0]
OR %I0.0
)
ST %Q0.1
Processamento numérico
Objetivo desta seção
Esta seção fornece uma introdução ao processamento numérico.
À primeira vista
Instruções numéricas geralmente se aplicam a palavras de 16 bits e palavras
duplas de 32 bits. Estão escritos entre colchetes. Se o resultado da operação
lógica precedente foi verdadeiro (acumulador booleano = 1), a instrução numérica
é executada. Se o resultado da operação lógica precedente foi falso (acumulador
booleano = 0), a instrução numérica não é executada e o operando permanece
inalterado.
Instruções de atribuição
Introdução
Instruções de designação são utilizadas para carregar o Op2 (operando 2) no
Op1 (operando 1).
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
EIO0000003295.03 51
Instruções
Operador Sintaxe
:= [Op1 := Op2]
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe para designações de cadeias de bits:
Operador Sintaxe
:= [Op1 := Op2]
Palavra, palavra %MWi,%QWi, %SWi Valor imediato, %MWi, %KWi, %IW, %QWi, %IWSi, %
dupla %MWi[%MWi], %MDi, %MDi[%MWi] QWSi, %SWi,%BLK.x, %MWi[%MWi], %KWi[%MWi], %
%Mi:L, %Qi:L, %Si:L, %Xi:L MDi[%MWi], %KDi[%MWi], %Mi:L,%Qi:L, %Si:L, %
%TMi.P, %Ci.P, %Ri.I, %Ri.O, %FCi.P, % Xi:L, %Ii:L
PLSi.P, %PWMi.P
%Ci.PD, %FCi.PD %TMi.P, %Ci.P, %Ri.I, %Ri.O, %FCi.P, %PLSi.P,
%PWMi.P
%Ci.PD, %FCi.PD
52 EIO0000003295.03
Instruções
Estrutura
Exemplos de designações de cadeias de bits:
Degrau Instrução
0 LD 1
[%Q0.0:8:=%M64:8]
1 LD %I0.2
[%MW100:=%M0:16]
2 LDR %I0.3
[%MW104:16:=%KW0]
Atribuição de palavras
Introdução
Operações de designação podem ser executadas nas seguintes palavras e
palavras duplas:
• Palavra (indexada) para palavra (2, por exemplo) (indexada ou não)
• Palavra dupla (indexada) para palavra dupla (indexada ou não)
• Valor total imediato para palavra (Exemplo 3) ou palavra dupla (indexado ou
não)
• Cadeia de bits para palavra ou palavra dupla
• Ponto de flutuante (indexado ou não) para ponto flutuante (indexado ou não)
• Palavra ou palavra dupla para cadeia de bits
• Valor imediato de ponto flutuante para ponto flutuante (indexado ou não)
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe para designações de palavras:
Operador Sintaxe
:= [Op1 := Op2]
EIO0000003295.03 53
Instruções
Palavra, palavra dupla, %BLK.x, %MWi, %MWi[%PARAMj], %QWi, % Valor imediato, %MWi, %MWi[%PARAMj], %KWi, %IW, %
cadeia de bits SWi %MWi[%MWj], %MDi, %MDi[%MWj], %Mi: QWi, %IWSi, QWSi, %SWi, %MWi[%MWj], %KWi[%
L, %Qi:L, %Si:L, %Xi:L MWi], %MDi, %MDi[%MWj], %KDi, %KDi[%MWj], %Mi:
L, %Qi:L, %Si:L, %Xi:L, %Ii:L
Ponto de flutuação %MFi, %MFi[%MWj] Valor de ponto flutuante imediato, %MFi, %MFi[%MWj], %
KFi, %KFi[%MWj]
Estrutura
Exemplos de designações de palavras:
Degrau Instrução
0 LD 1
[%SW112:=%MW100]
1 LD %I0.2
[%MW0[%MW10]:=%KW0[%MW20]]
2 LD %I0.3
[%MW10:=100]
Operador Função
+ Adicionar 2 operandos
- Subtrair 2 operandos
* Multiplicar 2 operandos
/ Dividir 2 operandos
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
54 EIO0000003295.03
Instruções
Operador Sintaxe
Palavras %MWi, %QWi, %SWi, %BLK.x 2, %MWi[%MWj 3], Valor imediato, %MWi, %KWi, %IWi, %QWi, %IWSi, %
%MWi[%PARAMj] 4 QWSi, %SWi, %BLK.x 2 %MWi[%MWj 3], %MWi[%
PARAMj]4
1 Com este operador, Op2 não pode ser um valor imediato. A função ABS somente pode ser utilizada com as palavras duplas (%MD% e %
KD ) e os pontos de flutuação (%MF% e %KF). Então, OP1 e OP2 devem ser palavras duplas ou pontos de flutuação.
2 %BLK.x representa todos os objetos de bloco.
3 Nível funcional >= 5.0.
4 Nível funcional >= 10.0.
Estrutura
Exemplos de instruções aritméticas:
Degrau Instrução
0 LD %M0
[%MW0:=%MW10+10]
1 LD %I0.2
[%MW0:=SQRT(%MW10)]
2 LDR %I0.3
[%MW10:=32767]
Casos especiais
Adição
• Transbordamento durante operação de palavra
Se o resultado exceder a capacidade da palavra de resultado, o bit %S18
(transbordamento) é definido como 1 e o resultado não é significativo
(consulte o degrau 1 do exemplo de aplicativo, página 56). O programa
usuário administra o bit %S18.
NOTA: Para palavras duplas, os limites são -2 147 483 648 e 2 147 483 647.
Multiplicação
• Transbordamento durante operação
Se o resultado exceder a capacidade da palavra de resultado, o bit %S18
(transbordamento) é definido como 1 e o resultado não é significativo.
EIO0000003295.03 55
Instruções
Divisão/resto
• Divisão por 0
Se o divisor for 0, a divisão é impossível e o bit de sistema %S18 é definido
como 1. Então o resultado é incorreto.
• Transbordamento durante operação
Se o quociente da divisão exceder a capacidade da palavra de resultado, o
bit %S18 é definido como 1.
Extração de raiz quadrada
• Transbordamento durante operação
A extração da raiz quadrada é executada somente em valores positivos.
Assim, o resultado é positivo. Se o operando da raiz quadrada é negativo, o
bit de sistema %S18 é definido como 1 e o resultado é incorreto.
Alguns dos erros matemáticos detectados podem ter um impacto significativo na
execução do seu aplicativo. Monitore esses erros em potencial e as instruções do
programa para controlar adequadamente a execução de seu aplicativo caso um
ou mais desses erros detectados ocorram. O impacto de qualquer um desses
erros detectados depende da configuração, do equipamento usado e da
execução das instruções do programa antes e depois da detecção do erro ou
erros potenciais.
ATENÇÃO
OPERAÇÃO NÃO INTENCIONAL DO EQUIPAMENTO
• Escreva instruções de programação para testar a validade dos operandos a
serem utilizados em operações matemáticas.
• Evite a utilização de operandos de tipos diferentes de dados em operações
matemáticas.
• Monitore sempre os bits do sistema atribuídos para indicar resultados
matemáticos inválidos.
O não cumprimento destas instruções poderá resultar em morte,
ferimentos graves ou danos do equipamento.
Exemplo de aplicativo
Transbordamento durante adição:
Degrau Instrução
0 LD %M0
[%MW0:=%MW1+%MW2]
1 LDN %S18
[%MW10:=%MW0]
2 LD %S18
[%MW10 :=32767]
56 EIO0000003295.03
Instruções
Instruções lógicas
Introdução
Os operadores lógicos podem ser utilizados para executar uma operação lógica
entre 2 operandos de palavras ou, no caso NOT lógico, em um operando de
palavra.
Esta tabela lista os tipos de instruções lógicas:
Instrução Função
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe para instruções lógicas:
AND, OR, XOR [Op1 := Op2 operador Op3] %MWi, %QWi, %SWi, %BLK.x Valor imediato (1), %MWi, %
KWi, %IWi, %QWi, %IWSi, %
NOT [Op1 := NOT(Op2)] QWSi, %SWi, %BLK.x
Estrutura
Exemplos de instruções lógicas:
Degrau Instrução
0 LD %M0
[%MW0:=%MW10 AND 16#00FF]
1 LD 1
[%MW0:=%KW5 OR %MW10]
2 LD %I0.3
[%MW102:=NOT(%MW100)]
Exemplo de aplicativo
Instrução lógica AND:
[%MW15:=%MW32 AND %MW12]
Quando %MW32 = 0001 1011 (binário) (27 (decimal)) e %MW12 = 0011 0110
(binário) (54 (decimal)) então o resultado será %MW15 = 0001 0010 (binário) (18
(decimal)).
EIO0000003295.03 57
Instruções
Instruções de deslocamento
Introdução
Instruções de deslocamento movem bits de um operando em um número
especificado de posições para a direita ou para a esquerda.
Esta tabela lista os tipos de instruções de deslocamento:
Instrução Função
Deslocamento lógico
Deslocamento de rotação
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe para instruções de deslocamento:
Operador Sintaxe
ROL, ROR
58 EIO0000003295.03
Instruções
%BLK.x %BLK.x
Estrutura
Exemplos de funções de deslocamento:
Degrau Instrução
0 LDR %I0.1
[%MW0:=SHL(%MW10,5)]
1 LDR %I0.2
[%MW10:=ROR(%KW9,8)]
Instrução Função
Deci- 0 1 2 3 4 5 6 7 8 9
mal
BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Exemplos:
• A palavra %MW5 expressa o valor BCD 2450 que corresponde ao valor
binário: 0010 0100 0101 0000
• A palavra %MW12 expressa o valor decimal 2450 que corresponde ao valor
binário: 0000 1001 1001 0010
EIO0000003295.03 59
Instruções
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe para instruções de conversão BCD/Binário:
Operador Sintaxe
%BLK.x %BLK.x
Estrutura
Exemplos de instruções de conversão BCD/Binário:
Degrau Instrução
0 LD %M0
[%MW0:=BTI(%MW10)]
1 LD %I0.2
[%MW10:=ITB(%KW9)]
Exemplo de aplicativo
A instrução BTI é utilizada para processar um valor de ponto definido em entradas
do controlador através de rodas de acionamento manual BCD codificadas.
A instrução ITB é utilizada para exibir valores numéricos (por exemplo, o
resultado de um cálculo, o valor atual de um bloco de funções) em telas BCD
codificadas.
60 EIO0000003295.03
Instruções
Instrução Função
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe para instruções de conversão de palavra simples/dupla:
Estrutura
Exemplos de instruções de conversão de palavra simples/dupla:
Degrau Instrução
0 LD %M0
[%MW0:=HW(%MD10)]
1 LD %I0.2
[%MD10:=DWORD(%KW9)]
2 LD %I0.3
[%MD11:=CONCATW(%MW10,%MW5)]
Programa
Objetivo desta seção
Esta seção fornece uma introdução a instruções de programa.
EIO0000003295.03 61
Instruções
Instruções END
Introdução
As instruções END definem o término da execução de uma busca de programa.
Exemplos
Exemplo de uma instrução END incondicional:
Degrau Instrução
0 LD %M1
ST %Q0.1
1 LD %M2
ST %Q0.2
2 END
Degrau Instrução
0 LD %I0.0
ST %Q0.0
1 LD %I0.1
ST %Q0.1
2 LD %I0.2
ENDC
3 LD %I0.3
ST %Q0.2
4 END
62 EIO0000003295.03
Instruções
Instruções NOP
Introdução
As instruções NOP não executam qualquer função. Utilize-os para "reservar"
linhas em um programa de modo que seja possível inserir instruções
posteriormente sem modificar os números de linha.
Instruções de salto
Introdução
Instruções de salto fazem com que a execução de um programa seja interrompida
imediatamente e seja retomada a partir da linha após a linha de programa que
contém o Rótulo %Li (i = número máximo de módulo).
Exemplos
Exemplos de instruções de salto:
Degrau Instrução
0 LD %M15
JMPC %L8
1 LD [%MW24<%MW12]
ST %Q0.3
JMPC %L12
2 %L8:
LD %M12
AND %M13
ST %M12
JMPC %L12
3 LD %M11
S %Q0.0
4 %L12:
LD %I0.0
ST %Q0.4
EIO0000003295.03 63
Instruções
Orientações
• Instruções de salto não são permitidas entre parênteses, e não devem ser
posicionadas entre as instruções AND, OR e uma instrução de fechamento
de parênteses ")".
• O rótulo pode ser posicionado somente antes de uma instrução LD, LDN,
LDR, LDF, ou BLK.
• O número do rótulo %Li deve ser definido somente uma vez em um
programa.
• O salto de programa é executado para uma linha de programação que seja
de descida ou de subida. Quando o salto estiver a montante, preste atenção
ao tempo de varredura do programa. O tempo de varredura prolongado pode
disparar o temporizador de watchdog.
Elementos condicionais
Descrição
Elementos condicionais permite que você codifique condições em seu programa.
Os elementos podem ser programados somente no modo offline.
Esse recurso contém os três elementos a seguir:
• IF
• ELSE
• ENDIF
Você pode inserir um elemento por degrau.
NOTA: O aplicativo deve ser configurado com um nível funcional de pelo
menos Nível 6.0.
Descrição do elemento
Elemento Instrução IL Diagrama Ladder Descrição
64 EIO0000003295.03
Instruções
1
Em um degrau vazio, insira o elemento IF clicando em → → IF. Insira a condição a avaliar entre os
elementos IF e THEN.
2 Opcionalmente, você pode alterar o índice.
Se modificar o índice de um elemento, você deve atribuir o mesmo índice aos outros elementos.
4
Opcionalmente, insira o elemento ELSE clicando em → → ELSE. Quando a condição entre IF e THEN é
FALSE, a parte do programa entre ELSE e ENDIF é avaliada. Isso inclui instruções de programa no mesmo degrau que o
elemento ELSE. Caso contrário, esta parte do programa é ignorada e não avaliada.
5
No último degrau, insira o elemento ENDIF clicando em → → ENDIF.
No exemplo abaixo:
• Quando a condição IF é TRUE, ou seja, %MW0 é menor que 10:
1. O degrau 3 é avaliado.
2. O degrau ELSE10 foi ignorado. %MW2 e %Q0.1 mantêm seus últimos
valores.
• Quando a condição IF é FALSE, ou seja, %MW0 é maior ou igual a 10:
1. O degrau 3 foi ignorado. %MW1 e %Q0.0 mantêm seus últimos valores.
2. O degrau ELSE10 é avaliado, ou seja, as operações em %MW2 e %Q0.1
são executadas quando %MW0 é maior que 20.
LD If 10 nome Comentário
%MW0 < 10
Corpo do degrau %MW0 < 10
IF 10 < THEN 10
EIO0000003295.03 65
Instruções
Elementos de loop
Descrição
Elementos do loop permite que você codifique uma sequência de instruções em
seu programa. Os elementos podem ser programados somente no modo offline.
Esse recurso contém os dois elementos a seguir:
• FOR
• ENDFOR
Você pode inserir um elemento por degrau.
NOTA: O aplicativo deve ser configurado com um nível funcional (consulte
EcoStruxure Machine Expert - Básico, Guia de instruções) de pelo menos
Nível 6.0.
Descrição do elemento
Elemento Instrução IL Diagrama Ladder Descrição
Configuração de um loop
Etapa Ação
1
Em um degrau vazio, insira o elemento FOR clicando em → →FOR.
4
No último degrau, insira o elemento ENDFOR clicando em →
→ENDFOR.
66 EIO0000003295.03
Instruções
Valor inicial Digite uma variável %MWx ou um valor entre -32.768 e 32.767.
Assinar • <
• <=
• =
• >=
• >
• <>
Valor final Digite uma variável %MWx ou um valor entre -32.768 e 32.767.
Etapa de aumento Digite uma variável %MWx ou um valor entre -32.768 e 32.767.
Instruções de sub-rotina
Introdução
As instruções de Sub-rotina fazem com que um programa execute uma sub-rotina
e então retornem ao programa principal no ponto no qual a sub-rotina foi
chamada.
Procedimento
Uma sub-rotina é criada em um POU livre. Consulte POUs gratuitos (consulte
EcoStruxure Machine Expert - Básico, Guia de instruções) para obter informações
sobre como criar um POU e uma sub-rotina gratuitos e definir o número de sub-
rotina. Além disso, consulte Gerenciar POUs (consulte EcoStruxure Machine
Expert - Básico, Guia de instruções) para obter mais informações sobre como
gerenciar POUs com tarefas e degraus.
Chamando uma sub-rotina em 3 passos:
Para obter mais informações sobre sub-rotinas, consulte Criar tarefa periódica
(consulte EcoStruxure Machine Expert - Básico, Guia de instruções).
Exemplos
Exemplo de instruções contendo uma sub-rotina:
Degrau Instrução
0 LD %M15
AND %M5
ST %Q0.0
1 LD [%MW24>%MW12]
SR1
2 LD %I0.4
AND %M13
ST %Q0.1
END
EIO0000003295.03 67
Instruções
Degrau Instrução
0 (SR1) LD %I0.0
ST %Q0.0
Orientações
• Uma sub-rotina não pode chamar outra sub-rotina. A tentativa de chamar
uma sub-rotina dentro de um POU livre vai gerar um erro de compilador.
• As instruções de sub-rotina não são permitidas entre parênteses e não
devem ser colocadas entre as instruçõesAND OR e uma instrução de
parênteses ")".
• Deve-se tomar cuidado quando uma instrução de designações é seguida
diretamente por um chamado de sub-rotina em IL. Isso porque a sub-rotina
pode alterar o conteúdo do acumulador booleano. Portanto, ao retornar
poderia haver um valor diferente do anterior à chamada.
Ponto de flutuação
Objetivo desta seção
Esta seção descreve as instruções avançadas de ponto de flutuação.
Instrução Objetivo
+ Adição de 2 operandos
- Subtração de 2 operandos
* Multiplicação de 2 operandos
/ Divisão de 2 operandos
LN Logaritmo natural
68 EIO0000003295.03
Instruções
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Operadores de instruções aritméticas em ponto de flutuação:
Operadores Sintaxe
NOTA: EcoStruxure Machine Expert - Basic impede o uso da função com um %MWi como Op1.
Estrutura
Exemplo de instrução aritmética:
Degrau Instrução
0 LD %M0
[%MF0:=%MF10+129.7]
1 LD %I0.2
[%MF1:=SQRT(%MF10)]
2 LDR %I0.3
[%MF2:=ABS(%MF20)]
3 LDR %I0.4
[%MF3:=TRUNC(%MF2)]
4 LD %M1
[%MF4:=LOG(%MF10)]
5 LD %I0.5
[%MF5:=LN(%MF20)]
6 LD %I0.0
[%MF6:=EXP(%MF30)]
7 LD %I0.1
[%MF7:=EXPT(%MF40,%MW52)]
EIO0000003295.03 69
Instruções
Regras de utilização
• Operações em ponto de flutuação e valores inteiros não podem ser
diretamente misturados. Operações de conversão, página 71 converter em
um ou outro destes formatos.
• O bit de sistema %S18 é administrado da mesma maneira que operações
com inteiros, página 71, a palavra %SW17 indica a causa do erro detectado.
• Quando o operando da função é um número inválido (por exemplo, um
logaritmo de um número negativo), produz um resultado indeterminado ou
infinito e altera o bit %S18 para 1. A palavra %SW17 indica a causa do erro
detectado.
NOTA: Para a instrução TRUNC, o bit de sistema %S17 não é afetado.
Exemplo Resultado
TRUNC(3.5) 3
TRUNC(324.18765) 324
TRUNC(927.8904) 927
TRUNC(-7.7) -7
TRUNC(45.678E+20) 2 147 483 647 (palavra dupla assinada máxima) 1
Instruções trigonométricas
Introdução
Estas instruções permitem que o usuário execute operações trigonométricas:
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
70 EIO0000003295.03
Instruções
Estrutura
Exemplo de funções Trigonometric:
Degrau Instrução
0 LD %M0
[%MF0:=SIN(%MF10)]
1 LD %I0.0
[%MF1:=TAN(%MF20)]
2 LD %I0.3
[%MF2:=ATAN(%MF30)]
Regras de utilização
• Quando o operando da função é um número inválido (por exemplo, o arco
cosseno de um número maior que 1), produz um resultado indeterminado ou
infinito e altera o bit %S18 para 1. A palavra %SW17 indica a causa do erro
detectado.
• As funções SIN/COS/TAN permitem como parâmetro um ângulo entre
e mas sua precisão diminui progressivamente para ângulos
fora da faixa e por causa da imprecisão introduzida pelo módulo
realizado no parâmetro antes de qualquer operação.
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Operadores, operandos e sintaxe de instruções de conversão
EIO0000003295.03 71
Instruções
Estrutura
Exemplo de instruções de conversão:
Degrau Instrução
0 LD %M0
[%MF0:=DEG_TO_RAD(%MF10)]
1 LD %M2
[%MF2:=RAD_TO_DEG(%MF20)]
Regras de utilização
O ângulo a ser convertido deve ser entre -737280,0 e +737280,0 (para
conversões DEG_TO_RAD) ou entre e (para conversões RAD_
TO_DEG).
Para valores fora desses intervalos, o resultado exibido será + NaN, sendo os bits
%SW17:X0 e %S18 and definidos como 1.
REAL_TO_DINT Conversão de uma palavra flutuante para uma palavra dupla de inteiro (o
resultado é o valor algébrico mais próximo)
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Operações e sintaxe (conversão de uma palavra de inteiro para flutuante):
Operadores Sintaxe
INT_TO_REAL Op1=INT_TO_REAL(Op2)
Op1 Op2
%MFi %MWi,%KWi
72 EIO0000003295.03
Instruções
Operadores Sintaxe
DINT_TO_REAL Op1=DINT_TO_REAL(Op2)
Op1 Op2
%MFi %MDi,%KDi
Operadores Sintaxe
REAL_TO_DINT
Exemplo:
• Conversão de flutuante em palavra inteira: 5978,6 para 5979
• Conversão de flutuante em palavra dupla inteira: -1235978,6 para -1235979
NOTA: Se durante a conversão de real para inteiro (ou de real para palavra
dupla de inteiro) o valor flutuante está fora dos limites da palavra (ou palavra
dupla) o bit %S18 é definido como 1.
Estrutura
Exemplo de instrução de conversão inteiro/flutuante:
Degrau Instrução
0 LD 1
[%MF0:=INT_TO_REAL(%MW10)]
1 LD %I0.8
[%MD2:=REAL_TO_DINT(%MF9)]
Precisão do arredondamento
O IEEE 754 padrão define 4 modos de arredondamento para operações
flutuantes.
O modo empregado pelas instruções acima é o modo "arredondar para o mais
próximo":
"Se os valores representativos mais próximos estiverem à mesma distância do
resultado teórico, o valor dado será aquele cujo bit menos relevante seja igual a
0".
EIO0000003295.03 73
Instruções
Isso significa que o valor será arredondado tanto para cima quando para baixo,
mas para o número par.
Por exemplo:
• Arredondamento do valor 10,5 para 10.
• Arredondamento do valor 11,5 para 12.
ASCII
Objetivo desta seção
Esta seção descreve as instruções avançadas do ASCII.
Instruções ROUND
Introdução
A instrução ROUND arredonda uma representação de um ponto de flutuação que
está armazenada em uma cadeia ASCII.
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para a ROUND instrução, use a sintaxe: Op1 := ROUND( Op2,Op3 ).
Por exemplo:
[%MW0:7:=ROUND(%MW8,4)]
Parâmetros
Esta tabela descreve os parâmetros da função ROUND:
Parâmetros Descrição
Inteiro de 1 até 8
74 EIO0000003295.03
Instruções
Regras de utilização
as regras da instrução ROUND são as seguintes:
• O operando é arredondado para baixo.
• O caractere final da cadeia do operando é utilizada como um caractere final
para a cadeia do resultado.
• O caractere final pode ser qualquer caractere ASCII que não esteja no
intervalo [0 - 9] ([16#30 - 16#39]), exceto por:
◦ ponto '.' (16#2E),
◦ menos '-' (16#2D),
◦ mais '+' (16#2B),
◦ Exp 'e' ou 'E' (16#65 ou 16#45).
• O resultado e o operando não devem ter mais de 13 bytes: O tamanho
máximo de uma cadeia de caracteres ASCII é de 13 bytes.
• A notação científica não é autorizada.
Casos especiais
O software verifica a sintaxe. Os exemplos a seguir poderão resultar em erros de
sintaxe:
Exemplo de aplicativo
Esta tabela mostra exemplos da instrução ROUND:
Exemplo Result
ROUND("987654321", 5) "987650000"
ROUND("-11.1", 8) "-11,1"
ROUND("NAN") "NAN"
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para as instruções de conversão de ASCII para inteiro, utilize esta sintaxe: Op1 :
= ASCII_TO_INT( Op2 )
EIO0000003295.03 75
Instruções
Por exemplo:
[%MW0:=ASCII_TO_INT(%MW8)]
A instrução lê até quatro objetos de palavra de Op2, converte-os para o formato
integral e armazena o resultado em Op1.
Parâmetros
Esta tabela descreve os parâmetros da função de conversão de ASCII para
Inteiro:
Parâmetros Descrição
Regras de utilização
As regras de instruções de ASCII para inteiro são as que se seguem:
• Op2 deve ser entre -32 768 a 32 767.
• A função lê primeiro o byte mais significativo.
• Espaços à esquerda serão ignorados.
• Caractere ASCII que não esteja no intervalo [0 - 9] ([16#30 - 16#39]) é
considerado como caractere final, exceto por um sinal de menos '-' (16#2D)
quando é posicionado no primeiro caractere.
• Em caso de transbordamento (>32.767 ou <-32.768), o bit de sistema %S18
(transbordamento aritmético ou erro detectado) é definido como 1 e o valor
32.767 ou -32.768 é retornado.
• Se o primeiro caractere do operando é um caractere "separador", o valor 0 é
retornado e o bit %S18 é definido como 1.
NOTA: Os caracteres do separador são '+' e '-', a letra 'e' ou 'E', ou '.'
(separador decimal).
• Notação científica inválida.
Exemplo de aplicativo
Considere que os dados ASCII a seguir foram armazenados em %MW10 para %
MW13:
%MW10 16#3932 9, 2
%MW11 16#3133 1, 3
%MW12 16#2038 ‘ ’, 8
Exemplo Result
76 EIO0000003295.03
Instruções
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para as instruções de conversão de inteiro para ASCII, utilize esta sintaxe: Op1 :
= INT_TO_ASCII( Op2 )
Por exemplo:
[%MW0:4:=INT_TO_ASCII(%MW8)]
Parâmetros
Esta tabela descreve os parâmetros de funções de conversão de inteiro para
ASCII:
Parâmetros Descrição
Regras de utilização
As regras de conversão de números inteiros para ASCII são as que se seguem:
• Op2 deve ser entre -32 768 a 32 767.
• A função grava primeiro o byte mais significativo.
• O caractere de fim selecionado na janela Comportamento do aplicativo
(consulte EcoStruxure Machine Expert - Básico, Guia de instruções) é
adicionado. O valor padrão é 'CR' (retorno de carro, ASCII 13).
• A função determina automaticamente quantas variáveis %MW devem ser
preenchidas com valores ASCII (de 1 a 4).
Erros de sintaxe
O software verifica a sintaxe. Os exemplos a seguir poderão resultar em erros de
sintaxe:
EIO0000003295.03 77
Instruções
Exemplo de aplicativo
Para a instrução MW10:4 := INT_TO_ASCII(%MW1) usando o caractere final
‘CR’:
Se... Então...
Valor inteiro Valor hexadecimal Representação ASCII
%MW10 = 16#3231 2, 1
%MW1 = 123
%MW11 = 16#0D33 ‘CR’, 3
%MW10 = 16#3534 5, 4
%MW1 = 45
%MW11 = 16#000D ‘CR’
%MW1 = 7 %MW10 = 16#0D37 ‘CR’, 7
%MW11 = 16#3332 3, 2
%MW1 = -12369
%MW10 = 16#3936 9, 6
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para obter as instruções de conversão ASCII em flutuante, use esta sintaxe: Op1
:= ASCII_TO_FLOAT( Op2 ).
Por exemplo:
[%MF0:=ASCII_TO_FLOAT(%MW8)]
Parâmetros
Esta tabela descreve os parâmetros da função de conversão ASCII para
Flutuante:
Parâmetros Descrição
Op1 %MF
78 EIO0000003295.03
Instruções
Regras de utilização
As regras para conversão ASCII para Flutuação são as que se seguem:
• A função lê primeiro o byte mais significativo.
• Qualquer caractere ASCII que não esteja no intervalo [0 - 9] ([16#30 -
16#39]) é considerado um caractere "final", exceto:
◦ ponto '.' (16#2E),
◦ menos '-' (16#2D),
◦ mais '+' (16#2B),
◦ Exp 'e' ou 'E' (16#65 ou 16#45).
• O formato da cadeia ASCII pode ser em notação científica (p. ex. "-2.34567e
+13") ou notação decimal (isto é, 9826.3457)
• Em caso de transbordamento (o resultado do cálculo é >3,402824E+38 ou
<-3,402824E+38):
◦ O bit de sistema %S18 (transbordamento aritmético ou erro detetado) é
definido como 1,
◦ %SW17:X3 é definido como 1,
◦ Valor +/- 1.#INF (+ ou - valor infinito) é retornado.
• Se o resultado do cálculo estiver entre -1,175494E-38 e 1,175494E-38, então
o resultado é arredondado para 0,0.
• Se o operando não for um número:
◦ O valor NaN é devolvido,
◦ O bit %SW17:X0 é definido como 1.
Exemplo de aplicativo
Considere que os dados ASCII a seguir foram armazenados em %MW10 para %
MW14:
%MW12 16#3536 5, 6
%MW14 16#2032 ‘ ’, 2
Exemplo Result
EIO0000003295.03 79
Instruções
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para obter as instruções de conversão de flutuante para ASCII, use esta sintaxe:
Op1 := FLOAT_TO_ASCII(Op2).
Por exemplo:
[%MW0:7:=FLOAT_TO_ASCII(%MF8)]
Parâmetros
Esta tabela descreve os parâmetros da função de conversão Flutuante para
ASCII:
Parâmetro Descrição
Op1 %MW
Regras de utilização
As regras da conversão Flutuante para ASCII são as seguintes:
• A função grava primeiro o byte mais significativo.
• A representação é feita utilizando a notação científica convencional.
• Os resultados "Infinito" ou "Não é um número" retornam a série "NAN".
• O caractere de fim selecionado na janela Comportamento do aplicativo
(consulte EcoStruxure Machine Expert - Básico, Guia de instruções) é
adicionado. O valor padrão é 'CR' (retorno de carro, ASCII 13).
• A função determina automaticamente quantas variáveis %MW deverão ser
preenchidas com valores ASCII.
• Precisão de conversão em 6 algarismos
Erros de sintaxe
O software verifica a sintaxe. Os exemplos a seguir poderão resultar em erros de
sintaxe:
80 EIO0000003295.03
Instruções
Exemplo de aplicativo
Para a instrução %MW10:7 := FLOAT_TO_ASCII(%MF1):
1234567800 1.234568e+09
0,000000921 9.210000e-07
9,87654321 9.876543e+00
1234 1.234000e+03
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para instrução de conversão de ASCII para palavra dupla, utilize esta sintaxe:
Op1 := ASCII_TO_DINT( Op2 )
Por exemplo:
[%MD4 := ASCII_TO_DINT(%MW5)]
Parâmetros
Esta tabela descreve os parâmetros da instrução de conversão de ASCII para
palavra dupla:
Parâmetros Descrição
Op1 %MDx
EIO0000003295.03 81
Instruções
Regras de utilização
As regras de instruções de ASCII para inteiro são as que se seguem:
• Op2 deve ser entre –2.147.483.648 e 2.147.483.647.
• A função lê primeiro o byte mais significativo.
• Espaços à esquerda serão ignorados.
• Caractere ASCII que não esteja no intervalo [0 - 9] ([16#30 - 16#39]) é
considerado como caractere final, exceto por um sinal de menos '-' (16#2D)
quando é posicionado no primeiro caractere.
• Em caso de transbordamento (> 2.147.483.647 ou < –2.147.483.648), o %
S18 do bit do sistema (transbordamento aritmético ou erro detectado) é
definido como 1 e o valor 2.147.483.647 ou –2.147.483.648 é retornado.
• Se o primeiro caractere do operando é um caractere "separador", o valor 0 é
retornado e o bit %S18 é definido como 1.
NOTA: Os caracteres do separador são '+' e '-', a letra 'e' ou 'E', ou '.'
(separador decimal).
• Notação científica inválida.
Exemplo de aplicativo
Considere que os dados ASCII a seguir foram armazenados em %MW11 para %
MW13:
%MW8 16#3431 4, 1
%MW9 16#3532 5, 2
%MW10 16#3239 2, 9
%MW11 16#3133 1, 3
%MW12 16#2038 ‘ ‘, 8
Exemplo Result
82 EIO0000003295.03
Instruções
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para a instrução de conversão de palavra dupla para ASCII, utilize esta sintaxe:
Op1 := DINT_TO_ASCII( Op2 )
Por exemplo:
[%MW4:6 := DINT_TO_ASCII(%MD5)]
Parâmetros
Esta tabela descreve os parâmetros de função de conversão de palavra dupla
para ASCII:
Parâmetros Descrição
Op1 %MWx:6
Regras de utilização
As regras de conversão de números inteiros para ASCII são as que se seguem:
• Op2 deve ser entre –2.147.483.648 e 2.147.483.647.
• A função grava primeiro o byte mais significativo.
• O caractere de fim selecionado na janela Comportamento do aplicativo
(consulte EcoStruxure Machine Expert - Básico, Guia de instruções) é
adicionado. O valor padrão é 'CR' (retorno de carro, ASCII 13).
• A função determina automaticamente quantas variáveis %MW devem ser
preenchidas com valores ASCII (de 1 a 6).
Erros de sintaxe
O software verifica a sintaxe. Os exemplos a seguir poderão resultar em erros de
sintaxe:
EIO0000003295.03 83
Instruções
Exemplo de aplicativo
Para a instrução %MW0:6 := DINT_TO_ASCII(%MD10) utilizando o caractere de
extremidade de linha ‘CR’:
Se... Então...
Valor inteiro Valor hexadecimal Representação ASCII
%MW1 = 16#3633 6, 3
%MW2 = 16#3835 8, 5
%MW1 = 16#3332 3, 2
%MW2 = 16#3936 9, 6
%MW3 = 16#3534 5, 4
Operadores de pilha
Objetivo desta seção
Esta seção descreve as instruções avançadas de pilha.
Sintaxe
Esta tabela descreve as 3 funções de pilha:
NOTA: Para cada MPS instrução (empurrar), uma instrução MPP (pop)
correspondente deverá aparecer no mesmo degrau.
84 EIO0000003295.03
Instruções
Funcionamento
Este diagrama mostra como as instruções de pilha funcionam:
Exemplo de aplicativo
Exemplo de utilização de instruções de pilha:
Degrau Instrução
0 LD %I0.0
AND %M1
MPS
AND %I0.1
ST %Q0.0
MRD
AND %I0.2
ST %Q0.1
MRD
AND %I0.3
ST %Q0.2
MPP
AND %I0.4
ST %Q0.3
EIO0000003295.03 85
Instruções
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe para designações de palavra, palavra dupla e ponto flutuante:
Operador Sintaxe
:= [Op1 := Op2]
Tabela de palavras %MWi:L, %SWi:L, %QWi.j:L, % %MWi:L, %SWi:L, valor inteiro imediato, %MWi, %KWi, %IW, %QW,
QWEi:L, %QWMi:L, %QWNi.j.k:L %SWi, %BLK.x, %QWi.j:L, %QWEi:L, %QWMi:L, %QWNi.j.k:
L, %IWi.j:L, %IWEi:L, %IWMi:L, %IWNi.j.k:L
Tabelas de palavras duplas %MDi:L Valor inteiro imediato, %MDi, %KDi,%MDi:L, %KDi:L
Tabelas de palavra flutuante %MFi:L Valor de ponto flutuante imediato, %MFi, %KFi, %MFi:L, %KFi:L
86 EIO0000003295.03
Instruções
Estrutura
Exemplos de designações de tabelas de palavras:
Degrau Instrução
0 LD 1
[%MW0:10:=100]
1 LD %I0.0
[%MW0:10:=%MW11]
2 LDR %I0.3
[%MW10:20:=%KW20:20]
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe da instrução da soma de tabelas:
Res:=SUM_ARR(Tab)
Parâmetros da instrução da soma de tabelas:
EIO0000003295.03 87
Instruções
Estrutura
Exemplo da função soma:
Degrau Instrução
0 LD %I0.2
[%MD5:=SUM_ARR(%MD3:1)]
1 LD 1
[%MD5:=SUM_ARR(%KD5:2)]
2 LD 1
[%MF2:=SUM_ARR(%MF8:5)]
Exemplo de aplicativo
%MD4:=SUM_ARR(%MD30:4)
Em que %MD30=10, %MD32=20, %MD34=30, %MD36=40
Então %MD4:=10+20+30+40
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe de instrução de comparação da tabela:
Res:=EQUAL_ARR(Tab1,Tab2)
Parâmetros das instruções de comparação de tabelas:
88 EIO0000003295.03
Instruções
Estrutura
Exemplo da função de comparação de tabelas:
Degrau Instrução
0 LD %I0.2
[%MW5:=EQUAL_ARR(%MD20:7,%KD0:7)]
1 LD 1
[%MW0:=EQUAL_ARR(%MD20:7,%KD0:7)]
2 LD 1
[%MF2:=SUM_ARR(%MF8:5)]
Exemplo de aplicativo
%MW5:=EQUAL_ARR(%MD30:4,%KD0:4)
Comparação de 2 tabelas:
1 %MD32=20 %KD2=20 =
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe das instruções de busca das tabelas:
Função Sintaxe
FIND_EQR Res:=Função(Tab,Val)
FIND_GTR
EIO0000003295.03 89
Instruções
Função Sintaxe
FIND_LTR
Estrutura
Exemplo da função de busca em tabelas:
Degrau Instrução
0 LD %I0.2
[%MW5:=FIND_EQR(%MD20:7,%KD0)]
1 LD %I0.3
[%MW6:=FIND_GTR(%MD20:7,%KD0)]
2 LD 1
[%MW7:=FIND_LTR(%MF40:5,%KF4)]
Exemplo de aplicativo
%MW5:=FIND_EQR(%MD30:4,%KD0)
Busca pela posição da primeira palavra dupla = %KD0=30 na tabela:
0 %MD30=10 -
1 %MD32=20 -
3 %MD36=40 -
90 EIO0000003295.03
Instruções
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe das instruções de busca da tabela para valores máximos e mínimos:
Função Sintaxe
MAX_ARR Resultado:=Função(Guia)
MIN_ARR
Estrutura
Exemplo da função de busca em tabelas:
Degrau Instrução
0 LD %I0.2
[%MD0:=MIN_ARR(%MD20:7)]
1 LD 1
[%MF8:=MIN_ARR(%MF40:5)]
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
EIO0000003295.03 91
Instruções
Função Sintaxe
OCCUR_ARR Res:=Função(Tab,Val)
Estrutura
Exemplo de número de ocorrências:
Degrau Instrução
0 LD %I0.3
[%MW5:=OCCUR_ARR(%MF20:7,%KF0)]
1 LD %I0.2
[%MW5:=OCCUR_ARR(%MD20:7,%MD1)]
92 EIO0000003295.03
Instruções
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Sintaxe de instruções de deslocamento de rotação em tabelas de palavra
flutuante ou palavra dupla: ROL_ARR e ROR_ARR:
Função Sintaxe
ROL_ARR Função(n,Tab)
ROR_ARR
Estrutura
Exemplo da função de deslocamento de rotação de tabela:
Degrau Instrução
0 LD %I0.2
[ROL_ARR(%KW0,%MD20:7)]
1 LD %I0.3
[ROR_ARR(2,%MD20:7)]
2 LD %I0.4
[ROR_ARR(2,%MF40:5)]
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
EIO0000003295.03 93
Instruções
Função Sintaxe
SORT_ARR Função(direção,Guia)
Estrutura
Exemplo da função de classificação de tabelas:
Degrau Instrução
0 LD %I0.1
[SORT_ARR(%MW20,%MF0:6)]
1 LD %I0.2
[SORT_ARR(%MW20,%MF0:6)]
2 LD %I0.3
[SORT_ARR(0,%MF40:8)]
94 EIO0000003295.03
Instruções
(Equação 1)
para , onde ;
(Equação 2)
para , onde .
Representação gráfica
Este gráfico ilustra a regra de interpolação linear descrita acima:
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
A função LKUP utiliza três operandos, dos quais dois são atributos de função,
conforme descrito nesta tabela:
Variável de saída Valor (X) definido pelo Matriz variável (Xi,Yi) definida pelo
usuário usuário
[Op1 := LKUP(Op2,Op3)] %MWi %MF0 Valor inteiro, %MWi,or %KWi
EIO0000003295.03 95
Instruções
Definição de Op1
Op1 é a palavra de memória que contém a variável de saída da função de
interpolação.
Dependendo do valor de Op1, você pode saber se a interpolação foi bem
sucedida ou não, e o que impediu o sucesso, conforme delineado nesta tabela:
Definição de Op2
Op2 é a variável de ponto flutuante (%MF0 da matriz de ponto flutuante Op3) que
contém o valor (X) definido pelo usuário para o qual computar o valor (Y)
interpolado.
Definição de Op3
Op3 define o tamanho (Op3 / 2) da matriz de ponto de flutuação onde os pares de
dados (Xi,Yi) são armazenados.
Os dados Xi e Yi são armazenados em objetos de pontos flutuantes com índices
pares; começando em %MF4 (note que os objetos de ponto flutuante %MF0 e %MF2
são reservados pelo ponto X definido pelo usuário e o valor interpolado Y,
respectivamente).
Dada a matriz de (m) dos pares de dados (Xi,Yi), o índice superior (u) da matriz do
ponto flutuante (%MFu) é definida ao se utilizar estas relações:
• (Equação 3)
• (Equação 4)
A matriz de ponto flutuante Op3 (%MFi) possui uma estrutura similar à deste
exemplo (onde Op3=8):
(Op3=8)
96 EIO0000003295.03
Instruções
Estrutura
As operações de interpolação são executadas conforme segue:
Degrau Instrução
0 LD %I0.2
[%MW20:=LKUP(%MF0,%KW1)]
1 LD %I0.3
[%MW22:=LKUP(%MF0,10)]
Exemplo de aplicativo
Utilização de uma função de interpolação LKUP:
[%MW20:=LKUP(%MF0,10)]
Neste exemplo:
• %MW20 é Op1 (a variável de saída).
• %MF0 é o valor (X) definido pelo usuário cujo valor correspondente (Y) deve
ser computado por interpolação linear.
• %MF2 armazena o valor computado (Y) resultante da interpolação linear.
• 10 é Op3 (conforme dado pela equação 3 acima). Define o tamanho da
matriz do ponto de flutuação. O item com classificação mais alta %MFu, onde
u=18 é dado pela equação 4, acima.
Existem quatro pares de pontos de dados armazenados na matriz Op3 [%
MF4,...%MF18]:
• %MF4 contém X1,%MF6 contém Y1.
• %MF8 contém X2,%MF10 contém Y2.
• %MF12 contém X3,%MF14 contém Y3.
• %MF16 contém X4,%MF18 contém Y4.
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
EIO0000003295.03 97
Instruções
Função Sintaxe
MEAN Resultado=Função(Op1)
Estrutura
Exemplo de função média:
Degrau Instrução
0 LD %I3.2
[%MF0:=MEAN(%MF10:5)]
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para a função SWAP, use a sintaxe:
Op1 := SWAP(Op2)
Em que:
Operando Tipo
Estrutura
Exemplo de função SWAP:
Degrau Instrução
0 %MW0:3 := "1234"
[%MW0:3 := SWAP(%MW0:3)]
98 EIO0000003295.03
Instruções
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para a instrução READ_IMM_IN, use esta sintaxe:
Op1 := READ_IMM_IN(Op2)
Em que:
%MWi
%KWi
i Identificador de instância do objeto para a variável de memória.
EIO0000003295.03 99
Instruções
Código Descrição
Exemplo
%MW0 := READ_IMM_IN(2)
Ao executar este bloco de operações, o valor atual da entrada %I0.2 é lido e a
imagem da entrada é imediatamente atualizada. O código de retorno de função é
armazenado na palavra da memória %MW0.
Estrutura
Exemplo da instrução READ_IMM_IN:
Degrau Instrução
0 LD %M0
[%MW0:=READ_IMM_IN(%MW5)]
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para a instrução WRITE_IMM_OUT, use esta sintaxe:
Op1 := WRITE_IMM_OUT(Op2)
100 EIO0000003295.03
Instruções
Em que:
%MWi
%KWi
i é o identificador de instância do objeto para a variável de memória.
Código Descrição
Exemplo
%MW0 := WRITE_IMM_OUT(%MW5) (com %MW5 = 2)
Na execução deste bloco de operações, a imagem da saída %Q0.2 é gravada
fisicamente na saída digital incorporada. O código de retorno de função é
armazenado na palavra da memória %MW0.
Estrutura
Exemplo da instrução WRITE_IMM_OUT:
Degrau Instrução
0 LD %M0
[%MW0:= WRITE_IMM_OUT(%MW4)]
EIO0000003295.03 101
Instruções
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para a instrução READ_IMM, use esta sintaxe:
READ_IMM(Op1)
Em que:
Exemplo
O código seguinte é um exemplo do uso da instrução READ_IMM:
Degrau Instrução
0 LD %M0
[READ_IMM(%HSC0.P)]
Sintaxe
Em seguida, é exibida uma descrição da sintaxe da Lista de instruções. Você
pode inserir operações da Lista de instruções e instruções de atribuição, página
16 em degraus de Diagramas Ladder usando um elemento gráfico Blocos de
operações.
Para a instrução WRITE_IMM, use esta sintaxe:
WRITE_IMM(Op1)
102 EIO0000003295.03
Instruções
Em que:
Exemplo
O código seguinte é um exemplo do uso da instrução WRITE_IMM:
Degrau Instrução
0 LD %M1
[WRITE_IMM(%HSC0.V)]
EIO0000003295.03 103
Objetos de E/S
Objetos de E/S
Contador rápido (%FC)
Usar blocos de funções do contador rápido
Esta seção fornece descrições e orientações de programação para a utilização de
blocos de funções de Fast Counter.
Visão geral
Consulte o Guia da biblioteca de funções avançadas do controlador.
Visão geral
Consulte o Guia da biblioteca de funções avançadas do controlador.
Impulso (%PLS)
Usar blocos de funções de impulsos
Esta seção fornece descrições e orientações de programação para a utilização
dos blocos de funções Pulse.
Visão geral
Consulte o Guia da biblioteca de funções avançadas do controlador.
104 EIO0000003295.03
Objetos de E/S
Visão geral
Consulte o Guia da biblioteca de funções avançadas do controlador.
EIO0000003295.03 105
Objetos de rede
Objetos de rede
Objetos de rede
Apresentação
Objetos de rede são utilizados para estabelecer comunicação via EtherNet/IP,
Modbus TCP ou Modbus Serial IOScanner.
Existem dois tipos de objetos de rede para comunicação EtherNet/IP:
• %QWE: Input Assembly
• %IWE: Output Assembly
Existem dois tipos de objeto de rede para comunicação Modbus TCP:
• %QWM: Registradores de entrada
• %IWM: Registradores de saída
Os tipos de objeto de rede a seguir são usados para o Modbus Serial IOScanner:
• %IN: Entradas digitais (IOScanner)
• %QN: Saídas digitais (IOScanner)
• %IWN: Registros de entradas (IOScanner)
• %QWN: Registros de saída (IOScanner)
• %IWNS: Códigos de diagnóstico de rede do IOScanner
NOTA: Referências para entrada e saída são do ponto de vista do cliente
EtherNet/IP mestre ou Modbus TCP.
Para mais informações sobre como configurar objetos de rede, consulte o guia de
programação para seu controlador lógico.
106 EIO0000003295.03
Objetos de software
Objetos de software
Utilizando os blocos de funções
Princípios de programação de blocos de funções
Visão geral
Um bloco de função é um objeto reutilizável que aceita um ou mais valores de
entrada e retorna um ou mais valores de saída.
Você pode inserir até cinco blocos de função em cada degrau do Diagrama
ladder.
Os parâmetros do bloco de função não estão disponíveis se:
• o controlador não suporta o bloco de função,
• O bloco de função não está configurado.
Etapa Ação
3 Configure, página 110 o bloco de função ao especificar valores para seus parâmetros.
Linha Instrução
1000 CU %C1
1074 CD %C1
1209 R %C1
EIO0000003295.03 107
Objetos de software
Degrau Instrução
0 BLK %C8
LDF %I0.1
R
LD %I0.1
AND %M0
CU
OUT_BLK
LD D
AND %M1
ST %Q0.0
END_BLK
Degrau Instrução
0 BLK %C8
LDF %I0.1
R
LD %I0.2
AND %M0
CU
END_BLK
1 LD %C8.D
AND %M1
ST %Q0.4
Etapa Ação
4 Mova o bloco de função para a posição solicitada no degrau; então clique para inserir.
108 EIO0000003295.03
Objetos de software
Temporizador
Registrador LIFO/FIFO
Contador de etapas
Contador
Contador rápido
Drum
Impulso
Message
Registro de dados
EIO0000003295.03 109
Objetos de software
Etapa Ação
Um endereço padrão aparece na caixa de texto, por exemplo "%TM0" para um bloco
de funções de Timer.
Em qualquer outro momento, clique duas vezes dentro do bloco de função para exibir
as propriedades.
Para criar um novo símbolo para este bloco de funções, digite o nome do símbolo a
ser criado e selecione o objeto a ser associado com o símbolo.
Você pode modificar os valores dos objetos no modo online. Consulte Modificações
on-line (consulte o EcoStruxure Machine Expert - Básico, Guia de instruções).
Temporizador (%TM)
Utilizar blocos de funções de temporizador
Esta seção fornece descrições e orientações de programação para a utilização
dos blocos de funções do Timer.
110 EIO0000003295.03
Objetos de software
Descrição
Introdução
Ilustração
Essa imagem é o bloco de funções Timer:
Comentário
Símbolo
IN Q
%TM0
Entradas
O bloco de funções Timer tem a seguinte entrada:
IN Endereço de Inicia o Timer quando uma borda de subida (tipos TON ou TP)
entrada (ou ou borda de descida (tipo TOF) for detectada.
instrução)
Saídas
O bloco de função Timer tem as seguintes saídas:
Configuração
Parâmetros
Para configurar os parâmetros, siga o procedimento Configurar um bloco de
funções, página 110 e leia a descrição dos Modos de alocação de memória no
EcoStruxure Machine Expert - Basic Guia de instruções.
EIO0000003295.03 111
Objetos de software
Endereço Endereço do objeto Timer (%TMi) Um programa pode conter somente um número limitado de Não
Timer objetos. Consulte o Guia de programação da plataforma
relacionada para obter o número máximo de temporizadores.
Retentivo VERDADEIRO/FALSO Quando a caixa de seleção retentiva não está selecionada Sim1
(padrão), o valor atual é reiniciado quando uma borda de
descida do parâmetro de ENTRADA é detectada. A contagem
reinicia de 0.
Predefinição VERDADEIRO/FALSO Quando a caixa de seleção Predefinição dinâmica não estiver Sim1
dinâmica selecionada (padrão) e o valor predefinido for modificado (por
instrução de programação ou usando EcoStruxure Machine
Expert - Basic), o valor predefinido modificado só entrará em
vigor na próxima ativação do temporizador.
Base de tempo Base de tempo A unidade de tempo básica do temporizador. Quanto menor a Sim1
unidade de tempo básica, maior será a precisão do
temporizador:
• 1 ms (suportado em %TM0...%TM5)
• 10 ms
• 100 ms
• 1s
• 1 min (padrão)
112 EIO0000003295.03
Objetos de software
Objetos
O bloco de função Timer possui os objetos a seguir:
%TMi.V Valor atual A palavra que incrementa de 0 até o valor predefinido %TMi.P
quando a contagem estiver em andamento. O valor pode ser lido
e testado, mas não escrito para, pelo programa.
Casos especiais
A tabela seguinte contém uma lista de casos especiais para a programação do
temporizador do bloco de funções.
Efeito de um reinício a frio (%S0=1) Força o valor para 0. Define a saída %TMi.Q como 0. O
valor predefinido é redefinido com o valor definido durante a
configuração.
EIO0000003295.03 113
Objetos de software
Diagrama de temporização
Este diagrama ilustra o funcionamento do Timer tipo TON.
114 EIO0000003295.03
Objetos de software
IN
80
TMi.P
30
TMi.V
Q
t
EIO0000003295.03 115
Objetos de software
IN
80
TMi.P
30
TMi.V
Q
t
116 EIO0000003295.03
Objetos de software
Diagrama de temporização
Este diagrama ilustra o funcionamento do Timer tipo TOF.
EIO0000003295.03 117
Objetos de software
IN
80
TMi.P
30
TMi.V
Q
t
118 EIO0000003295.03
Objetos de software
IN
80
TMi.P
30
TMi.V
Q
t
EIO0000003295.03 119
Objetos de software
Diagrama de temporização
Este diagrama ilustra o funcionamento do Timer tipo TP.
(1) O Timer começa na borda de subida da entrada IN. O valor atual %TMi.V é
definido como 0 se o Timer ainda não tiver sido iniciado e %TMi.Q é definido
como 1 quando o Timer for iniciado
(2) O valor atual %TMi.V do Timer aumenta de 0 para o valor predefinido %TMi.P
em incrementos de uma unidade por pulso do parâmetro de base de tempo TB.
(3) O bit %TMi.Q de saída é definido como 0 quando o valor atual atingiu o valor
predefinido %TMi.P.
(4) O valor atual %TMi.V é definido como 0 quando %TMi.V é igual %TMi.P e a
entrada IN retorna a 0.
(5) Esse Timer não pode ser redefinido.
(6) Quando %TMi.V é igual %TMi.P e a entrada IN é 0, então %TMi.Q é definido
como 0.
120 EIO0000003295.03
Objetos de software
IN
80
TMi.P
30
TMi.V
Q
t
(1) O temporizador começa em uma borda de subida da entrada IN. %TMi.V está
definido como 0 se o temporizador ainda não tiver iniciado. O valor %TMi.Q do bit
de saída é definido como 1 quando o temporizador é iniciado.
(2) O valor atual %TMi.V do Timer aumenta de 0 para o valor predefinido %TMi.P
em incrementos de uma unidade por pulso do parâmetro TB de Time Base.
(3) O valor de %TMi.P é alterado para 80. Como %TMi.V é menor que o novo
valor %TMi.P, o valor %TMi.Q fica inalterado e %TMi.V continua a aumentar com
cada pulso doTB do parâmetro Time Base.
(4) O bit %TMi.Q de saída é redefinido para 0 quando %TMi.V atinge o valor do
parâmetro predefinido %TMi.P.
(5) O valor atual %TMi.V é definido como 0 quando %TMi.V igual %TMi.P e a IN
entrada é redefinida como 0.
(6) O temporizador começa em uma borda de subida da entrada IN. O valor atual
%TMi.V é definido como 0 se o temporizador ainda não tiver começado e %TMi.Q
estiver definido como 1 quando o temporizador começar.
(7) O valor de %TMi.P é alterado para 30. O novo valor %TMi.P será levado em
consideração na próxima atualização do valor do parâmetro Time Base. Como %
TMi.V é maior que o novo valor %TMi.P, o bit %TMi.Q de saída é redefinido
como 0.
(8) O Timer começa em uma borda de subida da entrada IN. O valor atual %TMi.
V é definido como 0 se o temporizador ainda não tiver começado e %TMi.Q
estiver definido como 1 quando o temporizador começar.
(9) Este tipo de temporizador não pode ser redefinido.
(10) Quando %TMi.V é igual %TMi.P e a entrada IN é 0, %TMi.Q é definido como
0.
EIO0000003295.03 121
Objetos de software
Exemplo de programação
Introdução
Os blocos de função do Timer possuem os modos de operação a seguir:
• TON (Timer On-Delay), página 113: usado para especificar um período de
tempo entre uma entrada especificada sendo ativada e um sensor de saída
sendo ligado.
• TOF (Timer Off-Delay), página 116: usado para especificar um período de
tempo entre uma saída associada a um sensor não sendo mais detectado e
a saída correspondente sendo desligada.
• TP (Timer - Pulse), página 119: usado para criar um pulso de uma duração
precisa.
Os atrasos ou períodos de pulso dos Timers são programáveis e podem ser
configurados de dentro do software.
Programação
Este exemplo é um bloco de função Timer com instruções reversíveis:
0 BLK %TM0
LD %M0
IN
OUT_BLK
LD Q
ST %Q0.0
END_BLK
1 LD [%TM0.V<400]
ST %Q0.1
2 LD [%TM0.V>=400]
ST %Q0.2
0 LD %M0
IN %TM0
1 LD %TM0.Q
ST %Q0.0
2 LD [%TM0.V<400]
ST %Q0.1
3 LD [%TM0.V>=400]
ST %Q0.2
Contador (%C)
Utilizando os blocos de funções de contador
Esta seção fornece descrições e orientações de programação para a utilização de
blocos de funções de Counter.
122 EIO0000003295.03
Objetos de software
Descrição
Introdução
Ilustração
Esta imagem apresenta o bloco de funções Counter:
Entradas
O bloco de funções Counter tem as seguintes entradas:
S Consulte entrada (ou Define o contador (%Ci.V) para o valor predefinido (%Ci.
instrução) P) quando a entrada definida (S) estiver definida como 1.
Saídas
O bloco de funções Counter tem as seguintes saídas:
EIO0000003295.03 123
Objetos de software
Configuração
Parâmetros
Para configurar os parâmetros, siga o procedimento Configurar um bloco de
funções, página 110 e leia a descrição dos Modos de alocação de memória no
EcoStruxure Machine Expert - Basic Guia de instruções.
Os blocos de funções Counter possuem os seguintes parâmetros:
Objetos
O bloco de função Counter possui os objetos a seguir:
124 EIO0000003295.03
Objetos de software
Operações
Esta tabela descreve os estágios principais de operações do bloco de funções
Counter:
Reinicializar A entrada R está definida para o O valor atual %Ci.V é forçado para 0.
estado 1 (ou a instrução R está As saídas %Ci.E, %Ci.D e %Ci.F
ativada). estão como 0. A entrada redefinida tem
prioridade.
Contagem Uma borda de subida aparece na O valor atual %Ci.V é incrementado por
entrada Contagem de subida CU uma unidade.
(ou a instrução CU é ativada).
Casos especiais
Esta tabela contém uma lista de casos especiais para o funcionamento/
configuração do bloco de função Counter:
Efeito de um reinício a frio (%S0=1) ou INIT • O valor atual %Ci.V é definido como 0.
• Os bits de saída %Ci.E, %Ci.D, e %Ci.F são
definidos como 0.
• O valor predefinido é inicializado com o valor
definido durante a configuração.
Efeito de um reinício a quente %S1=1 de Não tem efeito no valor atual do Counter (%Ci.V).
uma interrupção de controlador
EIO0000003295.03 125
Objetos de software
Exemplo de programação
Introdução
O exemplo a seguir é um contador que fornece uma contagem de até 5000 itens.
Cada impulso na entrada %I0.2 (quando o bit de memória %M0 é definido como
1) incrementa o bloco de função Counter %C8 até seu valor predefinido final (bit %
C8.D=1). O contador é reiniciado pela entrada %I0.1.
Programação
Este exemplo é um bloco de função Counter com instruções reversíveis:
0 BLK %C8
LD %I0.1
R
LD %I0.2
AND %M0
CU
END_BLK
1 LD %C8.D
ST %Q0.0
0 LD %I0.1
R %C8
1 LD %I0.2
AND %M0
CU %C8
2 LD %C8.D
ST %Q0.0
Configuração
Os parâmetros devem ser inseridos durante a configuração:
Valor Predefinido (%Ci.P): definido como 5000 neste exemplo.
126 EIO0000003295.03
Objetos de software
Visão geral
Introdução
Um controlador lógico pode ser configurado para se comunicar no protocolo
Modbus ou pode enviar e/ou receber mensagens no modo de caractere (ASCII).
EcoStruxure Machine Expert - Basic fornece as seguintes funções para estas
comunicações:
• Instrução Intercâmbio (EXCH) para transmitir/receber mensagens.
• Bloco de função Message (Mensagem) (%MSG) para controlar o intercâmbio
de dados.
O controlador lógico utiliza o protocolo configurado para a porta especificada
quando processar uma instrução de Intercâmbio. Cada porta de comunicações
pode ser designada a um protocolo diferente. As portas de comunicação são
acessadas ao anexar o número da porta à instrução Intercâmbio (EXCH1,
EXCH2) ou ao bloco de função Message (%MSG1, %MSG2).
Os controladores lógicos implementam a troca de mensagens TCP Modbus
através de rede Ethernet utilizando a instrução EXCH3 e o bloco de função %
MSG3.
EIO0000003295.03 127
Objetos de software
EXCH2 %MSG2
EXCH3 %MSG3
Instrução de intercâmbio
A instrução Intercâmbio permite que um controlador lógico envie e/ou receba
informações de/para dispositivos ASCII ou Modbus. Uma tabela de palavras (%
MWi:L) deve ser definida que contenha informações de controle e os dados a
serem enviados e/ou recebidos. Consulte Configurando a tabela de transmissão,
página 135. Um intercâmbio de mensagens é executado utilizando-se a instrução
Intercâmbio.
Sintaxe
A instrução Intercâmbio possui o formato a seguir:
[EXCHx %MWi:L]
Onde: x = número da porta; L = número total de palavras da tabela de palavras.
O controlador lógico deve concluir o intercâmbio da primeira instrução
Intercâmbio antes que uma segunda instrução Intercâmbio seja iniciada. O
bloco de função Message deve ser utilizado ao se enviar diversas mensagens.
Protocolo ASCII
O protocolo ASCII fornece ao controlador lógico um protocolo de modo de
caractere para transmitir e/ou receber dados com um dispositivo. Este protocolo é
suportado pela utilização da instrução Intercâmbio e controlado utilizando-se do
bloco de função Message.
São possíveis 3 tipos de comunicações com o protocolo ASCII:
• Somente transmissão
• Transmissão/Recepção
• Somente recepção
Protocolo Modbus
No caso de um link serial, o protocolo Modbus é um protocolo mestre-escravo
que permite que um e somente um mestre solicite respostas de escravos, ou que
aja com base na solicitação. No suporte a Ethernet, diversos Mestres (cliente)
podem intercambiar com um escravo (servidor). Cada escravo deve possuir um
endereço único. O mestre pode tratar de escravos individuais ou pode iniciar uma
mensagem de difusão para os escravos. Os escravos retornam uma mensagem
(resposta) para as consultas que são endereçadas a eles individualmente.
Respostas não retornam a consultas de difusão do mestre.
O modo mestre do Modbus permite que o controlador envie uma consulta
Modbus a um escravo, e que aguarde pela resposta. O modo de mestre Modbus
somente é suportado através da instrução Intercâmbio. Ambos Modbus ASCII e
RTU são suportados no modo mestre Modbus.
O modo escravo do Modbus permite que o controlador responda a consultas
padrão Modbus de um mestre Modbus.
128 EIO0000003295.03
Objetos de software
Escravo Modbus
O protocolo Modbus suporta 2 camadas de link de dados dos formatos de Modelo
OSI: ASCII e RTU. Cada um é definido pela implementação da Camada Física,
com o ASCII utilizando 7 bits de dados, e o RTU utilizando 8 bits de dados.
Ao utilizar-se o modo Modbus ASCII, cada byte na mensagem é enviado como 2
caracteres ASCII. O quadro Modbus ASCII inicia com um caractere de início (':'),
e termina com dois caracteres de final (CR e LF). O caractere de final de quadro
padrão é 0x0A (LF). O valor de verificação do quadro Modbus ASCII é um
complemento de dois do quadro, excluindo os caracteres de início e fim.
O modo Modbus RTU não reformata a mensagem antes da transmissão;
contudo, utiliza um modo de soma diferente, especificado como um CRC.
O Modbus Data Link Layer possui as limitações a seguir:
• Endereços de 1 a 247
• Bits: 128 bits sob solicitação
• Palavras: 125 palavras de 16 bits por solicitação
Descrição
Introdução
EIO0000003295.03 129
Objetos de software
Ilustração
Esta imagem apresenta o bloco de funções Message:
Entradas
O bloco de funções Message tem a seguinte entrada:
130 EIO0000003295.03
Objetos de software
Saídas
O bloco de função Message tem as seguintes saídas:
D Comunicação Estado 1:
realizada (% • Término da transmissão (se transmissão)
MSGx.D)
• Término da recepção (caractere final recebido)
• Erro
• Redefinir o bloco
Estado 0: solicitação em andamento.
E Erro de Estado 1:
comunicação
• Comando indefinido
detectado (%
MSGx.E) • Tabela configurada incorretamente
• Caractere incorreto recebido (velocidade, paridade, e assim
por diante)
• Tabela de recepção cheia (não atualizada)
Estado 0: comprimento da mensagem correto, vínculo
estabelecido.
EIO0000003295.03 131
Objetos de software
132 EIO0000003295.03
Objetos de software
6 - transmissão
EIO0000003295.03 133
Objetos de software
Configuração
Erro detectado
Se um erro é detectado com a utilização de uma instrução de Intercâmbio, os
bits %MSGx.D e %MSGx.E são definidos como 1, a palavra do sistema %SW63
contém o código de erro para a porta 1 e %SW64 contém o código de erro para a
porta 2. Consulte o capítulo Palavras do sistema do guia de programação do
controlador lógico.
Operações
Esta tabela descreve os estágios principais de operações do bloco de funções
Message:
Comunicação A saída D é definida com o estado O controlador lógico está pronto para
realizada 1. enviar outra mensagem. A utilização do
bit de %MSGx.D para ajudar a evitar a
perda de mensagens quando são
enviadas várias mensagens.
Casos especiais
Esta tabela contém uma lista de casos especiais para o funcionamento de
Message:
134 EIO0000003295.03
Objetos de software
Limitações
Observe as limitações a seguir:
• A disponibilidade e o tipo da porta 2 (para protocolo ASCII) (consulte %SW7)
são verificados somente na inicialização ou reinicialização
• A presença e configuração da porta 2 (para protocolo Modbus) (RS-485) são
verificadas na inicialização ou reinicialização
• Qualquer mensagem sendo processada na porta 1 é cancelada quando
EcoStruxure Machine Expert - Basic estiver conectada
• As instruções de Exchange abortam o processamento do escravo Modbus
ativo
• O processamento das instruções de Intercâmbio Não é repetido na
eventualidade de um erro detectado
• A entrada redefinida (R) pode ser utilizada para abortar o processamento de
recepção da instrução Exchange
• As instruções de Exchange são configuradas com um tempo de espera no
caso do protocolo Modbus.
• Mensagens múltiplas são controladas através de %MSGx.D
EIO0000003295.03 135
Objetos de software
136 EIO0000003295.03
Objetos de software
Exemplo de programação
Introdução
Os exemplos a seguir são da programação de um bloco de função Message.
EIO0000003295.03 137
Objetos de software
0 BLK %MSG1 –
LD %M0
R
END_BLK
Exemplos ASCII
Escrita de aplicativo
Exemplo de aplicativo ASCII:
1 LD 1 [%MW12:=16#4F4B]: Ok
AND %MSG2.D
NOTA: A tabela possui 8 elementos.
[EXCH2 %MW10:8]
2 LD %MSG2.E
ST %Q0.0
END
138 EIO0000003295.03
Objetos de software
Para exibir os formatos possíveis, clique com o botão direito do mouse na caixa
Valores em uma tabela de animação.
O passo final é baixar o aplicativo para o controlador e executá-lo. Inicialize uma
tabela de animação para animar e exibir o %MW10 através de palavras %MW16.
Essa informação é intercambiada com um controlador lógico e exibida em uma
tabela de animação.
EIO0000003295.03 139
Objetos de software
Índice
Tabela de controle 0 01 (Transmissão/recepção) 06 (Duração da transmissão) (1)
= [1+(N1-1)/8],
(1) Este byte também recebe o comprimento da cadeia transmitida após a resposta.
140 EIO0000003295.03
Objetos de software
Índice
Tabela de controle 0 01 (Transmissão/recepção) 06 (Duração da transmissão) (1)
... ...
N+6 Palavra N lida (se N>2)
(1) Este byte também recebe o comprimento da cadeia transmitida após a resposta.
Índice
Tabela de controle 0 01 (Transmissão/recepção) 06 (Duração da transmissão) (1)
7 Valor escrito
(1) Este byte também recebe o comprimento da cadeia transmitida após a resposta.
(2) Para que um bit grave 1, a palavra associada na tabela de transmissão tem que conter o valor FF00h 0 para que o bit grave 0.
NOTA:
• Esta solicitação não necessita da utilização de deslocamento.
• A estrutura de resposta é a mesma que a estrutura solicitada aqui (em
um caso normal).
EIO0000003295.03 141
Objetos de software
Índice
Tabela de controle 0 01 (Transmissão/recepção) 06 (Duração da transmissão) (1)
7 Valor escrito
(1) Este byte também recebe o comprimento da cadeia transmitida após a resposta.
NOTA:
• Esta solicitação não necessita da utilização de deslocamento.
• A estrutura de resposta é a mesma que a estrutura solicitada aqui (em
um caso normal).
Índice
Tabela de controle 0 01 (Transmissão/recepção) 8 + número de bytes (transmissão)
= [1+(N1-1)/8],
(N2/2+1)+5 (se N2 é
ímpar)
142 EIO0000003295.03
Objetos de software
Índice
Tabela de controle 0 01 (Transmissão/recepção) 8 + (2*N) (Duração da transmissão)
... ...
N+5 N valores para escrita
EIO0000003295.03 143
Objetos de software
1 LD 1 –
AND %MSG2.D
[EXCH2 %MW0:11]
2 LD %MSG2.E –
ST %Q0.0
END
Programa escravo:
0 LD 1 –
[%MW0:=16#6566]
[%MW1:=16#6768]
[%MW2:=16#6970]
[%MW3:=16#7172]
END
144 EIO0000003295.03
Objetos de software
Após realizar o download e definir cada controlador lógico a ser executado, abra
uma tabela de animação no mestre. Examine a seção de resposta da tabela para
verificar se o código de resposta é 3 e se o número correto de bytes foi lido.
Também neste exemplo, as palavras lidas a partir do escravo (começando com %
MW7) estão alinhadas corretamente com os limites de palavras no mestre.
1 LD 1 –
AND %MSG2.D
[EXCH2 %
MW0:12]
2 LD %MSG2.E –
ST %Q0.0
END
EIO0000003295.03 145
Objetos de software
Programa escravo:
0 LD 1 –
[%MW18:
=16#FFFF]
END
Após realizar o download e definir cada controlador lógico a ser executado, abra
uma tabela de animação no escravo. Os 2 valores em %MW16 e %MW17 são
escritos para o escravo.
No mestre, uma tabela de animação pode ser utilizada para examinar a porção da
tabela de recepção dos dados de intercâmbio. Esses dados exibem o endereço
do escravo, o código de resposta, a primeira palavra escrita e o número de
palavras escritas começando em %MW8 no exemplo acima.
146 EIO0000003295.03
Objetos de software
Descrição
Introdução
Ilustração
Essa imagem é o bloco de funções LIFO/FIFO Register:
Entradas
O bloco de funções LIFO/FIFO Register tem as seguintes entradas:
EIO0000003295.03 147
Objetos de software
Saídas
O bloco de função LIFO/FIFO Register tem as seguintes saídas:
E Saída vazia (% O bit associado %Ri.E indica que o LIFO/FIFO Register está
Ri.E) vazio. O valor de %Ri.E pode ser testado, por exemplo, em uma
tabela de animação ou com uma instrução.
F Saída total (% O bit associado %Ri.F indica que o LIFO/FIFO Register está
Ri.F) cheio. O valor de %Ri.F pode ser testado, por exemplo, em uma
tabela de animação ou com uma instrução.
Configuração
Parâmetros
Para configurar os parâmetros, siga o procedimento Configurar um bloco de
funções, página 110 e leia a descrição dos Modos de alocação de memória no
EcoStruxure Machine Expert - Basic Guia de instruções.
Os blocos de funções LIFO/FIFO Register possuem os seguintes parâmetros:
Endereço LIFO/FIFO Register endereço Um programa pode conter somente um número limitado de LIFO/ Não
do objeto FIFO Register objetos. Consulte o Guia de programação da
plataforma de hardware para o número máximo de registradores.
Objetos
O bloco de função LIFO/FIFO Register possui os objetos a seguir:
148 EIO0000003295.03
Objetos de software
Casos especiais
Esta tabela contém uma lista de casos especiais para a programação do bloco de
funções LIFO/FIFO Register:
Efeito de um reinício a frio (%S0=1) ou INIT Inicializa os conteúdos do LIFO/FIFO Register. O bit
de saída %Ri.E associado à saída E é definido como
1.
Efeito de um reinício a quente (%S1=1) ou Não tem efeito no valor atual do LIFO/FIFO Register,
de uma interrupção do controlador nem no estado de seus bits de saída.
Borda de subida detectada em %Ri.O e %Ri. Se uma borda de subida em %Ri.O e %Ri.I for
I detectada na mesma chamada do bloco de função
LIFO/FIFO Register, os calores não serão
armazenado nem recuperados; seu programa deve
gerenciar o armazenamento ou a recuperação dos
valores.
EIO0000003295.03 149
Objetos de software
Funcionamento
Esta tabela descreve a operação LIFO:
3 Redefinir: –
150 EIO0000003295.03
Objetos de software
Funcionamento
Esta tabela descreve a operação FIFO:
3 Redefinir: –
EIO0000003295.03 151
Objetos de software
Exemplo de programação
Introdução
O exemplo de programação a seguir mostra o conteúdo de uma palavra de
memória (%MW34) sendo carregado em um LIFO/FIFO Register (%R2.I) na
recepção de uma solicitação de armazenamento (%I0.2) se o LIFO/FIFO
Register %R2 não estiver cheio (%R2.F = 0). A solicitação de armazenamento em
LIFO/FIFO Register é realizada por %M1. A solicitação de recuperação é
confirmada pela entrada %I0.3, and %R2.O é carregado em %MW20 se o registro
não estiver vazio (%R2.E = 0).
Programação
Este exemplo é um bloco de função LIFO/FIFO Register com instruções
reversíveis:
0 BLK %R2
LD %M1
I
LD %I0.3
ANDN %R2.E
O
END_BLK
1 LD %I0.3
[%MW20:=%R2.O]
2 LD %I0.2
ANDN %R2.F
[%R2.I:=%MW34]
ST %M1
0 LD %M1
I %R2
1 LD %I0.3
ANDN %R2.E
O %R2
2 LD %I0.3
[%MW20:=%R2.O]
3 LD %I0.2
ANDN %R2.F
[%R2.I:=%MW34]
ST %M1
Drums (%DR)
Utilizando os blocos de funções de Drums
Esta seção fornece descrições e orientações de programação para a utilização
dos blocos de funções Drum.
152 EIO0000003295.03
Objetos de software
Descrição
Introdução
Ilustração
Esta ilustração é o bloco de função Drum
Entradas
O bloco de funções Drum tem as seguintes entradas:
Saídas
O bloco de função Drum tem as seguintes saídas:
F Saída (%DRi.F) Indica que o passo atual é igual ao último passo definido. O bit
associado %DRi.F pode ser testado.
EIO0000003295.03 153
Objetos de software
Configuração
Parâmetros
Para configurar os parâmetros, siga o procedimento Configurar um bloco de
funções, página 110 e leia a descrição dos Modos de alocação de memória no
EcoStruxure Machine Expert - Basic Guia de instruções.
Os blocos de funções Drum possuem os seguintes parâmetros:
Objetos
O bloco de função Drum possui o objeto a seguir:
%DRi.S Número do passo 0<=%DRi.S<=7. Palavra que pode ser lida e escrita. O
atual valor escrito deve ser um valor decimal imediato.
Quando escrito, o efeito ocorre na próxima execução
do bloco de função.
Funcionamento
O bloco de função Drum consiste de:
• Uma matriz de dados constantes (as cames) organizadas em 8 passos (0 a
7) e 16 bits (estado do passo) organizada em colunas numeradas de 0 a 15.
• Uma lista de bits de controle é associada com uma saída (%Qi.j)
configurada, ou palavra de memória (%Mi). Durante o passo atual, os bits de
controle assumem os estados binários definidos para esse passo.
154 EIO0000003295.03
Objetos de software
Assistente de degrau
Utilize o Assistente de degrau para configurar o bloco de função Drum.
Configure o Número de passos: 1...8 e as saídas ou bits de memória associados
a cada etapa: Bit0 ... Bit15 e, em seguida, clique em OK.
Casos especiais
Esta tabela contém uma lista de casos especiais para o funcionamento do Drum:
Efeitos de um reinício a frio Redefine o Drum para o passo 0 (atualização de bits de controle).
(%S0=1)
Efeito de um salto no O fato de o Drum não ser mais verificado significa que os bits de
programa controle mantêm seu último estado.
Atualizando os bits de Somente ocorre quando houver uma alteração no passo ou no caso
controle. de uma nova partida a quente ou a frio.
Exemplo de programação
Introdução
O exemplo a seguir é da programação de um Drum que é configurado de tal
forma que nenhum dos controles são definidos no passo 0 e os controles são
definidos para o passo 1 ao 6 nas saídas %Q0.0 a %Q0.5 respectivamente
(consulte Configuração, página 158).
EIO0000003295.03 155
Objetos de software
As 6 primeiras saídas %Q0.0 a %Q0.5 são ativadas em sucessão cada vez que a
entrada %I0.1 é definida como 1. A entrada %I0.0 redefine as seguintes como 0
quando está alta:
• Saída de degrau F (%DRi.F = 0)
• Número do passo atual (%DRi.S = 0)
Programação
Este exemplo é um programa de bloco de funções Drum:
Degrau Instrução
0 BLK %DR1
LD %I0.0
R
LD %I0.1
U
OUT_BLK
LD F
ST %Q0.7
END_BLK
156 EIO0000003295.03
Objetos de software
Diagrama de temporização
Este diagrama ilustra o funcionamento do Drum:
EIO0000003295.03 157
Objetos de software
Configuração
As informações a seguir são definidas durante a configuração:
• Número de passos: 6
• Os estados da saída (bits de controle) para cada passo do Drum:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Passo 0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Passo 1: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Passo 2: 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
Passo 3: 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Passo 4: 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
Passo 5: 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
2 %Q0.2
3 %Q0.3
4 %Q0.4
5 %Q0.5
Descrição
Introdução
158 EIO0000003295.03
Objetos de software
Ilustração
Essa imagem é o bloco de funções Shift Bit Register:
Entradas
O bloco de funções Shift Bit Register tem as seguintes entradas:
CU Deslocamento para entrada Em uma borda de subida, move um bit de registro para
(ou instrução) esquerda a esquerda.
Configuração
Parâmetros
Para configurar os parâmetros, siga o procedimento Configurar um bloco de
funções, página 110 e leia a descrição dos Modos de alocação de memória no
EcoStruxure Machine Expert - Basic Guia de instruções.
O bloco de função Shift Bit Register possui os parâmetros a seguir:
EIO0000003295.03 159
Objetos de software
Objetos
O bloco de função Shift Bit Register possui os objetos a seguir:
Funcionamento
Esta ilustração mostra um padrão de bits antes e depois de uma operação de
deslocamento:
Isto também é verdade no caso de uma solicitação para deslocar um bit para a
direita (bit 15 para bit 0) utilizando-se a instrução CD. Bit 0 foi perdido.
Se um registro de 16 bits não for adequado, é possível utilizar o programa para
cascatear diversos registros.
Casos especiais
Esta tabela contém uma lista de casos especiais para a programação do bloco de
função Shift Bit Register:
Efeito de um reinício a frio (%S0=1) Define todos os bits da palavra de registro como
0.
Efeito de um reinício a quente (%S1=1) Sem efeito nos bits da palavra registrada.
Exemplo de programação
Introdução
O bloco de função Shift Bit Register fornece um deslocamento para a esquerda
ou direita de bits de dados binários (0 ou 1).
Programação
Neste exemplo, um bit é deslocado para a esquerda a cada segundo enquanto o
bit 0 assume o estado como bit 15.
160 EIO0000003295.03
Objetos de software
Em instruções reversíveis:
0 BLK %SBR0
LD %S6
CU
END_BLK
1 LD %SBR0.15
ST %SBR0.0
Em instruções irreversíveis:
0 LD %S6
CU %SBR0
1 LD %SBR0.15
ST %SBR0.0
Descrição
Introdução
Ilustração
Esta ilustração é um bloco de funções Step Counter:
EIO0000003295.03 161
Objetos de software
Entradas
O bloco de funções Step Counter tem as seguintes entradas:
Configuração
Parâmetros
Para configurar os parâmetros, siga o procedimento Configurar um bloco de
funções, página 110 e leia a descrição dos Modos de alocação de memória no
EcoStruxure Machine Expert - Basic Guia de instruções.
O bloco de função Step Counter possui os parâmetros a seguir:
Objetos
O bloco de função Step Counter possui o objeto a seguir:
%SCi.j Step Counter Bit do Os bits 0 a 255 do Step Counter (j = 0 a 255) podem ser
testados por uma operação lógica carregada e gravada
por uma instrução de Atribuição.
Caso especial
Esta tabela contém uma lista de casos especiais para o funcionamento do bloco
de função Step Counter:
162 EIO0000003295.03
Objetos de software
Exemplo de programação
Introdução
Este exemplo é um bloco de funções Step Counter.
• Step Counter 0 é decrescido pela entrada %I0.1.
• Step Counter 0 é acrescido pela entrada %I0.2.
• Step Counter 0 é redefinido como 0 pela entrada %I0.3 ou quando chega ao
passo 3.
• O passo 0 controla a saída %Q0.1, o passo 1 controla a saída %Q0.2 e o
passo 2 controla a saída %Q0.3.
Programação
Este exemplo é um bloco de função Step Counter com instruções reversíveis:
0 BLK %SC0
LD %SC0.3
OR %I0.3
R
LD %I0.2
CU
LD %I0.1
CD
END_BLK
1 LD %SC0.0
ST %Q0.1
2 LD %SC0.1
ST %Q0.2
3 LD %SC0.2
ST %Q0.3
0 LD %SC0.3
OR %I0.3
R %SC0
1 LD %I0.2
CU %SC0
2 LD %I0.1
CD %SC0
3 LD %SC0.0
ST %Q0.1
4 LD %SC0.1
ST %Q0.2
5 LD %SC0.2
ST %Q0.3
EIO0000003295.03 163
Objetos de software
Diagrama de temporização
Este diagrama ilustra o funcionamento do bloco de função Step Counter:
(1) O passo 0 está ativo, por isso, %SC0.0 está definido como 1
(2) Na borda de subida da entrada CU, o passo é incrementado e as saídas são
atualizadas
(3) A etapa é incrementada e as saídas são atualizadas
(4) O passo 3 está ativo, por isso, a entrada Reset fica ativa após um ciclo
(5) Quando a opção Reset está ativa, o passo atual é definido como 0 e a entrada
reiniciar é definida como 0 após um ciclo
(6) A etapa atual é incrementada na borda de subida da entrada CU
(7) Na borda de subida da entrada de CD, a etapa é diminuída e as saídas são
atualizadas
Descrição
Introdução
Blocos de agendamento são utilizados para controlar ações em um mês, dia e
hora predefinidos.
Blocos de agendamento são configurados somente em EcoStruxure Machine
Expert - Basic; não podem ser inseridos em um degrau de programa do mesmo
modo que outros blocos de função.
NOTA: Verifique o bit do sistema %S51 e a palavra do sistema %SW118 para
confirmar que a opção Relógio em Tempo Real (RTC) está instalada. A opção
RTC é necessária para a utilização dos Schedule blocks.
164 EIO0000003295.03
Objetos de software
Endereço Schedule blocks endereço do objeto Um programa pode conter somente um número limitado de
Schedule blocks objetos. Consulte o Guia de programação da
plataforma de hardware para obter o número máximo do
Schedule blocks.
Configurado Se o número de Schedule blocks selecionado Se a caixa de seleção está selecionada, está configurada
estiver configurado para utilização. para utilização. De outro modo, não é utilizado
Bit de saída Bit de saída A atribuição de saída é ativada peloSchedule blocks: %Mi ou
%Qj.k.
Dia de início O dia do mês para início dos Schedule blocks. 1...31
Mês de início O mês para início dos Schedule blocks. Schedule blocks.
Dia de término O dia do mês para término dos Schedule blocks. 1...31
Horário de início O período do dia, horas e minutos para início dos Hora: 0...23
Schedule blocks.
Minuto: 0...59
Hora de término O período do dia, horas e minutos para término Hora: 0...23
dos Schedule blocks.
Minuto: 0...59
Segunda-feira Marque as caixas que identificam o(s) dia(s) da Se a caixa de seleção está selecionada, está configurada
semana para a ativação dos Schedule blocks. para utilização. De outro modo, não é utilizado
Terça-feira
Quarta-feira
Quinta-feira
Sexta-feira
Sábado
Domingo
Objetos
Esses objetos estão disponíveis somente se o bloco estiver configurado conforme
explicado acima.
O aplicativo deve ser configurado com um nível funcional (consulte EcoStruxure
Machine Expert - Básico, Guia de instruções) de pelo menos Nível 6.0.
EIO0000003295.03 165
Objetos de software
Objetos Descrição
Por padrão (ou após uma reinicialização a frio), os bits dessa palavra do sistema
são definidos como 1 (ativado). A utilização destes bits pelo programa é opcional.
166 EIO0000003295.03
Objetos de software
Programação e configuração
Introdução
Schedule blocks são utilizados para controlar ações em um mês, dia e hora
predefinidos.
Exemplo de programação
Esta tabela mostra os parâmetros para um exemplo de programa para a
pulverização em um mês de verão:
Configurado Caixa selecionada Caixa selecionada para configurar o Schedule blocks Não
número 6.
Bit de saída %Q0.2 Ativar saída%Q0.2 Sim
EIO0000003295.03 167
Objetos de software
Degrau Instrução
0 LD %M4
[ %M0:4 := 7 ]
1 LD %M0
RISING1
R %M0
2 LD %M1
RISING0
R %M1
3 LD %M2
RISING2
[%SCH0.DOW := %MW8]
Diagrama de temporização
Este diagrama de temporização mostra a ativação da saída %Q0.2:
168 EIO0000003295.03
Objetos de software
Descrição
Introdução
Ilustração
Esta ilustração mostra o bloco de funções do RTC.
EIO0000003295.03 169
Objetos de software
Entradas
O bloco de funções RTC tem as seguintes entradas:
Habilitar - Habilita o bloco de funções quando uma borda de subida desta entrada
for detetada.
Valor padrão: 12
De 1 a 31
Month %RTCi.MONTH Mês
Valor padrão: 6
De 1 a 12
Year %RTCi.YEAR Ano
Valor padrão: 0
De 0 a 23
Minutes %RTCi.MINUTES Minutos
Valor padrão: 0
De 0 a 59
Seconds %RTCi.SECONDS Segundos
Valor padrão: 0
De 0 a 59
170 EIO0000003295.03
Objetos de software
Saídas
O bloco de funções RTC tem as seguintes saídas:
Faixa: De 0 a 7
Códigos de erro
Os códigos a seguir podem ser retornados no %RTCi.ErrorId objeto quando a
saída Erro for definida como 1.
0 Nenhum erro
1 Erro em ano
2 Erro em mês
3 Erro em dia
4 Erro em semana
5 Erro em hora
6 Erro em minuto
7 Erro em segundos
8 Erro de combinação
Configuração
Apresentação
Configure as propriedades do bloco de funções RTC com os valores a serem
utilizados para atualizar o RTC no controlador lógico.
Para exibir a página Propriedades de RTC, escolha:
• Faça clique duplo no bloco de funções do RTC.
• Na guia Programação, escolha Ferramentas > Objetos de software >
RTC.
EIO0000003295.03 171
Objetos de software
Propriedades de RTC
Para configurar os parâmetros, siga o procedimento Configurar um bloco de
funções, página 110 e leia a descrição dos Modos de alocação de memória no
EcoStruxure Machine Expert - Basic Guia de instruções.
A página Propriedades de RTC exibe as seguintes propriedades:
PID
Função PID
Introdução
A função PID é usada para controlar continuamente um processo dinâmico. O
propósito do controle de PID é manter um processo em execução o mais próximo
possível de um ponto de ajuste desejado.
Consulte o Guia da biblioteca de funções avançadas para obter informações
detalhadas sobre o comportamento do PID, as funcionalidades e a
implementação da função de PID:
• Modos de operação do PID
• Configuração de auto-ajuste do PID
• Configuração padrão do PID
• Assistente do PID
• Programação do PID
• Parâmetros do PID
◦ Função e influência dos parâmetros do PID
◦ Método de ajuste de parâmetros do PID
172 EIO0000003295.03
Objetos de software
Registro de dados
Registro de dados
Descrição do bloco de funções
O recurso de registro de dados permite que você armazene retentivamente dados
de objetos ou sequências de caracteres no arquivo /user/DATALOGx.csv, onde x
é o número inteiro correspondente ao número da instância de registro de dados.
O arquivo é armazenado na placa do SD.
Quando DATALOGx.csv excede o tamanho máximo de arquivo definido, ele é
renomeado como DATALOGx.bak, substituindo qualquer arquivo DATALOGx.bak
existente. Novos dados de registro são então armazenados no novo arquivo
DATALOG.csv DATALOGx.bak é armazenado no cartão SD.
O nome da placa do SD deve serDATA.
NOTA: O aplicativo deve ser configurado com um nível funcional (consulte
EcoStruxure Machine Expert - Básico, Guia de instruções) de pelo menos
Nível 6.0 e o carregador de inicialização versão 50 ou posterior. Consulte a
palavra do sistema (consulte Controlador lógico Modicon M221, Guia de
programação) %SW13.
Representação gráfica
EIO0000003295.03 173
Objetos de software
O recurso Dados históricos permite que você armazene vários dados a partir de
objetos. Somente os objetos de EcoStruxure Machine Expert - Basic são permitidos.
Você pode armazenar até 32 objetos.
O recurso Registro de eventos permite que você armazene uma cadeia (consulte
EcoStruxure Machine Expert - Básico, Guia de instruções).
Se você atribuiu um símbolo ao objeto, ele será exibido na coluna Símbolo. Não é
possível alterar o símbolo aqui.
7 Clique em Aplicar.
8 Para inserir o bloco de função no editor Ladder, realize um dos seguintes métodos:
• Clique , depois .
• Arraste e solte em propriedades do Registro de dados .
Entrada
A tabela a seguir descreve a entrada do bloco de função:
Saídas
A tabela a seguir descreve as saídas do bloco de função:
174 EIO0000003295.03
Objetos de software
Códigos de erro
Código de erro Descrição
0 Nenhum erro.
1 Operação em andamento.
Passos Grafcet
Passos Grafcet
Visão geral
Grafcet Objetos da etapa (%Xi) são usados para identificar o status da
Grafcetetapai correspondente em um programa.
Parâmetros
A janela propriedades da etapa Grafcet mostra as seguintes propriedades:
EIO0000003295.03 175
Objetos de PTO
Objetos de PTO
Tabela de tarefa de movimentos (%MT)
Utilizando a abela de tarefa de movimentos
Esta seção fornece descrições e linhas de programação para a utilização das
tabelas de tarefas de movimentos e blocos de funções Motion Task Table.
Visão geral
Consulte o Guia da biblioteca de funções avançadas do controlador.
Visão geral
Consulte o Guia da biblioteca de funções avançadas do controlador.
176 EIO0000003295.03
Objetos da unidade
Objetos da unidade
Objetos da unidade
Visão geral
Os objetos da unidade controlam as unidades ATV e outros dispositivos
configurados no Modbus Serial IOScanner ou Modbus TCP IOScanner.
Consulte o Guia da biblioteca de funções avançadas do seu controlador lógico.
EIO0000003295.03 177
Objetos de comunicação
Objetos de comunicação
Introdução
Os blocos de funções de comunicação são usados para comunicação com
dispositivos Modbus e enviar/receber mensagens no modo de caractere (ASCII).
NOTA: Apenas um bloco de funções de comunicação pode estar ativo de
cada vez em uma porta de comunicação durante um ciclo mestre de tarefas.
Se você tentar usar vários blocos de funções de comunicação ou instruções
EXCH ao mesmo tempo e na mesma porta de comunicação, os blocos de
funções retornam um código de erro. Portanto, verifique se não há nenhuma
troca ativa (%MSGx.D é verdadeiro) em progresso em uma porta de
comunicação antes de iniciar um bloco de funções de comunicação ou
instrução EXCH.
Descrição
Introdução
O bloco de funções %READ_VAR é usado para ler dados a partir de um
dispositivo remoto no Modbus SL ou TCP do Modbus.
Ilustração
Essa imagem é o bloco de funções %READ_VAR:
178 EIO0000003295.03
Objetos de comunicação
Entradas
O bloco de funções %READ_VAR tem as seguintes entradas:
Execu- BOOL Inicia a execução de blocos de função quando uma borda de subida é
tar detetada.
Saídas
O bloco de função %READ_VAR tem as seguintes saídas:
EIO0000003295.03 179
Objetos de comunicação
ProblemSendingRq 7 (07 hex) O envio de pedido para o destino não foi bem
sucedido.
RecvBufferNotAlloc 9 (09 hex) O tamanho do buffer de recepção é insuficiente.
Refused 255 (FF hex) A mensagem é recusada. Para obter mais detalhes,
consulte Códigos de erros de operação, página 181.
180 EIO0000003295.03
Objetos de comunicação
254 (FE hex) IllegalFunction 1 (00000001 hex) O código da função recebido no pedido não é
(código de uma ação autorizada para o escravo. O
exceção escravo pode não estar no estado correto
Modbus) para processar um pedido específico.
255 (FF hex) TargetResourceMissing 1 (00000001 hex) O recurso do sistema de destino está
(recusado) indisponível.
EIO0000003295.03 181
Objetos de comunicação
Configuração da função
Propriedades
Clique duas vezes no bloco de funções para abrir a tabela de propriedades da
função.
As propriedades deste bloco de funções não podem ser modificadas no modo on-
line.
O bloco de funções %READ_VAR tem as seguintes propriedades:
Endereço %READ_VARi em que i vai do 0 ao número de i é o identificador da instância. Para obter o número máximo de
objetos disponíveis neste controlador lógico instâncias, consulte Número máximo de objetos (consulte
Modicon M221, Controlador lógico, Guia de programação).
Símbolo Texto definido pelo usuário O símbolo identifica exclusivamente esse objeto. Para obter
detalhes, consulte o EcoStruxure Machine Expert - Basic Guia
de instruções (definição e uso de símbolos) (consulte
EcoStruxure Machine Expert - Básico, Guia de instruções).
Tempo limite Especificado em unidades de 100 ms, com um O tempo limite define o tempo máximo a aguardar até receber
padrão de 100 (10 segundos). uma resposta.
Um valor de 0 significa que não é aplicado nenhum Se o tempo limite expirar, o intercâmbio termina com erro, com
tempo limite. o código de erro (CommError = 01 hex). Se o sistema receber
uma resposta após o tempo limite expirar, essa resposta será
ignorada.
NOTA: O tempo limite definido no bloco de função substitui
o valor configurado nas telas de configuração EcoStruxure
Machine Expert - Basic (Configuração do Modbus TCP
(consulte Modicon M221, Controlador lógico, Guia de
programação) e Configuração da linha serial (consulte
Modicon M221, Controlador lógico, Guia de
programação)).
ObjType O tipo objeto a ser lido: Os tipos de códigos da função de leitura do Modbus são:
• 0 para palavras • Mbs 0x03 - Ler várias palavras (registo de retenção)
• 1 para entradas digitais • Mbs 0x02 - Ler vários bits (entradas digitais)
• 2 para saídas digitais • Mbs 0x01 - Ler vários bits (saídas digitais)
• 3 para palavras de entrada • Mbs 0x04 - Ler várias palavras (registo de entrada)
182 EIO0000003295.03
Objetos de comunicação
Objetos
O bloco de função %READ_VAR possui os objetos a seguir:
%READ_VARi.TIMEOUT Tempo limite do bloco de funções Consulte Propriedades, página 182. Pode
ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%READ_VARi.OBJTYPE Tipo de objetos para ler Consulte Propriedades, página 182. Pode
ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%READ_VARi.QUANTITY O número de objetos a serem lidos do Consulte Propriedades, página 182. Pode
dispositivo remoto. ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%READ_VARi.INDEXDATA O endereço da tabela de palavras local (% Consulte Propriedades, página 182. Pode
MW) na qual os valores lidos são ser lido e escrito. Pode ser modificado em
armazenados. uma tabela de animações.
%READ_VARi.DONE Execução concluída com sucesso Consulte Saídas, página 179. Somente
leitura. Pode ser lido em uma tabela de
animações.
EIO0000003295.03 183
Objetos de comunicação
Exemplo de programação
Introdução
O bloco de funções %READ_VAR pode ser configurado como apresentado neste
exemplo de programação.
Programação
Este exemplo é um bloco de funções %READ_VAR:
Degrau Instrução
0 BLK %READ_VAR0
LD %I0.0
EXECUTE
LD %I0.1
ABORT
OUT_BLK
LD DONE
ST %Q0.0
LD BUSY
ST %Q0.1
LD ABORTED
ST %M1
LD ERROR
ST %Q0.2
END_BLK
Diagrama de temporização
Diagramas de temporização para blocos de função de comunicação, página 210.
Descrição
Introdução
O bloco de funções %WRITE_VAR é usado para gravar dados em um dispositivo
externo usando o Modbus SL ou o protocolo TCP do Modbus.
184 EIO0000003295.03
Objetos de comunicação
Ilustração
Essa imagem é o bloco de funções %WRITE_VAR:
Entradas
O bloco de funções %WRITE_VAR tem as seguintes entradas:
Execu- BOOL Inicia a execução de blocos de função quando uma borda de subida é
tar detetada.
Saídas
O bloco de função %WRITE_VAR tem as seguintes saídas:
EIO0000003295.03 185
Objetos de comunicação
Configuração da função
Propriedades
Clique duas vezes no bloco de funções para abrir a tabela de propriedades das
funções.
As propriedades deste bloco de funções não podem ser modificadas no modo on-
line.
186 EIO0000003295.03
Objetos de comunicação
Endereço %WRITE_VARi em que i vai do 0 ao número de objetos i é o identificador da instância. Para obter o
disponíveis neste controlador lógico número máximo de instâncias, consulte a Tabela
Número máximo de objetos (consulte Modicon
M221, Controlador lógico, Guia de programação).
Símbolo Texto definido pelo usuário O símbolo identifica exclusivamente esse objeto.
Para obter detalhes, consulte o EcoStruxure
Machine Expert - Basic Guia de instruções
(definição e uso de símbolos) (consulte
EcoStruxure Machine Expert - Básico, Guia de
instruções).
Tempo limite Especificado em unidades de 100 ms, com um padrão de 100 O tempo limite define o tempo máximo a aguardar
(10 segundos). até receber uma resposta.
Um valor de 0 significa que não é aplicado nenhum tempo limite. Se o tempo limite expirar, o intercâmbio termina
com erro, com o código de erro (CommError =
01 hex). Se o sistema receber uma resposta após
o tempo limite expirar, essa resposta será
ignorada.
NOTA: O tempo limite definido no bloco de
função substitui o valor configurado nas telas
de configuração EcoStruxure Machine Expert
- Basic (Configuração do Modbus TCP
(consulte Modicon M221, Controlador lógico,
Guia de programação) e Configuração da
linha serial (consulte Modicon M221,
Controlador lógico, Guia de programação)).
ObjType Os seguintes códigos da função Modbus são suportados: O tipo de objetos a ser gravado:
• 0 • Mbs 0x10 - Gravar várias palavras
• 2 (registro)
Quantidade • De 1 a 123 (registro interno) para %MW O número de objetos a serem gravados a partir do
• De 1 a 1.968 (bit interno) para %M ou %Q dispositivo remoto.
EIO0000003295.03 187
Objetos de comunicação
Objetos
O bloco de função %WRITE_VAR possui os objetos a seguir:
%WRITE_VARi.TIMEOUT Tempo limite do bloco de funções Consulte Propriedades, página 186. Pode
ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%WRITE_VARi.OBJTYPE Tipo de objetos para escrever Consulte Propriedades, página 186. Pode
ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%WRITE_VARi.QUANTITY O número de objetos a serem gravados a Consulte Propriedades, página 186. Pode
partir do dispositivo remoto. ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%WRITE_VARi.INDEXDATA O endereço da tabela de palavras local (% Consulte Propriedades, página 186. Pode
MW) que contém os valores a serem ser lido e escrito. Pode ser modificado em
gravados no dispositivo remoto. uma tabela de animações.
%WRITE_VARi.DONE Execução concluída com sucesso Consulte Saídas, página 185. Somente
leitura. Pode ser lido em uma tabela de
animações.
188 EIO0000003295.03
Objetos de comunicação
Exemplo de programação
Introdução
O bloco de funções %WRITE_VAR pode ser configurado como apresentado
neste exemplo de programação.
Programação
Este exemplo é um bloco de funções %WRITE_VAR:
Degrau Instrução
0 BLK %WRITE_VAR0
LD %I0.0
EXECUTE
LD %I0.1
ABORT
OUT_BLK
LD DONE
ST %Q0.0
LD BUSY
ST %Q0.1
LD ABORTED
ST %M1
LD ERROR
ST %Q0.2
END_BLK
Diagrama de temporização
Diagramas de temporização para blocos de função de comunicação, página 210.
Descrição
Introdução
O bloco de funções %WRITE_READ_VAR é usado para ler e gravar dados
armazenados nas palavras da memória interna em um dispositivo externo usando
o Modbus SL ou o protocolo TCP do Modbus.
Este bloco de funções efetua um único pedido de gravação seguido de um único
pedido de leitura na mesma transação.
EIO0000003295.03 189
Objetos de comunicação
Ilustração
Essa imagem é o bloco de funções %WRITE_READ_VAR:
Entradas
O bloco de funções %WRITE_READ_VAR tem as seguintes entradas:
Execu- BOOL Inicia a execução de blocos de função quando uma borda de subida é
tar detetada.
Saídas
O bloco de função %WRITE_READ_VAR tem as seguintes saídas:
190 EIO0000003295.03
Objetos de comunicação
Configuração da função
Propriedades
Clique duas vezes no bloco de funções para abrir a tabela de propriedades das
funções.
As propriedades deste bloco de funções não podem ser modificadas no modo on-
line.
EIO0000003295.03 191
Objetos de comunicação
Símbolo Texto definido pelo usuário O símbolo identifica exclusivamente esse objeto. Para
obter detalhes, consulte o EcoStruxure Machine Expert -
Basic Guia de instruções (definição e uso de símbolos)
(consulte EcoStruxure Machine Expert - Básico, Guia de
instruções).
Tempo limite Especificado em unidades de 100 ms, com O tempo limite define o tempo máximo a aguardar até
um padrão de 100 (10 segundos). receber uma resposta.
Um valor de 0 significa que não é aplicado Se o tempo limite expirar, o intercâmbio termina com erro,
nenhum tempo limite. com o código de erro (CommError = 01 hex). Se o
sistema receber uma resposta após o tempo limite expirar,
essa resposta será ignorada.
NOTA: O tempo limite definido no bloco de função
substitui o valor configurado nas telas de
configuração EcoStruxure Machine Expert - Basic
(Configuração do Modbus TCP (consulte Modicon
M221, Controlador lógico, Guia de programação) e
Configuração da linha serial (consulte Modicon
M221, Controlador lógico, Guia de programação)).
ObjType %MW (Mbs Fct 17): palavras da memória O tipo de código de função de leitura/gravação do Modbus
é Mbs Fct 17, que é equivalente ao código de função 17
do Modbus.
FirstWriteObj 0...65535 O endereço do primeiro objeto no dispositivo remoto em
que os valores são gravados.
192 EIO0000003295.03
Objetos de comunicação
Objetos
O bloco de função %WRITE_READ_VAR possui os objetos a seguir:
%WRITE_READ_VARi.TIMEOUT Tempo limite do bloco de funções Consulte Propriedades, página 191. Pode
ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%WRITE_READ_VARi.OBJTYPE Tipo de objetos para ler Consulte Propriedades, página 191. Pode
ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%WRITE_READ_VARi.WRITEQUANTITY O número de objetos a serem gravados Consulte Propriedades, página 191. Pode
a partir do dispositivo remoto. ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%WRITE_READ_VARi.INDEXDATAOUT O endereço da tabela de palavras local Consulte Propriedades, página 191. Pode
(%MW) que contém os valores a serem ser lido e escrito. Pode ser modificado em
gravados no dispositivo remoto. uma tabela de animações.
%WRITE_READ_VARi.READQUANTITY O número de objetos a serem lidos do Consulte Propriedades, página 191. Pode
dispositivo remoto. ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%WRITE_READ_VARi.INDEXDATAIN O endereço da tabela de palavras local Consulte Propriedades, página 191. Pode
(%MW) na qual os valores lidos são ser lido e escrito. Pode ser modificado em
armazenados. uma tabela de animações.
%WRITE_READ_VARi.DONE Execução concluída com sucesso Consulte Saídas, página 190. Somente
leitura. Pode ser lido em uma tabela de
animações.
Exemplo de programação
Introdução
O bloco de funções %WRITE_READ_VAR pode ser configurado como
apresentado neste exemplo de programação.
EIO0000003295.03 193
Objetos de comunicação
Programação
Este exemplo é um bloco de funções %WRITE_READ_VAR:
Degrau Instrução
0 BLK %WRITE_READ_VAR0
LD %I0.0
EXECUTE
LD %I0.1
ABORT
OUT_BLK
LD DONE
ST %Q0.0
LD BUSY
ST %Q0.1
LD ABORTED
ST %M1
LD ERROR
ST %Q0.2
END_BLK
Diagrama de temporização
Diagramas de temporização para blocos de função de comunicação, página 210.
Descrição
Introdução
O bloco de funções %SEND_RECV_MSG é usado para enviar ou receber dados
em uma linha em série configurada para o protocolo ASCII.
194 EIO0000003295.03
Objetos de comunicação
Ilustração
Essa imagem é o bloco de funções %SEND_RECV_MSG:
Entradas
O bloco de funções %SEND_RECV_MSG tem as seguintes entradas:
Execu- BOOL Inicia a execução de blocos de função quando uma borda de subida é
tar detetada.
Saídas
O bloco de função %SEND_RECV_MSG tem as seguintes saídas:
EIO0000003295.03 195
Objetos de comunicação
Condições de fim
Para uma operação somente-envio, a saída Concluído é definida como TRUE
quando todos os dados (incluindo caracteres para iniciar/parar) tiverem sido
enviados.
Para uma operação somente de recebimento, o sistema recebe caracteres até
que a condição final seja TRUE Quando a condição de fim é alcançada, a saída
Concluído é definida como TRUE. Os caracteres recebidos são então copiados
para BufferToRecv, até caracteres sizeRecvBuffer. sizeRecvBuffer não é uma
condição final.
A condição final deve ser definida na tela Configuração de linha serial (consulte
Modicon M221, Controlador lógico, Guia de programação):
Configuração da função
Propriedades
Faça duplo clique no bloco de funções para abrir a tabela de propriedades das
funções.
196 EIO0000003295.03
Objetos de comunicação
As propriedades deste bloco de funções não podem ser modificadas no modo on-
line.
O bloco de funções %SEND_RECV_MSG tem as seguintes propriedades:
Tempo limite Especificado em unidades de 100 ms, com um padrão de O tempo limite define o tempo máximo a
100 (10 segundos). aguardar até receber uma resposta.
Um valor de 0 significa que não é aplicado nenhum tempo Se o tempo limite expirar, o intercâmbio
limite. termina com erro, com o código de erro
(CommError = 01 hex). Se o sistema receber
uma resposta após o tempo limite expirar, essa
resposta será ignorada.
NOTA: O tempo limite definido no bloco
de funções substitui o valor configurado
EcoStruxure Machine Expert - Basic nas
telas de configuração (Configuração
Modbus TCP e Configuração da linha em
série, consulte o Guia de programação
para o controlador lógico.).
EIO0000003295.03 197
Objetos de comunicação
Objetos
O bloco de função %SEND_RECV_MSG possui os objetos a seguir:
%SEND_RECV_MSGi.TIMEOUT Tempo limite do bloco de funções Consulte Propriedades, página 196. Pode
ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%SEND_RECV_MSGi. Número de bytes a ser enviado Consulte Propriedades, página 196. Pode
QUANTITYTOSEND ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%SEND_RECV_MSGi.BUFFERTOSEND Endereço do primeiro objeto a ser enviado Consulte Propriedades, página 196. Pode
ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%SEND_RECV_MSGi.SIZERECVBUFFER Tamanho disponível em bytes do buffer de Consulte Propriedades, página 196. Pode
recepção ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%SEND_RECV_MSGi.BUFFERTORECV O primeiro endereço da tabela de palavras Consulte Propriedades, página 196. Pode
na qual os valores gravados serão ser lido e escrito. Pode ser modificado em
armazenados. uma tabela de animações.
%SEND_RECV_MSGi.QUANTITYRECV Quantidade de dados recebidos em bytes Consulte Propriedades, página 196. Pode
ser somente lido. Pode ser modificado em
uma tabela de animações.
%SEND_RECV_MSGi.DONE Execução concluída com sucesso Consulte Saídas, página 195. Somente
leitura. Pode ser lido em uma tabela de
animações.
Exemplo de programação
Introdução
O bloco de funções %SEND_RECV_MSG pode ser configurado como
apresentado neste exemplo de programação.
198 EIO0000003295.03
Objetos de comunicação
Programação
Este exemplo é um bloco de funções %SEND_RECV_MSG:
Degrau Instrução
0 BLK %SEND_RECV_MSG0
LD %I0.0
EXECUTE
LD %I0.1
ABORT
OUT_BLK
LD DONE
ST %Q0.0
LD BUSY
ST %Q0.1
LD ABORTED
ST %M1
LD ERROR
ST %Q0.2
END_BLK
Diagrama de temporização
Diagramas de temporização para blocos de função de comunicação, página 210.
Descrição
Introdução
O bloco de funções %SEND_RECV_SMS é usado para enviar e receber
mensagens de serviço de mensagem curta (SMS) através de um modem
conectado a uma linha em série. Por exemplo, o controlador pode enviar um SMS
para transmitir um alarme a um telefone móvel específico, ou receber um SMS
para finalizar uma função na máquina.
NOTA: O aplicativo deve ser configurado com um nível funcional (consulte
EcoStruxure Machine Expert - Básico, Guia de instruções) de pelo menos
Nível 3.2 para usar a funcionalidade SMS.
O bloco de funções %SEND_RECV_SMS é usado para:
• enviar um SMS para somente um destinatário, ou
• receber um SMS filtrado por uma tabela aprovada de números de telefone.
Apenas 1 bloco de funções %SEND_RECV_SMS pode ser utilizado em um
programa.
EIO0000003295.03 199
Objetos de comunicação
ATENÇÃO
OPERAÇÃO NÃO INTENCIONAL DO EQUIPAMENTO
• Certifique-se de que existe um observador local, competente e qualificado,
presente ao operar a partir de um local remoto.
• Configure e instale a entrada R/S no aplicativo de maneira que o controle
local de inicialização ou interrupção do controlador possa ser mantida,
independentemente dos comandos remotos enviados para o controlador.
O não cumprimento destas instruções poderá resultar em morte,
ferimentos graves ou danos do equipamento.
ATENÇÃO
OPERAÇÃO NÃO INTENCIONAL DO EQUIPAMENTO
• Não permita funções críticas de segurança em comandos de SMS.
• Não use comandos ou mensagens SMS para qualquer fim crítico de missão.
O não cumprimento destas instruções poderá resultar em morte,
ferimentos graves ou danos do equipamento.
Ilustração
Essa imagem é o bloco de funções %SEND_RECV_SMS:
200 EIO0000003295.03
Objetos de comunicação
Entradas
Essa tabela descreve as entradas do bloco de funções:
Execu- BOOL Inicia a execução do bloco de funções quando uma borda de subida é
tar detetada.
2 - SL2
Tempo limite WORD 0...255 Define o tempo máximo de espera para enviar uma resposta a partir do
modem.
EIO0000003295.03 201
Objetos de comunicação
Saídas
Essa tabela descreve as saídas do bloco de funções:
Concluí- BOOL Se TRUE, indica que a execução do bloco de funções foi concluída com
do sucesso sem erros detetados.
Ocupa- BOOL Se TRUE, indica que a execução do bloco de função está em andamento.
do
Anulado BOOL Se TRUE, indica que a execução do bloco de funções foi cancelada com a
entrada %SEND_RECV_SMSi.Abort.
Erro BOOL Se for TRUE, indica que um erro foi detetado. A execução do bloco de
funções é parada.
NOTA: Quando a saída Ocupado estiver definida para TRUE, a execução continuará até que
uma das saídas Concluído, Abortado ou Erro seja definida para TRUE.
NOTA: Enquanto a saída Ocupado estiver definida para TRUE, mudanças na
entradaExecutar não afetarão a execução do bloco de funções em andamento. No entanto, se
outro bloco de função %SEND_RECV_SMS for chamado, ele termina com um erro
(CommError= 255 (FF hex) e OperError =11 (0B hex)).
202 EIO0000003295.03
Objetos de comunicação
2 (02 hex) Abort Troca parada em uma borda de subida na entrada %SEND_
RECV_SMSi.Abort.
254 (FE hex) ProtocolSpecificError Indica que foi detetado um erro de protocolo.
NOTA: Nesse caso, o objeto de saída %SEND_RECV_
SMSi.OperError contém mais detalhes. Consulte Códigos
de erros de operação., página 203
10 para 14 Ok
15 para 19 Bom
EIO0000003295.03 203
Objetos de comunicação
4096 (00001000 hex) SimConfigurationFailed A configuração do cartão SIM está incorreta. Por
exemplo, o código PUK é solicitado.
204 EIO0000003295.03
Objetos de comunicação
Configuração da função
Principais passos
O procedimento a seguir descreve as principais etapas para configurar o bloco de
funções %SEND_RECV_SMS, depois de conectar um modem à linha em série:
Etapa Ação
1 Na guia Configuração em EcoStruxure Machine Expert - Basic, configure a linha em série com o modem, o Comando Inic e
protocolo ASCII. Para obter mais detalhes, consulte o Guia de programação para seu controlador lógico.
3 Na guia Programação:
• Adicione o %SEND_RECV_SMSbloco de função e faça duplo clique nele para exibir a tabela de propriedades da
função
• Clique no botão Configuração de SMS para abrir a janela Assistente de SMS
• Edite as tabelas Mensagens, Comandos e Números de telefone
Para obter mais detalhes, consulte o Assistente de SMS.
• Clique em Aplicar para fechar o Assistente de SMS
NOTA: Se o endereço do bloco de funções (por exemplo, %SEND_RECV_SMS0) é inválido e o clique duplo está
desativado, verifique que o nível funcional de sua aplicação (aba Programação > Tarefas > Comportamento) está
pelo menos no Nível 3.2).
Para obter detalhes sobre esses campos, consulte Propriedades, página 207.
ATENÇÃO
OPERAÇÃO NÃO INTENCIONAL DO EQUIPAMENTO
Verifique se os índices para mensagens, comandos e números de telefone
utilizados no bloco de função são válidos (os que você pretende utilizar) antes
de usar o bloco de função.
O não cumprimento destas instruções poderá resultar em morte,
ferimentos graves ou danos do equipamento.
Assistente de SMS
Para usar o bloco de funções %SEND_RECV_SMS, configure as tabelas de
comandos, mensagens e números telefônicos.
Clique no botão Configuração de SMS na área Propriedades para enviar e
receber SMS para exibir a janela Assistente de SMS.
EIO0000003295.03 205
Objetos de comunicação
A janela Assistente de SMS contém três guias com tabelas para configurar:
• Mensagens
Digite as cadeias que são usadas quando o controlador envia um SMS. Use
espaços reservados para incluir variáveis, data e hora. Considere limites
para o número de caracteres e o formato.
• Comandos
Digite as cadeias que são usadas quando o controlador recebe um SMS. Use
espaços reservados para incluir variáveis. Considere os limites para o
número de caracteres e o formato.
• Números de telefone
Ao programar o bloco de funções para enviar mensagens de SMS, selecione
o destinatário a partir desta tabela.
Ao programar o bloco de funções para receber mensagens de SMS,
selecione os números de telefone de origem autorizados a partir desta lista.
Quando uma chamada e subsequente SMS são transmitidos para seu
aplicativo através do modem, o número de telefone de origem é validado
antes de agir sobre o SMS de entrada.
Para obter mais detalhes, consulte a linha MASKPHONE em Propriedades,
página 207.
NOTA: Consulte a documentação do modem para formatos de código de
discagem internacional.
Se o aplicativo estiver configurado com um nível funcional de pelo menos Nível
6.1, você pode declarar as cadeias em uma variável %MW e inserir esta variável de
memória no campo Valor.
NOTA: As variáveis %MW são suportadas como variáveis, não como
sequências.
Cada tabela contém um máximo de 16 entradas, com um índice em cada linha de
0 a 15.
As cadeias contidas nas tabelas assistentes podem ser interpretadas nos
seguintes formatos e limite de tamanho de mensagem:
$$ O símbolo $ 1 2
NOTA: Quando o texto digitado é válido (caracteres de limite não excedido, espaços
reservados válidos), o botão Aplicar é ativado.
(1) Ignorado para Comandos
206 EIO0000003295.03
Objetos de comunicação
Exemplos
Este exemplo ilustra o uso de espaços reservados em mensagens:
Mensagens
Comandos
Comando Valor A = $VAD e Valor B = $VBD !
configurado
Propriedades
Faça duplo clique no bloco de funções para abrir a tabela de propriedades das
funções.
As propriedades deste bloco de funções não podem ser modificadas no modo on-
line.
EIO0000003295.03 207
Objetos de comunicação
Símbolo Texto definido pelo usuário. O símbolo identifica exclusivamente esse objeto. Para obter detalhes, consulte
Definir e usar símbolos (consulte EcoStruxure Machine Expert - Básico, Guia
de instruções).
Link 1 - SL1 A linha em série na qual o modem está configurado (aba Configuração).
2 - SL2
Tempo limite 0...255 O tempo limite define o tempo máximo de espera para receber uma resposta
do modem.
Especificado em unidades de 100
ms, com um padrão de 100 (10 Se o tempo limite expirar, o intercâmbio terminará com um código de erro (%
segundos). SEND_RECV_SMSi.CommError = 01 hex). Se o sistema receber uma
resposta após o tempo limite expirar, essa resposta será ignorada.
Um valor de 0 significa que não é
aplicado nenhum tempo limite. NOTA: O tempo limite definido no bloco de funções substitui o valor
configurado na tela de configuração EcoStruxure Machine Expert - Basic.
Para obter mais detalhes, consulte o Guia de programação para seu
controlador lógico.
Índice 0...15 • Durante o envio, o valor do índice é usado para selecionar um texto para
NOTA: 0 corresponde à enviar a partir da tabela Mensagens.
primeira cadeia da lista. • Ao receber, o valor corresponde ao índice na tabela Comandos, que
corresponde aos textos recebidos.
208 EIO0000003295.03
Objetos de comunicação
Objetos
O bloco de função %SEND_RECV_SMS possui os objetos a seguir:
%SEND_RECV_SMSi.TIMEOUT Tempo limite do bloco de funções Consulte Propriedades, página 207. Pode
ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%SEND_RECV_SMSi.INDEX Índice nas mensagens ou tabelas de Consulte Propriedades, página 207. Pode
comando ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%SEND_RECV_SMSi.MASKPHONE Máscara para selecionar entradas na tabela Consulte Propriedades, página 207. Pode
de números de telefone ser lido e escrito. Pode ser modificado em
uma tabela de animações.
%SEND_RECV_SMSi.DONE Execução concluída com sucesso Consulte Saídas, página 202. Pode ser
somente lido. Pode ser modificado em uma
tabela de animações.
%SEND_RECV_SMSi.ERROR Foi detetado um erro Consulte Saídas, página 202. Pode ser
somente lido. Pode ser modificado em uma
tabela de animações.
Diagramas de temporização
Consulte Comportamento do sinal dos blocos de função com a entrada Execute,
página 210.
EIO0000003295.03 209
Objetos de comunicação
Exemplo 2
Execução concluída com erro:
Exemplo 3
Bloco de função abortado pelo aplicativo:
210 EIO0000003295.03
Objetos de comunicação
(1) Defina como TRUE apenas para um ciclo, uma vez que Execute já foi definido
como FALSE.
Exemplo 4
Execução concluída sem erro após Execute ter sido definido como FALSO.
(1) Defina como TRUE apenas para um ciclo, uma vez que Execute já foi definido
como FALSE.
EIO0000003295.03 211
Funções definidas pelo usuário
212 EIO0000003295.03
Blocos de função definidos pelo usuário
EIO0000003295.03 213
Funções de relógio
Funções de relógio
Visão geral
Este capítulo descreve as funções de gerenciamento de tempo para
controladores.
Funções de relógio
Introdução
Em controladores lógicos equipados com um recurso de relógio de tempo real
(Real-Time Clock - RTC), deve se utilizar as funções de relógio de hora do dia
quando EcoStruxure Machine Expert - Basic estiver conectado ao controlador
lógico:
• RTC blocos de funções, página 169 são utilizados para ler a hora e a data no
RTC, ou atualizar o RTC no controlador lógico com hora e data definidas pelo
usuário.
• Os blocos de funções de Agendamento , página 164 são utilizados para
controlar ações em momentos predefinidos ou calculados.
• O Selo de hora/data, página 214 é utilizado para designar horários e datas a
eventos e para medir a duração do evento.
O relógio de hora do dia pode ser definido por um programa, página 214. A
bateria do controlador facilita as definições do Relógio para continuar funcionando
por até 1 ano quando o controlador é desligado. O controlador não possui uma
bateria recarregável. A bateria tem uma vida útil média de 4 anos e deve ser
substituída antes do fim da vida útil. A fim de não perder os dados durante a
substituição da bateria, troque a bateria em um período de 120 segundos após a
bateria ter sido removida do controlador.
O relógio de hora do dia possui um formato de 24 horas e leva em conta os anos
bissextos.
Programando um evento
Para associar uma data a um evento, basta utilizar operações de designação
para transferir os conteúdo de palavras do sistema para palavras da memória, e
então processar essas palavras de memória (por exemplo, transmissão para uma
unidade de monitor utilizando a instrução EXCH).
214 EIO0000003295.03
Funções de relógio
Exemplo de programação
Este exemplo mostra como atribuir data a uma borda de subida na entrada %
I0.1:
Degrau Instrução
0 LDR %I0.1
[%MW11:5:=%SW49:5]
%MW12 00 Segundo
EIO0000003295.03 215
Funções de relógio
0 LD %S50 –
R %S50
1 LD %I0.1 Consulte Instrução para conversão BCD/Binário,
[%SW50:=%MW11] página 59.
[%SW51:=%MW12]
[%SW52:=%MW13]
[%SW53:=%MW14]
S %S50
216 EIO0000003295.03
Funções de relógio
%MW11 – Segundo
Utilizando o %SW59
Outro método de atualizar a data e hora é utilizando o bit %S59 e a palavra %SW59
do sistema de ajuste de data.
Definir o bit %S59 como 1 permite o ajuste da data e hora atuais pela palavra %
SW59. %SW59 acresce ou decresce cada um dos componentes de data e hora em
uma borda de subida.
Esta tabela descreve cada bit da palavra de sistema %SW59 para o ajuste dos
parâmetros de data e hora:
(1) Dia da semana e séculos não podem ser modificados (acréscimo ou decréscimo) pelo usuário.
EIO0000003295.03 217
Funções de relógio
Exemplo de aplicativo
Este painel frontal é criado para modificar hora, minutos e segundos do relógio
interno.
0 LD %M0 –
ST %S59
1 LD %I0.2 Hora
ANDR %I0.0
ST %SW59:X3
2 LD %I0.2 –
ANDR %I0.1
ST %SW59:X11
3 LD %I0.3 Minuto
ANDR %I0.0
ST %SW59:X2
4 LD %I0.3 –
ANDR %I0.1
ST %SW59:X10
5 LD %I0.4 Segundo
ANDR %I0.0
ST %SW59:X1
6 LD %I0.4 –
ANDR %I0.1
ST %SW59:X9
218 EIO0000003295.03
Glossário
A
ASCII:
(Código padrão americano para intercâmbio de informações) Um protocolo para
representação de caracteres alfanuméricos (letras, números, alguns gráficos e
caracteres de controle).
B
bloco de funções:
Uma unidade de programação que tem uma ou mais entradas e retorna uma ou
mais saídas. FBs são chamados por uma instância (cópia de bloco de funções
com nome e variáveis dedicados) e cada instância tem um estado persistente
(saídas e variáveis internas) a de uma chamada à outra.
Exemplos: temporizadores, contadores
D
%:
De acordo com o padrão IEC, % é um prefixo que identifica os endereços de
memória interna no controlador lógico para armazenar o valor das variáveis do
programa, constantes, E/S e assim por diante.
E
elemento condicional:
Permite implementar condições no programa no modo offline.
elemento de loop:
Permite implementar uma sequência de instruções no programa em modo offline.
entrada analógica:
Converte os níveis de voltagem ou corrente recebida em valores numéricos.
Você pode armazenar e processar esses valores no controlador lógico.
L
linguagem da lista de instruções:
Um programa gravado na linguagem da lista de instruções que é composto de
uma série de instruções com base em textos executadas sequencialmente pelo
controlador. Cada instrução inclui um número de linha, um código de instrução e
um operando (consulte a IEC 61131-3).
Q
%Q:
De acordo com o padrão IEC, %Q representa um bit de saída (por exemplo um
objeto de linguagem de um tipo digital OUT).
EIO0000003295.03 219
R
registro de dados:
Armazena dados permanentemente de objetos ou sequências.
RTC:
(relógio em tempo real) Um relógio e calendário alimentado por bateria que
funciona continuamente, mesmo quando o controlador não é alimentado pela
bateria.
S
saída analógica:
Converte valores numéricos no controlador lógico e emite níveis de voltagem e
corrente proporcionais.
220 EIO0000003295.03
D
Índice decréscimo ...........................................................54
DEG_TO_RAD .....................................................71
A DINT_TO_REAL ...................................................72
divisão..................................................................54
ABS .....................................................................68 %DR .................................................................. 153
ACOS...................................................................70 Drum
adicionar...............................................................54 configuration.................................................... 154
AND .....................................................................43 description....................................................... 153
ANDF ...................................................................43 programming example...................................... 155
ANDN...................................................................43
ANDR...................................................................43
ASCII E
exemplos ........................................................ 138
ASIN ....................................................................70 elemento condicional.............................................64
Assistente de degrau ........................................... 155 configurando .....................................................65
ATAN....................................................................70 elemento de loop...................................................66
aumento ...............................................................54 configurando .....................................................66
endereçamento
formato .............................................................22
B Objetos de E/S ..................................................22
EQUAL_ARR ........................................................88
bits do sistema estouro
%S18................................................................29 índice................................................................35
blocos de comparação estouro de índice...................................................35
inserção de expressões IL em.............................18 EXCH................................................................. 127
blocos de função exemplos, código fonte ..........................................14
Blocos de agendamento ................................... 164 EXP .....................................................................68
counter............................................................ 123 expressão de comparação
definido pelo usuário ........................................ 213 inserir em degraus de Diagramas Ladder.............18
descrição geral ..................................................36 EXPT ...................................................................68
Drum............................................................... 153
LIFO/FIFO register........................................... 147
message ......................................................... 129 F
princípios de programação ............................... 107
%READ_VAR .................................................. 178 FALLING
Relógio de tempo real (RTC) ............................ 169 operador ...........................................................48
%SEND_RECV_MSG ...................................... 194 ferramentas
%SEND_RECV_SMS ...................................... 199 Objetos da unidade .......................................... 177
shift bit register ................................................ 158 objetos de rede ................................................ 106
step counter .................................................... 161 FIND_ ..................................................................89
timer ............................................................... 111 formato do endereço de entrada/saída....................22
%WRITE_READ_VAR ..................................... 189 funções de relógio
%WRITE_VAR................................................. 184 carimbo de data e hora..................................... 214
blocos de função definidos pelo usuário ................ 213 definir data e hora ............................................ 216
blocos de operações visão geral....................................................... 214
inserir instruções de atribuição em ......................16 funções definidas pelo usuário ............................. 212
blocos de programação
programação e configuração ............................ 167
borda de descida I
deteção com instrução LDF ................................40 %I ........................................................................22
deteção com operador FALLING .........................40 Instrução NOP ......................................................63
borda de subida instruções
deteção com instrução LDR ................................39 aritmética ..........................................................54
deteção com operador RISING ...........................39 ASCII ................................................................74
ASCII para conversão de flutuante ......................78
booleano ...........................................................38
C comparação ......................................................50
%C..................................................................... 123 conversão de ângulo ..........................................71
cadeias de bits ......................................................32 conversão de ASCII para inteiro..........................75
cálculo..................................................................54 conversão de ASCII para palavra dupla ...............81
código fonte, usar exemplo ....................................14 conversão de flutuante para ASCII ......................80
COS.....................................................................70 conversão de inteiro para ASCII..........................77
counter conversão de inteiro/flutuante .............................72
configuration.................................................... 124 conversão de palavra dupla para ASCII ...............83
description....................................................... 123 END..................................................................62
exemplo de programação ................................. 126 intercâmbio ..................................................... 127
NOP .................................................................63
objetos de entrada/saída .................................. 104
EIO0000003295.03 221
pilha..................................................................84 configuration.................................................... 134
ROUND ............................................................74 description....................................................... 129
salto..................................................................63 programming example...................................... 137
SR ....................................................................67 %MF ....................................................................28
sub-rotina ..........................................................67 MIN_ARR .............................................................90
tabela de objetos ...............................................85 modbus
tabelas de objeto ...............................................87 pedidos e exemplos padrão .............................. 140
trigonométricas ..................................................70 %MSG ............................................................... 129
instruções aritméticas ............................................54 multiplicação.........................................................54
instruções booleanas.............................................38 %MW ...................................................................24
instruções da pilha
MPP .................................................................84
MPS .................................................................84 N
MRD .................................................................84
instruções de atribuição N..........................................................................47
cadeias de bits...................................................52
inserir em degraus de Diagramas Ladder.............16
numérico ...........................................................51 O
palavras ............................................................53 objetos
tabelas de objeto ...............................................86 definição de.......................................................20
instruções de comparação .....................................50 endereço direto..................................................34
instruções de conversão endereço indexado ............................................34
BCD/binário.......................................................59 estruturado ........................................................32
palavra simples/dupla.........................................61 indexados..........................................................34
instruções de deslocamento...................................58 rede ................................................................ 106
instruções de intercâmbio software .......................................................... 107
EXCH1............................................................ 127 tabelas ..............................................................32
EXCH2............................................................ 127 Objetos da unidade ............................................. 177
EXCH3............................................................ 127 objetos de bits
instruções END .....................................................62 bloco de funções................................................37
instruções lógicas..................................................57 objetos de bits de memória
instruções numéricas descrição ..........................................................21
mudança ...........................................................58 objetos de palavra dupla
instruções SR (sub-rotina)......................................67 bloco de funções................................................37
INT_TO_REAL......................................................72 descrição ..........................................................28
%IW .....................................................................22 objetos de palavras
%IWS...................................................................22 bloco de funções................................................37
descrição ..........................................................24
objetos de ponto flutuante
K descrição ..........................................................28
%KD ....................................................................28 objetos de rede ................................................... 106
%KF.....................................................................28 OCCUR_ARR .......................................................91
%KW....................................................................24 operações
inserir em degraus de Diagramas Ladder.............16
operador NOT.......................................................47
operadores
L AND..................................................................43
LD........................................................................40 atribuição ..........................................................42
LDF......................................................................40 carga ................................................................40
LDN .....................................................................40 FALLING ...........................................................48
LDR ............................................................... 39–40 NOT..................................................................47
LIFO/FIFO register OR....................................................................44
configuration.................................................... 148 RISING .............................................................48
description....................................................... 147 XOR .................................................................45
FIFO ............................................................... 151 operadores AND ...................................................43
LIFO ............................................................... 150 operadores de atribuição .......................................42
programming example...................................... 152 operadores de carga .............................................40
LKUP ...................................................................94 operadores OR .....................................................44
LN........................................................................68 operadores OR exclusivos .....................................45
LOG .....................................................................68 OR .......................................................................44
ORF .....................................................................44
ORN.....................................................................44
M ORR.....................................................................44
%M ......................................................................21
MAX_ARR ............................................................90
%MD ....................................................................28
P
MEAN ..................................................................97 palavras do sistema
message %SW17.............................................................29
PID .................................................................... 172
222 EIO0000003295.03
processamento numérico T
atribuição ..........................................................51
visão geral.........................................................51 tabelas
instruções em ....................................................85
Propriedades %Xi (etapa Grafcet) ........................ 175
TAN......................................................................70
Propriedades da etapa Grafcet............................. 175
timer
configuration.................................................... 111
description....................................................... 111
Q programming example...................................... 122
%Q ......................................................................22 TOF type ......................................................... 116
%QW ...................................................................22 TON type......................................................... 113
%QWS .................................................................22 TP type ........................................................... 119
%TM .................................................................. 111
TRUNC ................................................................68
R
R.................................................................. 42, 147 U
RAD_TO_DEG .....................................................71
raiz quadrada........................................................54 usar exemplos de código fonte ...............................14
READ_IMM_IN .....................................................99
%READ_VAR ..................................................... 178
configuração.................................................... 182 V
descrição ........................................................ 178
valor absoluto .......................................................54
exemplo de programação ................................. 184
REAL_TO_DINT ...................................................72
REAL_TO_INT......................................................72
registro de dados ................................................ 173 W
configurando ................................................... 174 WRITE_IMM_OUT .............................................. 100
restante ................................................................54 %WRITE_READ_VAR......................................... 189
RISING configuração.................................................... 191
operador ...........................................................48 descrição ........................................................ 189
ROL_ARR ............................................................92 exemplo de programação ................................. 193
ROR_ARR............................................................92 %WRITE_VAR .................................................... 184
RTC configuração.................................................... 186
configuration.................................................... 171 descrição ........................................................ 184
exemplo de programação ................................. 189
S
%S ................................................................. 21, 42 X
%SBR ................................................................ 158 %X .......................................................................21
%SC .................................................................. 161 XOR.....................................................................45
%SCH ................................................................ 164 XORF...................................................................45
schedule blocks XORN ..................................................................45
descrição ........................................................ 164 XORR ..................................................................45
%SEND_RECV_MSG ......................................... 194
configuração.................................................... 196
descrição ........................................................ 194
exemplo de programação ................................. 198
%SEND_RECV_SMS.......................................... 199
configuração.................................................... 205
descrição ........................................................ 199
shift bit register
configuração.................................................... 159
descrição ........................................................ 158
programming example...................................... 160
SIN ......................................................................70
SORT_ARR ..........................................................93
SQRT...................................................................68
ST........................................................................42
step counter
configuração.................................................... 162
descrição ........................................................ 161
exemplo de programação ................................. 163
STN .....................................................................42
subtrair .................................................................54
SUM_ARR............................................................87
%SW....................................................................24
SWAP ..................................................................98
EIO0000003295.03 223
Schneider Electric
35 rue Joseph Monier
92500 Rueil Malmaison
France
+ 33 (0) 1 41 29 70 00
www.se.com