Escolar Documentos
Profissional Documentos
Cultura Documentos
1. SIMATIC S7
2.
2. TIA PORTAL
3. FUNÇÕES ONLINE
4.
4. DISPOSITIVOS E REDES
5. TAGs DO CLP
6. BLOCOS E EDITOR
7. OPERAÇÕES BINÁRIAS
8. OPERAÇÕES DIGITAIS
9. BLOCOS DE DADOS
10. FUNÇÕES
11. ANALÓGICO
13. TRACE
1. SIMATIC S7
Sumário
VISÃO GERAL ...................................................................................................................................... 5
POSICIONAMENTO ............................................................................................................................. 6
SIMATIC S7-1200 – MINI-PLC MODULAR ........................................................................................... 7
SIMATIC S7-1500 – PLC PARA APLLICAÇÕES DE PORTE MÉDIO A GRANDE ....................................... 9
POWER SUPPLY – Fonte de alimentação ..................................................................................... 11
SIMATIC S7-1500 – INSTALAÇÃO E MONTAGEM ......................................................................... 13
SIMATIC S7-1500 – TECNOLOGIA DE CONEXÃO / CONECTOR FRONTAL ..................................... 14
SIMATIC S7-1500 – DISPLAY DA CPU ............................................................................................ 15
SIMATIC S7-1200/1500 – MEMORY CARD ....................................................................................... 19
VISÃO GERAL
Processos de produção já não são vistos como processos parciais individuais, mas sim como
parte integrante de todo um processo de produção.
A integração total de todo o ambiente de automação é hoje conseguida com a ajuda de:
• Um ambiente de software comum que integra todos os componentes e tarefas em um
uniforme sistema fácil de usar
• Uma gestão comum de dados (banco de dados central)
• Uma comunicação comum entre todos os componentes de automação participantes.
POSICIONAMENTO
ADVANCED
SIMATIC S7-400
SIMATIC S7-1500
TIA PORTAL
BASIC
SIMATIC S7-300
MICRO
SIMATIC S7-200
SIMATIC S7-1200
Os controladores programáveis podem ser divididos entre Micro, Basic e Advanced atendendo
dessa forma todos os tipos de necessidades em automação industrial, desde o controle simples
de um dispositivo, passando por máquinas e equipamentos chegando até grandes processos
complexos. Para cada necessidade uma solução em hardware será disponibilizada.
Principais Características
Módulos de Sinais
Módulos de Comunicação
CPU Quantidade máxima depende do
modelo da CPU
OnBoard
(opcional) DI, DO, AI, AO, etc
CM / CP
- Point-to-point (RS232/485)
- Profibus
- ASI
- GPRS
• Módulos de Sinais
o Digital
Entradas, Saídas ou mistos (24VDC, relay)
o Analógico
Entradas, Saídas ou mistos (tensão, corrente, resistência, thermocouple)
• Expansão de Módulos
A CPU pode ser expandida através de módulo OnBoard ou através de placas.
Principais Características
Módulos de Sinais
TM
Máximo de 32 módulos
- Contagem
no rack
- Posicionamento
CPU
CM / CP
- Point-to-point (RS232/485)
- Profibus
- ASI
- GPRS
• Módulos de Sinais
o Digital
Entradas, Saídas ou mistos (24VDC, 230VAC)
o Analógico
Entradas, Saídas ou mistos (tensão, corrente, resistência, thermocouple)
L+
PM ------------- CPU IO IO
-------------
M
Backplane
Backplane
L+
PM ------------- CPU IO IO TM CP PS IO
-------------
M
Bus conector
Horizontal Vertical
o 40 terminais
o Técnicas de conexão:
▪ Terminais do tipo parafuso
▪ Conector Simatic TOP (fiação do sistema para a conexão de sensores /
atuadores)
▪ Fios individuais
Trava de liberação
4 jumpers podem
ser inseridos
Posição da fiação
Características:
1.36 “
2.4 “
Operação:
Utilize as setas para navegar entra os menus/opções disponíveis. Com os botões OK e ESC as
seleções podem ser confirmadas ou retornadas ao menu anterior.
A navegação entre as
opções/menu é feita através
das setas contidas abaixo do
display
Confirma a seleção
Menu atual
Editar um item
Existência de alarmes
As CPUs S7-1200 e S7-1500 trabalham com cartões de memória SIMATIC Memory Card. Para a
linha de CPUs S7-1200 o cartão é opções e possui três maneiras diferentes para seu uso. Para a
linha S7-1500 o cartão de memória é obrigatório na CPU, sem o mesmo a CPU não funciona.
4 1
Os cartões podem ser acessados através de um leitor padrão de cartões MMC, ou através da
Field PG M3.
Simatic Memory card para S7-1200 Simatic Memory card para S7-1500
Expansão de memória (load) Load memory (memória de carga)
Distribuição de programas Atualização de firmwares
Atualização de firmwares Documentação
Documentação Programa seriado
Programa seriado DBs protegidos
DBs protegidos Arquivamento de dados
Troca de módulos em PG Troca de módulos em PG
o S7-1500
Não possui memória de carga, portanto, o uso do cartão de memória é de uso
obrigatório.
o S7-1200
Possui uma memória de carga integrada. Um cartão de memória inserido pode
substituir (expandir) a memória de carga já existente na CPU. Pode também ser
utilizado para a distribuição de programas (transfer) ou para a atualização de
firmwares das CPUs.
Sumário
VISÃO GERAL ...................................................................................................................................... 5
ESCOPO DOS PRODUTOS DO PORTAL TIA V13................................................................................... 7
PORTAL VIEW E PROJECT VIEW .......................................................................................................... 8
PORTAL VIEW ..................................................................................................................................... 9
PROJECT VIEW .................................................................................................................................. 10
SELEÇÃO DO IDIOMA........................................................................................................................ 12
CONFIGURAÇÕES (SETTINGS) ........................................................................................................... 13
AJUSTES (ARRANJO) DAS JANELAS NO PROJECT VIEW .................................................................... 14
VISÃO GERAL
Com a Automação Totalmente Integrada (TIA) a Siemens segue uma visão de oferecer uma
plataforma integrada para a implementação de soluções de automação – em todas as indústrias
ao redor do mundo. O TIA tem sido o núcleo de inteligência de mais de 100.000 produtos de
automação há mais de 15 anos. Essa arquitetura de sistema é a fundação para a conectividade
aberta e a interoperabilidade máxima através de múltiplos dispositivos para transformá-los em
um sistema de automação totalmente integrado. Isso resulta em produtividade máxima em
todos os níveis de sua instalação, desde os dispositivos de campo até os controladores para o
gerenciamento corporativo, permitindo que você reaja rapidamente e atenda até as exigências
mais desafiadoras. Esse sistema, quando sincronizado com os requisitos dos clientes, otimiza
operações de fábrica, máquinas e processos, permitindo não apenas que você seja mais
eficiente, mas também aumentando sua produtividade e competitividade.
Total interação
Ao se projetar sistemas integrados de automação, é muito comum para os engenheiros
trabalhar em vários editores ao mesmo tempo. Pela primeira vez todas as ferramentas de
engenharia podem ser acessadas a partir de uma única interface gráfica. Com o TIA Portal,
desenvolvemos uma estrutura de engenharia gráfica poderosa, que age como um software
único com uma interface comum ao usuário. Ao configurar múltiplos dispositivos, os dados
podem ser transferidos entre diferentes editores tão facilmente quanto arrastar e soltar. Todas
as conexões de dispositivo resultantes são automaticamente geradas em segundo plano. Isto
não apenas torna seu trabalho mais fácil, mas permite que você gaste menos tempo de
engenharia do sistema de controle e libera um tempo precioso para focar no seu aplicativo
central.
Reutilização de resultados
Com o TIA Portal você pode combinar diferentes partes de projetos de engenharia para formar
bibliotecas que podem ser facilmente reutilizadas. Isso significa que as configurações de
diferentes máquinas e plantas podem ser armazenadas centralmente em um servidor,
gerenciadas, e arquivadas em bibliotecas estruturadas. Componentes previamente projetados,
dados comprovados de projetos, assim como projetos de versões anteriores podem ser
facilmente reutilizados, permitindo que recursos e funcionalidades sejam adicionados ou
excluídos. A qualidade inicial de engenharia é passada desde o primeiro programa testado para
todos os projetos futuros – e isso é feito de forma rápida e eficiente, economizando tempo
precioso.
STEP 7
Linguagens de programação
WinCC
Startdrive
Integração de drivers
Produto Startdrive
G120 (v4.5) X
G120 (v4.4) X
O TIA Portal fornece duas opções de trabalho, ao criar um novo projeto ou editar um projeto
existente. As opções são Portal View e Project View.
• Portal View
o Modelo orientado a tarefa de trabalho
o Entrada rápida ao projeto com orientação do usuário
• Project View
o Estrutura hierárquica do projeto
o Os editores são abertos de acordo com a tarefa a ser utilizada
o Todos os editores, parâmetros e dados são encontrados em uma única tela
o
PORTAL VIEW
1
6
2. Duas opções estão disponíveis para o usuário que está iniciando com a ferramenta TIA
PORTAL que são:
o Welcome Tour – faça um tour sobre o TIA Portal
o First steps – aprenda funcionalidades do TIA Portal
3. Através da opção Installed software é possível obter todos os pacotes e suas respectivas
versões instalados no PC. Também é possível acessar o HELP do software.
4. Em função dos idiomas que foram instalados previamente, é possível alterar a qualquer
momento o idioma atual.
PROJECT VIEW
Em uma única tela, todas ferramentas de configuração, edição, parametrização dos softwares
integrados ao TIA Portal estão disponíveis ao usuário de forma clara, fácil e ágil.
Área de trabalho
Cartas de tarefas
Navegação do
projeto (tree)
Janela inspetor
Janela de detalhes
Barra de tarefas
Área de Trabalho
Os objetos abertos para edição são exibidos na área de trabalho. Estes objetos incluem,
por exemplo, componentes de hardware, blocos de programas, tabelas de TAGs, telas
de dispositivos de IHM, diagnósticos, etc. se vários objetos estão abertos ao mesmo
tempo, eles são exibidos como abas na barra de tarefas.
Cartas de Tarefas
As cartas de tarefas oferecem ferramentas para programação/configuração. O
conteúdo dos cartões de tarefas depende do objeto exibido na área de trabalho. Se
uma estação de hardware é aberta, por exemplo, o catálogo de hardware estará
disponível como um cartão de tarefas.
Janela Inspetor
Informação adicional sobre um objeto selecionado ou em ações executadas é exibido
na janela Inspetor. As propriedades disponíveis dos objetos selecionados também
podem ser editadas aqui (por exemplo, propriedades de telas, objetos de tela, tags).
A janela Inspector mostra todas as mensagens de sistema a partir da engenharia, por
exemplo, as resultantes da compilação de um projeto. Esta janela deve ser sempre
verificada pois quaisquer erros e avisos gerados pelo sistema são disponibilizados ao
usuário.
Janela de Detalhes
A janela de detalhes é uma janela de ajuda ao usuário. Aqui os elementos do objeto
selecionado na navegação do projeto são exibidos. Eles podem ser utilizados na área
de trabalho ativa (basta selecionar e arrastar para a área de trabalho, utilizando o
recurso Drag & drop). Isso permite o acesso rápido aos objetos necessários (por
exemplo tags).
SELEÇÃO DO IDIOMA
O idioma da interface do usuário do Portal TIA pode ser alterado a qualquer momento. Os
seguintes idiomas estão disponíveis:
• Alemão
• Inglês
• Francês
• Espanhol
• Italiano
• Russo
• Coreano
• Japonês
• Chines (simplificado)
• Português
A utilização dos idiomas somente estará disponível se o mesmo tiver sido instalado previamente.
Portal View
Project View
CONFIGURAÇÕES (SETTINGS)
Ao abrir o TIA
qual tela será
executada
Mnemonic
- German
E - para entradas
A - para saídas
- Internacional
I - para entradas
Q - para saídas
Janela incorporada
As cartas de tarefas podem
ser ocultadas
esquerda
direita
3. FUNÇÕES ON-LINE
Sumário
ACESSO ONLINE .................................................................................................................................. 5
CONEXÃO ONLINE ATRAVÉS DA REDE ETHERNET INDUSTRIAL ......................................................... 6
ATRIBUIR ENDEREÇO “IP” AO TERMINAL DE PROGRAMAÇÃO PC/PG ............................................... 7
ACESSO ONLINE – ACESSANDO DISPOSITIVOS ATRAVÉS DO “PORTAL VIEW” .................................. 8
FUNÇÕES ONLINE ............................................................................................................................. 10
ASSIGN IP ADDRESS – Atribuir um endereço IP ........................................................................... 10
SET TIME – Ajuste do relógio........................................................................................................ 11
ASSIGN NAME – Atribuir um nome ao dispositivo ....................................................................... 13
RESET TO FACTORY SETTINGS – Retornar padrões de fábrica ..................................................... 14
MEMORY RESET (MRES) utilizando as chaves de seleção de modo (S7-1500) ................................ 15
SIMATIC CARD READER – Leitor de cartão de memória .................................................................. 16
ACESSO ONLINE
Os controladores programáveis das famílias S7-1200 e S7-1500 podem ser acessadas ONLINE.
Com isso é possível obter informações em tempo real do funcionamento dos dispositivos, obter
diagnósticos de módulos, remotas, CPUs e também sobre as redes industriais. Alterações em
blocos de programas também podem ser feitas em ONLINE bem como a verificação do status
das linhas de comando e dados em blocos de dados.
Todas as CPUs possuem incorporadas portas Ethernet onde é possível realizar todo o
procedimento ONLINE, sem a necessidade de adaptadores e ou conversores de protocolos.
ethernet
DRIVE
PG/PC
1500
1200 ET200
192.168.0.73 Nó
Sub-rede
A máscara de sub-rede especifica quais endereços IPs na rede local podem ser alcançados,
acessados. Normalmente, as máscaras de sub rede são representadas com quatro números de
0 a 255 separados por três pontos. A máscara 255.255.255.0, por exemplo, em uma rede da
classe C, indica que o terceiro byte do endereço IP é o número de sub rede e o quarto é o
número do host.
Observe que a configuração acima representa uma sub-rede Classe C, o que significa
que podemos ter em nossa rede, nós com endereços entre 1 e 254, sendo que o terminal
de programação está utilizando o endereço de nó o número 50.
A função Access Online (acesso online) oferece a opção de acesso rápido (por exemplo,
para fins de serviço), mesmo quando não há um projeto off-line aberto no terminal de
programação PC/PG através do TIA Portal.
Todos os módulos programáveis, acessíveis (CPUs, FMS CPs, dispositivos HMI) estão
listados no Portal View, mesmo se eles estiverem localizados em outras sub-redes.
2 6 5 4
Automaticamente o modo de trabalho no Portal TIA será alterado para Project View e
a árvore de Online Access será mostrado na tela com o dispositivo selecionado
anteriormente.
Funções ONLINE
- Atribuir um endereço IP
- Resetar/apagar o conteúdo
- Verificar versão de firmware
- Status do dispositivo
- Acessar a lista de diagnósticos
- Checar tempo de ciclo
- Verificar espaço de memória
FUNÇÕES ONLINE
Todas as CPUs da família S7-1200 e S7-1500 possuem relógio onde é possível ter acesso
através de instruções em um bloco de programa, podendo assim utiliza-lo nos
comandos de seu sistema. Para isso, o relógio deverá estar ajustado de forma correta.
Este ajuste pode ser feito diretamente na CPU através das funções ONLINE.
O relógio também é utilizado pelo sistema operacional, onde é registrado uma lista de
ocorrências em uma tabela chamada Buffer de Diagnóstico onde além das informações
referentes a ocorrência, como tipo de erro, localização do erro, também é registrado a
data e hora que esses eventos foram registrados.
Com o item Take from PG/PC selecionado, após confirmado a função com o botão Apply,
a data e hora atual do PG/PC será automaticamente enviada e ajustada no dispositivo
correspondente. Caso o acerto do relógio deva ser feito manualmente basta tirar a
seleção Take from PG/PC, digitar a data e hora desejada e aplicar.
Em uma rede PROFINET, cada dispositivo deve ser atribuído um nome único que ficará
armazenado retentivamente no dispositivo. O nome do dispositivo identifica um
módulo de E/S remoto (PROFINET IO) e permite a substituição do módulo sem a
necessidade de um PG/PC.
Antes de realizar a troca nome do dispositivo é possível confirmar através dos leds do
dispositivo se está correto a seleção. Para isso, utilize a função LED flashes antes de
confirmar com o botão Assign name a operação.
As CPUs da família S7-1500 possuem uma chave de seleção de modo, onde é possível realizar o
Memory Reset, reset da memória (MRES). O comando pode ser executado em duas situações
diferentes, em função da inserção ou não de um cartão de memória na CPU.
4. Mudar a chave seletora para o modo de trabalho RUN. A CPU será inicializada.
O Simatic Memory Card, cartão de memória de uma CPU S7-1200 é um cartão de memória SD
pré-formatado pela Siemens. Ele pode ser lido e escrito com o Windows Explorer, mas sob
nenhuma circunstância ele pode ser formatado. O Memory Card Micro (MMC) de um S7-300 é
um cartão de memória formatado pela Siemens e não pode ser lido com o Windows e também
não pode ser formatado.
4. DISPOSITIVOS E REDES
Sumário
CRIANDO UM NOVO PROJETO ........................................................................................................... 5
Opção 1 -> Portal View – Lendo a atual configuração ................................................................... 5
Opção 2 -> Portal View – Inserindo manualmente a configuração................................................ 9
INSERINDO OU APAGANDO MÓDULOS ........................................................................................... 12
ALTERANDO UM MÓDULO ............................................................................................................... 15
ÁREA PARA MÓDULOS NÃO UTILIZADOS (reservados).................................................................... 17
PROPRIEDADES DA CPU – ENDEREÇO ETHERNET ............................................................................ 18
PROPRIEDADES DA CPU – System e Clock Memory (memórias de sistema e de relógio) ............... 19
System Memory (4 bits) ............................................................................................................... 19
Clock Memory (8 bits) .................................................................................................................. 20
PROPRIEDADES DA CPU – Tempos de ciclo ...................................................................................... 21
Tempo de Ciclo ............................................................................................................................. 21
Tempo MÁXIMO de Ciclo ............................................................................................................. 21
Tempo MÍNIMO de Ciclo .............................................................................................................. 22
PROPRIEDADES DA CPU – Proteção ................................................................................................. 23
Utilizando o software TIA Portal V13 podemos criar, configurar e visualizar projetos
desenvolvidos para as famílias de controladores programáveis S7-1200 e S7-1500. Também é
possível utilizar o Portal TIA para as CPUs mais recentes da família S7-300.
Várias são as formas e maneiras de criar um projeto utilizando o Portal Tia. Através do Portal
View ou diretamente em Project View. Também é possível criar manualmente toda a
configuração dos dispositivos, CLPs bem como é possível detectar os equipamentos ONLINE
onde todos os códigos dos dispositivos são automaticamente inseridos em suas respectivas
posições.
Utilizando a interface do Portal View é possível criar um novo projeto, abrir um projeto
existente e também migrar um projeto provindo do Step 7 Manager.
1
2
3
Um projeto novo vazio será criado, onde dispositivos poderão ser inseridos, como CLPs,
IHMs, Drives, etc. Utilizando Portal View, graficamente, é possível inserir os novos
dispositivos (Configure a device)
2
3
A CPU adicionada não foi especificada, ou seja, o sistema não tem as informações
referentes ao modelo, versão de firmware e também de quais módulos estão
conectados no dispositivo como cartões de entrada e saída digital, analógicas e ou
placas de comunicação.
Porém, o software Step 7 – Device View, traz a possibilidade de realizar a detecção do
CLP que estará sendo configurado. Para isso, obrigatoriamente, deveremos estar
conectados a CPU correspondente, caso contrário deve ser configurado manualmente
todos os elementos existentes no projeto através do Hardware catalog (catálogo de
hardware).
Utilize a função detect para ler ONLINE os códigos correspondentes de todos os
elementos conectados a CPU (exceto dispositivos de redes Profibus e Profinet).
Foi encontrado e lido em nosso exemplo, uma CPU S7-1200, CPU1212C DC/DC/DC, e um
módulo de saída analógica onboard contendo uma saída.
Com a configuração pronta, todos os códigos, versões de firmwares e placas anexadas foram
trazidas corretamente, continua-se com a parametrização da CPU e de seus respectivos
módulos da forma convencional, em propriedades de cada item.
1
2
3
Um projeto novo vazio será criado, onde dispositivos poderão ser inseridos, como CLPs,
IHMs, Drives, etc. Utilizando Portal View, graficamente, é possível inserir os novos
dispositivos (Configure a device)
4
6
Módulos anexados a CPU podem ser inseridos ou apagados na configuração, bem como podem
ser parametrizados. Para isso, utilizamos o catálogo de hardware onde constará todos os
módulos disponíveis a serem inseridos. Neste caso, todos da família S7-1200.
Cada módulo estará disponível dentro de uma determinada pasta, separados por tipo de
módulo, assim facilitará na hora de procurar o módulo desejado. Também é possível utilizar a
função Search para encontrar um determinado módulo.
Todos os itens contidos no catálogo de hardware poderão ser utilizados simplesmente
selecionado e arrastando até o slot desejado, ou na posição exigida.
Observe que assim que selecionado o módulo no catálogo, as posições permitidas a serem
adicionados o módulo estrão circuladas na cor azul, ou seja, evitando que sejam adicionados
módulos em posições inadequadas/erradas.
Para apagar/deletar um módulo basta selecionar o módulo a ser apagado e pressionar o botão
Del do teclado do PC/PG. Também é possível apagar selecionando o módulo com o botão direito
do mouse e utilizar a opção Delete.
ALTERANDO UM MÓDULO
É possível que um determinado módulo/CPU possa ser alterado. Dessa forma, não é necessário
apagar um módulo já configurado mantendo suas configurações previamente realizadas.
No exemplo abaixo foi realizado a atualização da versão do firmware da CPU de V4.0 para V4.1,
mantendo todos os parâmetros configurados, como clock memory, controle de segurança,
endereço onboard de entradas e saídas, endereços IP, etc.
Clique com o botão direito sobre o módulo que será trocado e seleciona a opção Change device.
Após realizar a troca do módulo, compile a nova configuração e certifique-se que não existe
erro em função da troca. Utilize o ícone Compile na barra de ferramentas conforme mostra a
imagem abaixo. O resultado será apresentado logo abaixo.
Módulos que não estão sendo utilizados no momento, ou estão reservados para uma ampliação
futura podem estar contidos na configuração. Com isso esses módulos podem estar
configurados e ou parametrizados, porém ainda não estarem sendo utilizados. Em modo
ONLINE esses módulos não existem. Dessa forma, como os módulos estão apenas reservados,
não irá indicar falha na CPU por estar faltando fisicamente, ou porque a configuração OFFLINE
não corresponde com a configuração ONLINE.
Para utilizar está área é necessário habilitar na barra de ferramentas o ícone Modules not
plugged in, conforme é mostrado na figura abaixo.
A CPU fornece vários parâmetros que devem ser configurados de acordo com a necessidade do
projeto. Parâmetros como endereços de i/Os onboard, clock memory, web server, startup,
proteção, etc. Um dos principais parâmetros a ser configurado é o endereço IP e nome que
serão atribuídos a porta ethernet. Estes mesmos endereço e nome também podem ser
atribuídos através das funções ONLINE.
Todo e qualquer parâmetro pode ser acessado através da janela de Propriedades. Para ter
acesso, clique duas vezes sobre o elemento a ser configurado (CPU, módulo, placa de rede, etc).
1 3
O sistema operacional da CPU fornece quatro bits de status, que podem ser utilizados nos
códigos do programa. É reservado um byte de memória para uso das informações. O endereço
deste byte é sugerido pelo sistema, mas pode ser alterado de acordo com a necessidade. Será
também criado um TAG para cada bit que também pode ser alterado o nome pelo usuário.
First Cycle:
Será verdadeiro (1) durando a execução do primeiro scan da CPU ao ser inicializada, nos demais
ciclos seu estado será falso (0).
Always 1 (high):
Será sempre verdadeiro (1) durante a execução do programa.
Always 0 (low):
Será sempre falso (0) durante a execução do programa.
Um byte de memória é utilizado pelo sistema operacional da CPU para gerar pulsos em
frequências diferentes. As frequências são fixas, não podem ser alteradas pelo usuário. Para
cada bit uma frequência será vinculada e um TAG criado automaticamente. Os nomes dos TAGs
podem ser alterados de acordo com o usuário. O endereço é sugerido pelo sistema, podendo
também ser alterado pelo usuário.
Os bits do Clock memory são utilizados para disparar ações periodicamente, como exemplo fazer
uma lâmpada piscar em uma certa frequência quando um alarme estiver ocorrendo.
Abaixo, as frequências que são utilizadas perlo Clock memory.
Os bits do Clock memory não são sincronizadas com o ciclo de CPU. Em outras palavras, com
longos tempos de ciclo, o estado dos bits do Clock memory pode mudar mais do que uma vez
dentro de um ciclo.
Tempo de Ciclo
Este é o tempo em que o processador requer para executar ciclicamente todo o programa, uma
vez. Partes do programa do usuário podem também ser processadas condicionalmente e a
execução do programa também pode ser interrompida (por exemplo, as interrupções de
diagnóstico, as interrupções de tempo, as interrupções de hardware, etc.), com isso o tempo
do ciclo pode não ser sempre o mesmo em todos os ciclos.
S7-1200
A CPU permanece no modo RUN, mesmo se o OB 80 não foi programado ou não
carregado para a CPU.
Se o tempo de execução do programa for duas vezes maior que o tempo limite
(2xMaxCycleTime), o modo da CPU será alterado para STOP sem chamar o OB 80,
mesmo ele se ele existir e estiver configurado.
S7-1500
Se o OB 80 é programado e carregado, a CPU permanece no modo RUN, caso contrário,
o modo da CPU será alterado para STOP.
O tempo mínimo de ciclo é opcional. Caso esteja sendo utilizado este parâmetro, o sistema
operacional irá checar se a execução do último ciclo foi menor do que a programada neste
parâmetro. Caso verdadeiro, o sistema operacional irá atrasar o tempo de ciclo até atingir o
valor determinado.
5. TAGs DO CLP
Sumário
TAGS DO CLP ...................................................................................................................................... 5
TAGs Globais:.................................................................................................................................. 5
TAGs Locais: .................................................................................................................................... 5
UTILIZANDO OPERANDOS TRADICIONAIS .......................................................................................... 6
O SIGNIFICADO DAS VARIÁVEIS.......................................................................................................... 7
TIPO DE DADOS .................................................................................................................................. 7
PLC TAGS E CONSTANTES ................................................................................................................... 8
CADASTRANDO TAGS UTILIZANDO “PLC TAGS” ................................................................................. 9
VISUALIZANDO DETALHES DA TABELA PLC TAGS ............................................................................. 12
PROCURANDO, SUBSTITUINDO E ORDENANDO .............................................................................. 13
INDICAÇÃO DE ERROS NA TABELA ................................................................................................... 14
ENDEREÇAMENTO ABSOLUTO OU SIMBÓLICO ................................................................................ 15
RENOMEANDO / RE-ENDEREÇANDO UM TAG ................................................................................. 17
DEFININDO / DECLARANDO TAGS UTILIZANDO O EDITOR DE BLOCOS ........................................... 19
MONITORANDO UM GRUPO DE TAGS ............................................................................................. 20
TAGS DO CLP
Um TAG define um valor de dado que será usado no programa e de quem varia o conteúdo.
Um TAG consiste de um operando (tal como M 3.1) e de um tipo de dado (tal como BOOL) e
pode ser designado por um símbolo (tal como TEMPERATURA_OK).
O uso de TAGs torna seu programa mais flexível. Por exemplo, você pode atribuir diferentes
valores aos TAGs que você tem declarado na interface do bloco para cada chamada do bloco.
Como resultado, você pode reutilizar um bloco que você já tenha programado para diversas
ocasiões.
TAGs Globais:
TAGs que são declarados na tabela PLC tags ou em um bloco de dados global pode ser
abordada por todos os blocos do programa CPU. Por essa razão, essas TAGs são
chamados de tags globais.
TAGs Locais:
Representação - TAGs do CLP são representados entre - Tags Locais são representados procedidos
aspas duplas. por #.
Exemplo “SETPOINT” Exemplo #SOMA
M = bit de memória
I = entradas digitais
Q = saídas digitais
B = Byte
W = Word
D = Double Word
M100.0
IB10
QB64
MD206
Estas áreas de memória endereçada via endereços absolutos poderiam ser usados dentro do
programa para diferentes fins, por exemplo, como um número inteiro (DINT), como número de
ponto flutuante (1253.71) ou simplesmente como uma coleção de sinais individuais (Word).
Este endereçamento é realizado pelo usuário, sendo que ele deverá considerar as quantidades
de bytes utilizadas por cada formato já utilizado anteriormente. Desta forma a possibilidade de
erros serem cometidos são grandes, pois o sistema não realiza se o endereço alocado já está
sendo utilizado por inteiro ou apenas uma parte em outra variável.
TIPO DE DADOS
Os dados que serão lidos/escritos além de ser especificado o operando e seu respectivo
endereço é necessário atribuir sua representação. Um número pode ser representado em
diversas formas, por exemplo valor com sinal, valor sem sinal, valor com ponto flutuante, valor
inteiro, valor duplo inteiro, etc.
O tipo de dados faz com que a representação da variável seja definida principalmente o
intervalo de valores possíveis e também limitam seu uso para as instruções que obrigam a
utilização dos tipos compatíveis.
BOOL 1 0 ou 1 I0.5
BYTE 8 B#16#64 MB100
WORD 16 W#16#3B10 MW54
DWORD 32 DW#16#AE57FC10 QD70
LWORD 64 LW#16#5F52DE8B
CHAR 8 ‘W’ DBB4
INT 16 123 #VALOR
DINT 32 L#65539 MD200
REAL 32 1.2 ou 34.5E-12 DBD40
SINT 8 +/-25 MB30
USINT 8 25 MB30
UDINT 32 5983174 DBD60
LREAL 64 LREAL#1.0e-5
LINT 64 LINT#+1543258759
A tabela de PLC TAGS contém a declaração (definição) de todos os TAGs e constantes utilizados
no programa do CLP. Para ca CPU adicionado ao projeto, uma nova tabela PLC TAGS é criada
automaticamente. A tabela PLC TAGS contém um guia para cada tipo: TAG, CONSTANTES,
CONSTANTES DO SISTEMA.
Através da tabela PLC Tags é possível realizar o cadastro dos TAGs e constantes que serão
utilizados pelo programa. Este cadastro pode ainda ser feito por grupos de TAGS onde é possível
que sejam criados vários grupos dentro da tabela, assim deixando os TAGs mais organizados
dentro do programa. Veja o significado de cada coluna da tabela:
2 3 4 5 6 7
6
1. Através do item PLC Tags na árvore do projeto é possível abrir a tabela dos TAGs.
2. Name: Nesta coluna é digitado o nome do TAG que será criado. Este nome é único não
podendo haver outro igual, exceto quando utilizado como TAG LOCAL.
3. Tag table: Caso esteja sendo utilizado dois ou mais grupos de TAGs deve ser selecionado o
nome do grupo no qual será adicionado o novo TAG.
4. Data type: O tipo de dados que será atribuído ao TAG deverá ser selecionado.
5. Address: Endereço absoluto do TAG. Este endereço é único para um TAG.
6. Atributos do TAG:
a. Retain: tag retentivo ou não retentivo
b. Visible in HMI: visível no editor da IHM (WinCC)
c. Accessible FROM HMI: pode ser utilizado diretamente na IHM sem a necessidade
de recadastrar no editor (WinCC)
7. Comment: Comentário atribuído ao TAG.
Cinco funções estão disponíveis na barra do PLC TAGs para auxiliar na criação dos Tags, que são:
Todo o conteúdo de um grupo de TAGs cadastrado na tabela PLC TAGs ficam disponíveis para
visualização e também para uso dos mesmos na janela Details View. É possível que seja
selecionado e arrastado um TAG da tabela para uma instrução dentro de um bloco de programa.
Na tabela de PLC TAGs é possível encontrar um TAG, substituir seu nome e também ordenar a
tabela através de uma de suas colunas (nome, tipo, endereço).
Com a tabela aberta, utilize a aba Tasks que se encontra do lado direito do editor.
5 1
Dois tipos de erros podem ser detectados ao serem cadastrados novos Tags.
Um endereço absoluto pode estar sendo atribuído a dois ou mais Tags ao mesmo tempo. Com
isso, o sistema indicará em AMARELO todos os endereços repetidos. Mesmo com este erro, o
sistema aceitará o cadastro apenas avisando o programador através da cor que o mesmo se
repete. Porém, ao utilizar este tag no programa digitando seu endereço absoluto, será
automaticamente selecionado o primeiro encontrado pelo sistema e continuará mostrando o
tag na cor amarelo.
Todos os TAGs globais podem ser visualizados tanto como endereço absoluto ou simbólico.
Você pode definir como será visualizado ou qual será utilizado para programar a linha de
comando.
2. Somente simbólico
Em todos os casos, é possível acompanhar todos os detalhes do TAG que está sendo utilizado através
da janela inferior selecionado o item Propriedades.
Através do editor de blocos é possível que seja renomeado um TAG assim como redefinido seu
endereço absoluto, sem a necessidade de abrir a tabela de PLC TAGS. Com isso, facilita e agiliza
quando a necessidade de realizar uma operação como estas.
Para renomear um TAG, click sobre o TAG com o botão direito do mouse e selecione a opção
Rename Tag.
Será apresentado na tela uma janela contendo todas as informações referentes ao TAG e
apenas a coluna Name estará disponível para edição. Digite o novo nome e confirme a
operação através do botão Change, caso desista, cancele a operação utilizando o botão
Cancel.
O re-endereçamento de um TAG é feito da mesma forma que é feito para renomear um TAG.
Click sobre o TAG com o botão direito do mouse e selecione a opção Rewire Tag.
Será apresentado na tela uma janela contendo todas as informações referentes ao TAG e
apenas a coluna Address estará disponível para edição. Digite o novo endereço e confirme
a operação através do botão Change, caso desista, cancele a operação utilizando o botão
Cancel.
É possível que novos TAGS sejam cadastrados no sistema diretamente do editor de blocos. Com
isso torna-se mais rápido a execução de novos cadastros e também evita que erros de
duplicidade de endereços absolutos sejam concebidos, porque o próprio sistema ao realizar um
novo cadastro sugere o próximo endereço que estiver livre no sistema. Mesmo assim é possível
que o endereço seja alterado manualmente pelo usuário.
Inicialmente, um novo nome de um TAG é digitado sobre a instrução desejada. Será indicado
ERRO no network, devido ao TAG que não foi encontrado pelo sistema. Click com o botão direito
do mouse sobre o novo TAG e selecione a opção Define Tag.
Uma nova janela será disponibilizada com as informações do novo TAG. Observe que
automaticamente será sugerido um endereço absoluto em função do tipo de dados que
está sendo criado (bool).
Todos os itens podem ser alterados com exceção ao nome do TAG previamente digitado.
Quando é utilizado grupos de TAGS em PLC TAGS é possível visualizar o estado atual das
variáveis. Para isso, basta habilitar a função Monitor All encontrado na barra de funções.
Sumário
TIPOS DE BLOCOS ............................................................................................................................... 5
OB – ORGANIZATION BLOCKS (Blocos de Organização)................................................................. 6
FC – FUNCTION (Função) ................................................................................................................ 6
FB – FUNCTION BLOCK (Bloco de Função) ..................................................................................... 6
DB – DATA BLOCK (Bloco de Dados)............................................................................................... 6
TIPOS DE PROGRAMAÇÃO.................................................................................................................. 7
PROGRAMAÇÃO LINEAR................................................................................................................. 7
PROGRAMAÇÃO PARTICIONADO EM ÁREAS ................................................................................. 7
PROGRAMAÇÃO ESTRUTURADO .................................................................................................... 7
IMAGENS DE PROCESSO ..................................................................................................................... 8
EXECUÇÃO CÍCLICA DO PROGRAMA ................................................................................................ 10
CICLO E MONITORAMENTO DO TEMPO DE CICLO ........................................................................... 11
ADICIONANDO UM NOVO BLOCO .................................................................................................... 12
PROPRIEDADES DO BLOCO............................................................................................................... 13
PROTEÇÃO - KNOW-HOW PROTECTION .......................................................................................... 14
PROTEÇÃO DE CÓPIA........................................................................................................................ 15
ATRIBUTOS ....................................................................................................................................... 16
IEC CHECK ..................................................................................................................................... 16
HANDLE ERRORS WITHIN BLOCK (manipular erros dentro do bloco).......................................... 16
OPTIMIZED BLOCK ACCESS (acesso ao bloco otimizado) ............................................................. 17
CONFIGURAÇÃO DO EDITOR DE BLOCOS ......................................................................................... 18
NETWORKS ....................................................................................................................................... 20
BLOCO DE PROGRAMAÇÃO .............................................................................................................. 21
PROGRAMANDO UMA INSTRUÇÃO ATRAVÉS DO “EMPTY BOX” .................................................... 22
BLOCOS DIVIDIDOS EM GRUPOS ...................................................................................................... 23
CHAMADA DE BLOCOS ..................................................................................................................... 24
COMPILANDO UM BLOCO ................................................................................................................ 25
TRANSFERINDO BLOCOS PARA A CPU .............................................................................................. 26
TRANSFERINDO BLOCOS PARA A CPU 1500 – Conceito de memória .............................................. 27
Áreas de memória da CPU............................................................................................................ 27
Work Memory – memória de trabalho ........................................................................................ 27
Retentive Memory – memória retentiva ..................................................................................... 27
MONITORANDO UM BLOCO ............................................................................................................ 29
APAGANDO BLOCOS ......................................................................................................................... 30
“UPLOAD” DE BLOCOS DO PLC (upload para o projeto) .................................................................. 31
COMPARANDO BLOCOS ................................................................................................................... 33
TIPOS DE BLOCOS
Sistema Operacional
DB DB
Ciclo
OB cíclico (OB 1)
Blocos de
Organização
Tempo FC FB
DBI
Processo
FB FC
DBI
Erro
FC – FUNCTION (Função)
Os blocos de dados são áreas de dados do programa do usuário nos quais os dados do
usuário são gerenciados de modo estruturado.
Em todos os blocos (OBs, FCs e FBs) todo o conjunto de instruções pode ser utilizado.
TIPOS DE PROGRAMAÇÃO
A programação dos blocos do usuário é dividida em três formas diferentes, que são:
• Programação Linear
• Programação Particionado em Áreas
• Programação Estruturada
Linha 1
Bomba
OB1 OB1 Linha 2 OB1 ss
Cíclico Cíclico Cíclico
Mixer
Saídas
Saídas
Todas as instruções são O programa como um todo é Blocos são reutilizáveis, podem
encontradas dentro de um separado em blocos, cada ser chamados mais de uma vez.
único bloco, normalmente no bloco refere-se a um
OB1 (OB cíclico). equipamento ou parte da
instalação.
PROGRAMAÇÃO LINEAR
O programa é dividido em blocos, onde cada bloco contém somente o programa para
resolver uma tarefa parcial.
PROGRAMAÇÃO ESTRUTURADO
IMAGENS DE PROCESSO
Para o armazenamento de todos os estados de entrada e saída digital, a CPU reservou áreas de
memória: a tabela de imagem de processo de entrada (PII) e tabela de imagem de processo de
saída (PIQ). Durante a execução do programa, a CPU acessa essas áreas de memória
exclusivamente. Ele não acessa os módulos de entrada e saída digitais diretamente.
DI I0.5
& Q7.3
I3.2
Iniciar a monitoração do tempo de ciclo
0 0 0 0 0 0 0 0
Escrever os valores da tabela de imagem
de processo (PIQ) nos módulos de saídas 0 0 1 1 0 0 0 0
digitais
DO
CONSULTAR TABELAS
Quando entradas são consultadas no programa (exemplo I10.2), o estado lógico desta
entrada será consultado na tabela PII onde está armazenado e salvo. Este estado não
pode ser alterado dentro de um ciclo devido ao fato de que a tabela PII somente pode
ser atualizada ou lida no início de um ciclo. Isto assegura que o mesmo resultado será
obtido se uma entrada for consultada várias vezes durante a execução de um ciclo.
Se o programa tiver que acessar um dado diretamente e não através da tabela imagem
de processo, você deve complementar o endereço de I/O (sintaxe) com “:P”, exemplo,
%I4.1:P
• A CPU verifica os estados dos sinais de entrada e atualiza as entradas imagem processo.
• A CPU processa as instruções sequencialmente do programa do usuário e assim
trabalha diretamente com as imagens de processo, não com as entradas e saídas dos
módulos de entrada / saída.
• A CPU transfere os estados das saídas da tabela de imagem de processo para os
módulos de saída.
Módulo de Entradas
Módulo de Saídas
REINICIAR
Ao ligar ou mudar o estado da CPU de STOP -> RUN, a CPU executa um reinício completo (com
OB100). Durante o reinício, o sistema operacional exclui todos os bits de memórias não
retentivos e começa o tempo de monitorização ciclo.
Ao criar um novo bloco de programa, é possível selecionar o tipo de bloco que será criado (OB,
FC, FB, DB), a linguagem de programação a ser utilizada, o nome simbólico do bloco, o número
do bloco entre outras coisas. O número do bloco pode ser atribuído automaticamente pelo Step
7 (utilizado sempre o próximo número livre sequencialmente) ou você pode designar
manualmente o número a ser utilizado.
No caso de criação de OBs, os possíveis blocos a serem utilizados pela CPU selecionada são
listados para que possam ser selecionados. Os blocos são divididos por tipos.
Ainda em informações adicionais (Additional information), é possível cadastrar um título,
comentário, versão, nome do autor, família e número de identificação (ID).
4
3
6
5
1. Execute a função Add new block, que está localizado dentro da pasta Program block e
selecione Organization Block.
2. Selecione o tipo de OB você deseja criar.
3. A numeração do bloco de organização pode ser de forma automática ou manual.
4. Opcionalmente, é possível alterar o nome do bloco de organização.
5. Informações adicionais podem ser inseridas neste campo.
6. Confirme a criação do bloco de organização utilizando o botão “OK”.
PROPRIEDADES DO BLOCO
Após um bloco ter sido criado, é possível editar as suas propriedades onde parâmetros
importantes para o usuário podem ser alterados/selecionados, tais como:
• Identificar o bloco
• Apresentar os requisitos de memória e o estado da compilação do bloco
• Apresentar as datas de criação e alteração do bloco
• Mostrar a informação de referência
• Especificar a proteção de acesso
• Visualizar e alterar a linguagem de programação
Para ter acesso as propriedades, selecione o bloco desejado e clique o botão direito do mouse
e selecione a opção
Um dos atributos dos blocos que podem ser selecionadas ou não, é o atributo de
proteção Know-How Protection que também se encontra disponível em propriedades
do bloco.
Os blocos podem ser protegidos contra acesso não autorizado utilizando uma senha.
Com um bloco protegido know-how, apenas os seguintes dados podem ser lidos:
o Transferência de parâmetros. Para blocos parametrizados é possível alterar os
valores reais que serão enviados ou lidos dos blocos protegidos.
o Título do bloco
o Comentário do bloco
o Propriedades do bloco
o Referência cruzado com informações de tags utilizados dentro do bloco
PROTEÇÃO DE CÓPIA
Além da proteção de know-how, você também pode gerar uma proteção contra cópia, onde
você define qual o cartão de memória ou CPU (cada uma identificada por um número de série)
do bloco pode ser transferido.
ATENÇÃO ! Se você esquecer a senha não será mais possível abrir o bloco !
ATRIBUTOS
IEC CHECK
Através do atributo IEC Check, os tipos de dados dos operandos utilizados são
verificados quanto à compatibilidade. Este teste de compatibilidade pode ser realizado
de acordo com critérios que são mais ou menos rigorosos. Se IEC Check é ativado,
critérios mais rigorosos são aplicados.
O atributo OPTIMIZED BLOCK ACCESS pode ser atribuído a todos os blocos lógicos e de
dados. Tem os seguintes efeitos para os diferentes tipos de blocos:
O editor de blocos do Step 7 V13 é possível que o usuário configure, otimize o editor de acordo
com a sua preferência. Você pode, por exemplo, definir como um bloco será apresentado ao
ser aberto (exemplo mostrar ou ocultar comentários).
Para alterar a configuração, utilize a opção Settings no menu Options.
VIEW
Ao ser aberto o bloco, você define se os comentários das networks serão visualizados
automaticamente. Também é possível habilitar ou não a visualização dos comentários
dos TAGs.
COMPILATION
Quando um parâmetro de um bloco logico for excluindo em sua interface de
declaração, todas as chamadas deste bloco serão ajustadas automaticamente, os
parâmetros serão excluídos.
IEC CHECK
Apenas as variáveis com o tipo de dados correto podem ser utilizadas. Se uma operação
requer uma variável do tipo de dados INT, nenhuma variável do tipo de dados WORD
pode ser usada, mesmo se o tamanho da variável for o mesmo (16 bits).
MNEMONICS
Definir a sintaxe da linguagem de programação:
NETWORKS
Todo o programa pode ser divido em blocos, facilitando a sua programação e manutenção.
Desta mesma forma, todos os blocos são subdivididos em linhas (Networks). A divisão é
atribuída pelo usuário.
A cada Network é possível que seja atribuída a ela um título e um comentário. Estes serão
transferidos também para o CLP juntamente com os códigos lógicos.
Abrir/Fechar Comentários
todos networks das instruções
networks
Network
Inserir, apagar
Comentários
dos networks
networks
BLOCO DE PROGRAMAÇÃO
FAVORITOS
As instruções utilizadas com mais frequência podem ser inseridas a lista de instruções
favoritas. Para isso, basta selecionar a instrução desejada e arrasta-la para a pasta
Favorites (favoritos). Desta forma, sempre que for utilizar a instrução no programa não
será mais necessário procurar em qual divisão ela se encontra na biblioteca de
instruções e sim utilizar a pasta favoritos.
1
2
Uma instrução pode ser programada utilizando a caixa vazia (Empty Box). Através da caixa, o
programador seleciona diretamente o nome da instrução a ser utilizada, sem a necessidade de
localizar a mesma na biblioteca de instruções. Com isso, torna-se mais ágil e rápido a
programação.
Empty Box
Programas grandes contendo muitos blocos podem ser divididos em grupos de blocos
diferentes. Os agrupamentos podem ser relacionados com a estrutura do sistema a ser
controlado. Blocos criados em diferentes grupos recebem nome único, ou seja,
independentemente de onde o bloco será criado o nome será exclusivo.
Os blocos podem simplesmente ser deslocados entre os grupos de blocos usando drag & drop.
CRIANDO GRUPOS
Para criar um grupo, clique com o botão direto do mouse sobre a pasta Program Blocks
e selecione a opção Add group. Para mover blocos para o novo grupo bastar selecionar
e arrastar sobre o novo grupo. Nada será alterado na lógica do programa, esta função
é apenas para organização do programa.
CHAMADA DE BLOCOS
Um bloco lógico (FC, FB) para funcionar/executar deve estar sendo chamado por outro bloco
que já esteja em execução, exemplo OB1 (cíclico), OB40 (interrupção), OB 100 (inicialização) ou
por outro bloco que indiretamente deva estar sendo chamado por um bloco que está sendo
executado, exemplo FC ou FB.
Para realizar a chamada, basta selecionar o bloco a ser utilizado e arrasta-lo a network desejada.
Caso o bloco em uso for parametrizável (FC), deverá ser preenchido seus parâmetros, e em
blocos de função (FB) o bloco de dados que será instanciado (DB) deverá ser criado ou
selecionado. Neste caso, os preenchimentos dos parâmetros serão opcionais.
COMPILANDO UM BLOCO
Antes de um bloco ser transferido a CPU, o sistema operacional realiza uma compilação das
instruções automaticamente, onde são checados consistência nas chamadas dos blocos bem
como erros em sintaxe de comandos, por exemplo uma instrução sem endereço.
Com isso, apenas será possível realizar o download de um bloco ou configuração de
hardware/rede se não for encontrado erros na compilação.
A compilação poderá ser realizada a qualquer momento manualmente, utilizando a ferramenta
compile na barra de ferramentas.
A descrição do erro gerado na janela Info é também um link para localização do erro. Basta clicar
duas vezes sobre a linha que descreve a falha e será automaticamente aberto o bloco e network
correspondente.
Os dados que são transferidos para a CPU são divididos em dois grupos:
• Hardware
Configuração do hardware, redes e conexões.
• Software
Blocos do programa do usuário. A primeira vez que é realizado a transferência, todos
os blocos são transferidos. As demais transferências apenas os blocos/dados que
sofreram alterações serão carregados.
A memória de trabalho é uma memória RAM volátil que não pode ser expandida. Ela é
dividida em duas áreas:
o Reposição da memória
Retentive memory
Variáveis retentivas de:
- DBs globais
- DBs Instanciados
- Objetos de tecnologia
- Bits de memória
- SIMATIC timer / counters
MONITORANDO UM BLOCO
Os blocos somente podem ser monitorados enquanto o Step 7 estiver em modo ONLINE, ou
seja, o programa OFFLINE deverá ser exatamente igual ao programa ONLINE. Caso não sejam
iguais a opção de monitorar o bloco estará desabilitada.
No modo de teste monitor, os estados dos operandos e elementos LAD/FBD são representados
por cores diferentes. Você pode alterar as configurações através do menu Options/Settings.
Exemplos:
Resultado lógico operacional verdadeiro a linha será sólida e representada na cor verde.
Resultado lógico operacional falso a linha será tracejada e representada na cor azul.
APAGANDO BLOCOS
Bloco não pode ser excluído on-line diretamente na CPU. Se um bloco (mesmo com uma
conexão on-line existente) está selecionado, a opção Delete é habilitada. Se utilizada, será
apresentada uma caixa de diálogo confirmando se o bloco deve ser excluído offline.
No próximo carregamento dos blocos para a CPU é realizado a compilação do programa, todos
os blocos que foram apagados off-line também serão apagados online ao término da
transferência.
Com a ferramenta Upload from device (Carregar a partir do dispositivo), blocos individuais ou
todo o programa contido na CPU, incluindo objetos tecnológicos, tabelas de tags e tipos de
dados podem ser carregados para o projeto da CPU. Para ter acesso a ferramenta, clique com
o botão direito do mouse sobre a pasta Program blocks.
Utilizando a ferramenta Upload from device em uma pasta de blocos ou em um único bloco, o
resultado será:
• Blocos que só existem on-line na CPU são enviados para o projeto offline.
• Blocos que são diferentes online / offline serão substituídos no projeto off-line.
• Blocos que só existem offline não são influenciados.
COMPARANDO BLOCOS
Online / Offline
Os objetos do projeto (OFFLINE) são comparados com o projeto contido no dispositico
(ONLINE). Com isso, somente é possível realizar a comparação com uma conexão ativa
com o CLP.
Offline / Offline
Os objetos de duas estações, ou dois projetos ou de um projeto e uma biblioteca podem
ser comparados. Neste caso, não existe a necessidade de haver uma conexão ativa.
Símbolo Significado
A pasta de programas contém diferenças entre os online e offline
Para iniciar uma comparação, selecione a estação que será comparada. Com o botão direito do
mouse, escolha a opção compare -> off-line/online.
Veja no exemplo abaixo que ao final da comparação diferenças foram encontradas. Entre elas
destacamos, como exemplo, o FC 2 onde seu resultado nos traz diferenças nos códigos lógicos.
Também é possível verificar os horários das últimas alterações tanto em off-line como em
online.
Para obter mais detalhes, como por exemplo, saber exatamente onde estão as diferenças entre
os blocos, basta clicar duas vezes sobre a linha do resultado da comparação. Serão abertos os
dois blocos na network onde a diferença se encontra. Também será descrito a diferença na
janela de resultado da comparação.
Após analisar o resultado da comparação, é possível tomar uma ação, onde temos 3 opções:
• No action
• Download to device
Sumário
Ex :
• Atualizar imagem das entradas
• Atualizar imagem das saídas
• Atualizar memórias dos temporizadores
• Executar rotinas de interrupção por tempo
• Executar rotinas de partida da CPU
No exemplo acima citamos algumas das rotinas, mas salientamos que neste exemplo elas
não foram citadas na ordem de execução, pois são só algumas das rotinas da CPU.
- Ler sinais das placas de entrada - PIW - e copiar para a área de memória imagem de
entradas - PII -.
Obs : A memória imagem das entradas é atualizada somente uma vez a cada início
de ciclo Se uma determinada entrada estiver com o seu nível lógico em 1 este sinal
será utilizado todas as vezes em que a entrada for inserida no programa, mesmo que
no meio do ciclo ela passe no campo para nível lógico 0 ( este sinal em zero só será
atualizado no início do próximo ciclo.)
Obs : durante um ciclo do programa, uma saída pode ser acionada ( ligada / desligada
) várias vezes ( este acionamento estará sendo feito na memória imagem ).
- Ao final do ciclo os dados da memória imagem das saídas serão enviados para os
módulos de saída (PQW) fazendo com que os elementos de campo sejam atuados.
Sist. Op.
Atualizar
Imagem
das
Entradas
PQW
PIW PII
=1 I32.0 =1 Q32.0 =0 =1
=0 I32.1 =0 Q32.1 =0 =0
=1 Q32.2 =1 =1
=0 .. =0
=1 .. =1
=0 .. =0
=0 .. =0
=0 .. =0
=1 .. =1
=0 .. =0
=1 .. =1
.. ..
.. ..
.. ..
Temporizadores
Contadores
DB (instance)
FC FB
DB ( global )
DB (instance)
FB
OB x
DB (instance)
FB FC
Blocos de Usuário
Os blocos de usuário contêm o código do programa e os dados que serão utilizados no
programa.
Num programa estruturado, alguns blocos são chamados e processados ciclicamente,
outros apenas se necessário
Blocos de Sistema
Os blocos de sistema são funções pré-definidas ou blocos de funções que estão
integrados no sistema operacional da CPU. Estes blocos não ocupam espaço adicional
na memória do usuário.
Os blocos de sistema são chamados a partir do programa de usuário. Estes blocos têm
a mesma interface, o mesmo identificador e o mesmo número em todo o sistema. O
programa do usuário é assim facilmente transportado entre CPUs ou CLP‘s.
TIPOS DE PROGRAMAÇÃO
A programação dos blocos do usuário é dividida em três formas diferentes, que são:
• Programação Linear
• Programação Particionado em Áreas
• Programação Estruturada
Linha 1
Bomba
OB1 OB1 Linha 2 OB1 ss
Cíclico Cíclico Cíclico
Mixer
Saídas
Saídas
Todas as instruções são O programa como um todo é Blocos são reutilizáveis, podem
encontradas dentro de um separado em blocos, cada ser chamados mais de uma vez.
único bloco, normalmente no bloco refere-se a um
OB1 (OB cíclico). equipamento ou parte da
instalação.
PROGRAMAÇÃO LINEAR
O programa é dividido em blocos, onde cada bloco contém somente o programa para
resolver uma tarefa parcial.
PROGRAMAÇÃO ESTRUTURADO
OPERAÇÕES BINÁRIAS
Neste capitulo teremos exemplos de lógicas, apresentadas em diagramas de contatos ( LAD ) e
também em lista de instruções ( STL ).
Podemos considerar que o lançamento do software “TIA Portal” foi um grande avanço em
relação as versões anteriores do MANAGER, principalmente no que se refere a utilização de
diagrama de contatos ( LAD ) na elaboração de programas, isto porque podemos considerar que
hoje no Brasil é o formato mais utilizado pelo pessoal de manutenção que é a grande parcela
dos usuários do “chão de fábrica”.
Apesar de existir a biblioteca com os elementos, após os mesmos serem inseridos no programa
, ainda podemos selecionar outra opção no próprio elemento ( figura_1).
1
Seleção
Marcando a seleção
3
Selecionando o tipo de contato
Uma vez marcado o indicador, podemos selecionar o tipo de
contato a ser utilizado, como podemos verificar na figura_3.
Logica “AND”
Logica “OR”
SET
Se o RLO = "1", o endereço especificado é “setado” ”, indo, portanto, para nível lógico
”1” e assim permanecerá até que lhe seja feito um reset através de outra instrução.
RESET
Se o RLO = "1", o endereço especificado é “resetado”, indo, portanto, para nível lógico
”0” e assim permanecerá até que lhe seja novamente feito um set através de outra
instrução
Obs: o bit “setado” pode ser desligado através de uma instrução do tipo “tranfer ”para
o byte a que este bit pertence
PREDOMINANCIA
No exemplo acima, se as duas instruções ( set e reset ) forem acionadas ao mesmo
tempo, a prioridade será da que estiver escrita por último no programa ( em nosso
caso o “reset” )
Logica - “( P )” – Monopulso
Flanco do RLO
Um ”Flanco do RLO” acontece quando o resultado lógico da operação muda.
Flanco Positivo
Quando o RLO passa de “0” para “1”, a instrução de detecção de flanco "FP" resulta no
estado de sinal "1" (por ex.: Q 3.0) durante um ciclo.
Para permitir que o sistema detecte a mudança de flanco, o RLO tem também que ser
gravado num bit de memória FP, ou bit de dados (por ex.: M 10.0)
Flanco Negativo
Quando o RLO passa de “1” para “0”, a instrução de detecção de flanco "FN" resulta no
estado de sinal ”1” (por ex.: Q 3.1) durante um ciclo.
Para permitir que o sistema detecte a mudança de flanco, o RLO tem também que ser
gravado num bit de memória FN, ou bit de dados (por ex.: M 10.1).
Salto “JMP”
Quando programamos a instrução “JMP” ( salto ) sempre devemos “acima” dela
nomear um endereço de destino , no nosso caso “Ultima” quando a entrada no início
da linha for ativada (RLO=1) o salto será executado, neste caso chamamos o salto de
condicional ( condicionado).
Caso a linha não tenha condição no início, o salto será chamado de incondicional.
Salto “JMPN”
A forma de programarmos o “JMPN” é a mesma do “JMP”, a diferença será que o salto
será executado quando o RLO anterior a ele for igual a “0”
ACIONAMENTO SEQUENCIAL
Endereço
inicial
Quantidade
de bit’s
“SET_BF”
A instrução “SET_BF” faz o ligamento sequencial de bit’s a partir de um endereço inicial
e quantidade.
.
“RESET_BF”
A instrução “RESET_BF” faz o desligamento sequencial de bit’s partir de um endereço
inicial e quantidade.
Sumário
............................................................................................................................................................ 1
FORMATOS NUMÉRICOS .................................................................................................................... 5
FORMATO NUMÉRICO – 16 BIT’S ................................................................................................... 5
FORMATO NUMÉRICO – 32 BIT’S ................................................................................................... 6
BLOCO MOVE ..................................................................................................................................... 7
UTILIZANDO A INSTRUÇAO LOAD COM DADOS EM VARIOS FORMATOS ...................................... 7
TRAFEGO DE DADOS NOS ACUMULADORES 1 E 2 ............................................................................. 8
CARREGANDO E TRANSFERINDO DADOS DO ACUMULADOR 1 ......................................................... 9
COMPARADORES .............................................................................................................................. 10
COMPARADOR – VERIFICAÇÃO DE FAIXA .................................................................................... 11
OPERAÇÕES LÓGICAS DIGITAIS ........................................................................................................ 12
INSTRUÇOES DE DESLOCAMENTO DE BIT ........................................................................................ 13
ESTRUTURA DE DADOS..................................................................................................................... 14
CONTADORES ................................................................................................................................... 15
Contadores do tipo IEC ................................................................................................................. 19
CONTADOR – Tipo – “CTU” ( UP ) ............................................................................................ 19
CONTADOR – Tipo – “CTUD” ( UP / DOWN ) ................................................................................ 20
CONTADOR – Tipo – “CTU” ( UP ) ............................................................................................ 22
CONTADOR – Tipo – “CTD” ( DOWN ) ..................................................................................... 23
CONTADORES - “S5” .................................................................................................................... 24
CONTADOR – Tipo S5 – “S_CU” ( UP) .......................................................................................... 26
CONTADOR – Tipo S5 – “S_CD” ( DOWN ) ............................................................................... 28
CONTADOR – Tipo S5 – Contador simplificado – “SC” Set contador ........................................... 29
Contador “S5” - SET - Lista de instruções ( STL) : ..................................................................... 29
CONTADOR – Tipo S5 – Contador simplificado – “UP” Incrementa Contador ......................... 29
CONTADOR – Tipo S5 – Contador simplificado – “CU” Decrementa Contador ....................... 30
TEMPORIZADORES ........................................................................................................................... 33
TEMPORIZADORES “IEC” .............................................................................................................. 34
TIPO DE DADO - “TIME”........................................................................................................... 34
BLOCO DE DADOS - “DB” – AUXILIAR PARA OS TEMPORIZADORES “IEC” ............................. 34
BASE PARA SELEÇÃO DO TEMPORIZADOR ............................................................................... 34
TEMPORIZADOR “TP” ............................................................................................................... 35
TEMPORIZADOR “TON” ........................................................................................................... 35
TEMPORIZADOR “TOF” ............................................................................................................ 36
TEMPORIZADOR “TONR” ......................................................................................................... 36
FORMATOS NUMÉRICOS
Código BCD Cada dígito de um número decimal pode ser codificado com quatro posições
binárias (4bits). São utilizados quatro bits porque o número decimal mais
alto, 9, necessita de pelo menos quatro posições bit em código binário
(1001). As demais codificações com 4 bits são desconsideradas.
Os dígitos decimais de 0 a 9 são representados em código BCD da mesma
forma que os números binários de 0 a 9.
DINT Inteiros de 32-bit com sinal são também designados ”duplos inteiros” ou
”inteiros longos”.
Exemplos: +10.339
-23.4567
BLOCO MOVE
RLO Em LAD e FBD pode utilizar a entrada de permissão ”Enable input” (EN)
da caixa do símbolo MOVE para tornar as operações de Carregamento e
Transferência dependentes do RLO.
Em STL operações de Carregamento e Transferência são sempre
executadas, independentemente do valor do RLO, mas pode torná-las
dependentes do RLO se utilizar saltos condicionais para saltar as
instruções de LOAD e TRANSFER.
COMPARADORES
Tipo de
comparador
tipo de
variável
COMPARADOR Na figura acima podemos ver os valores que podem ser comparados
TIPO DE
COMPARAÇÃO
TIPO DE
VARIÁVEL
OUT_RANGE Verifica se a variável está fora da faixa dos valores “MIN” e “MAX”
TIPO DE
VARIÁVEL
WAND_W A operação "AND Word" testa bit a bit os valores digitais das entradas ”IN1”
e ”IN2” de acordo com a tabela da verdade da operação AND. O resultado
da operação AND é armazenado no endereço especificado na saída “OUT”.
A instrução é executada quando ”EN = 1”.
WOR_W A operação "OR Word" teste bit a bit os valores digitais das entradas ”IN1”
e ”IN2” de acordo com a tabela da verdade da operação OR. O resultado da
operação OR é armazenado no endereço especificado na saída ”OUT”. A
instrução é executada quando ”EN = 1”.
Exemplo: Colocar M ”1” o bit zero da MW32 :
TIPO DE
VARIÁVEL
ENO Se a instrução é executada (“EN = 1”), “ENO” indica o estado de sinal do último
bit deslocado.
Isto significa que outras instruções dependentes de ”ENO” (cascata) não são
executadas se o estado de sinal do último bit deslocado for "0".
ESTRUTURA DE DADOS
A linguagem de programação STEP 7 utiliza o seguinte procedimento para armazenamento e
leitura de dados:
ID 10
IW 10 IW 12
IB 10 IB 11 IB 12 IB 13
1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1
QD 16
QW 16 QW18
QB 16 QB 17 QB 18 QB 19
1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1
MD 21
MW 21 MW23
MB 21 MB 22 MB 23 MB 24
1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1
DBD 30
DBW 30 DBW 32
DBB 30 DBB 31 DBB 32 DBB 33
1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1
Na tabela abaixo temos um resumo para nomeação de endereços para entradas, saídas,
memorias e dados :
CONTADORES
A linguagem STEP 7 permite que um contador seja utilizado de várias formas, como veremos
abaixo:
Versões IEC
• Contador “CTUD” – esta é a versão completa do contador que possui as funções “UP”
(incrementa contador) e a função “DOWN” (decrementa contador).
• Contador “CTU” – esta é uma variação do cantor que só possui a função “UP”
(incrementa contador).
• Contador “CTD” – esta é uma variação do contador que possui função “DOWN”
(decrementa contador).
• Contador “S_CUD” – esta é a versão completa do contador que possui as funções “UP”
(incrementa contador) e a função “DOWN” (decrementa contador).
• Contador “S_CU” – esta é uma variação do contador que só possui a função “UP”
(incrementa contador)
• Contador “S_CD” – esta é uma variação do contador que possui função “DOWN”
(decrementa contador).
Temos também as versões compactas dos contadores do tipo SIEMENS onde uma única
função do cantador é programada:
Selecionar
tipo
Entrada “CU” – Se o valor da entrada variar de “0” para “1” o contador será incremento em uma
unidade.
Se o contador chegar ao valor máximo (+32767 – em nosso caso – int ) e continuar
a receber pulsos, o valor de saída “CV” permanecerá em +32767.
Entrada “CD” –Se o valor da entrada “CD” variar de “0” para “1” o contador será decrementado
em uma unidade.
Se o contador chegar ao valor mínimo ( -32768 – em nosso caso ) e continuar a
receber pulsos, o valor de saída “CV” permanecerá em -32768.
Entrada “R” – Se o valor da entrada “R” variar de “0” para “1” o valor de contagem irá a “0”. Se
a entrada “R” for mantida em “1” o valor do contador permanecerá em “0”
mesmo se as entradas “CU” ou “CD” ou “LD” forem acionadas.
Entrada “LD” – Se o valor da entra “LD” variar de “0” para “1”, o valor da Entrada “PV” passará a
ser o valor de contagem atual, podendo a partir daí ser incremento ou
decrementado. A entrada “LD” somente terá efeito sobre o contador quanto seu
sinal variar de “0” para “1” após este instante, mesmo que permaneça acionada
não surtirá mais efeito sobre o valor da contagem.
Entrada “PV” –A entrada “PV” será utilizada para servir como preset para o “Valor inicial de uma
contagem”. E este valor sempre será enviado para o contador quando a entrada
“LD” for acionada, poderá ser um valor fixo ou enviado através de uma variável.
Saída “CV” – Na saída “CV” o contador apresentará sempre o valor da contagem atual.
Saída “QU” –Se o valor da contagem atual for maior ou igual ao valor da entrada “PV”, o valor
da saída “QU” (Bit) será igual a “1”, caso contrário esta saída permanecerá em
“0”.
Saída “QD” – Se o valor da contagem atual for menor ou igual a zero, o valor da saída “QD”
(Bit) será igual a “1”, caso contrário esta saída permanecerá em “0”.
Entrada “CU” – Se o valor desta entrada variar de “0” para “1” o contador será incremento em
uma unidade ( somente no flanco de subida do sinal )
Se o contador chegar ao valor máximo (+32767 – em nosso caso – int ) e continuar
a receber pulsos, o valor de saída “CV” permanecerá em +32767.
Entrada “R” – Se o valor da entrada “R” variar de “0” para “1” o valor de contagem irá a “0”. Se
a entrada “R” for mantida em “1” o valor do contador permanecerá em “0”
mesmo se a entrada “CU” for acionada.
Entrada “PV” –A entrada “PV” será utilizada para servir como valor de referência para o
acionamento da saída “Q”
Saída “Q” – Se o valor da contagem atual for maior ou igual a “0”, o valor saída “Q” (Bit) será
igual a “1”, caso contrário esta saída permanecerá em “0”.
Entrada “Cd” – Se o valor desta entrada variar de “0” para “1” o contador será decremento em
uma unidade ( somente no flanco de subida do sinal )
Se o contador chegar ao valor mínimo (- 32768 – em nosso caso – int ) e continuar
a receber pulsos, o valor de saída “CV” permanecerá em - 32768.
Entrada “R” – Se o valor da entrada “R” variar de “0” para “1” o valor de contagem irá a “0”. Se
a entrada “R” for mantida em “1” o valor do contador permanecerá em “0”
mesmo se as entradas ou “CD” for acionada.
Entrada “PV” –Se o valor da entra “LD” variar de “0” para “1”, o valor da Entrada “PV” passará a
ser o valor de contagem atual, podendo a partir daí ser decrementado. A entrada
“LD” somente terá efeito sobre o contador quanto seu sinal variar de “0” para
“1” após este instante, mesmo que permaneça acionada não surtirá mais efeito
sobre o valor da contagem.
Saída “Q” – Se o valor da contagem atual for maior ou igual ao valor da entrada “PV”, o valor
da saída “Q” (Bit) será igual a “1”, caso contrário esta saída permanecerá em “0”.
CONTADORES - “S5”
Como já informamos no início do capitulo, além dos contadores “IEC” foram disponibilizados no
“TIA PORTAL” os temporizadores equivalentes aos utilizados nos CLP’s das linhas S5 e S7
300/400. ( somente para os controladores da linha “S7 1500” )
Em muitos casos esta opção serve para os programadores que já estavam acostumados a
trabalhar com o formato antigo dos contadores ou em muitos casos torna-se muito útil para o
caso de conversão de programas
Entrada “CU” – “Incrementar Valor de Contagem” - Se o valor da entrada variar de “0” para “1”
(Counter UP) o contador será incremento em uma unidade.
Quando o valor da contagem atingir limite máximo (999) e a entrada “CU”
continuar a receber pulsos, o valor de saída “CV” permanecerá em 999.
Entrada “CD” –“Decrementar Valor de Contagem” - Se o valor da entrada “CD” variar de “0” para
(Counter Down) “1” o contador será decrementado em uma unidade.
Se o valor da contagem atingir o limite mínimo ( “0” ) e a entrada “CD” continuar
a receber pulsos, o valor de saída “CV” ( ou CV_BCD ) permanecerá em “0”.)
Entrada “S” Se o valor da entra “S” variar de “0” para “1”, o valor da Entrada “PV” passará a
(Set Counter) ser o valor de contagem atual, podendo a partir daí ser decrementado ou
decrementado. A entrada “S” somente terá efeito sobre o contador quanto seu
sinal variar de “0” para “1” após este instante, mesmo que permaneça acionada
não surtirá mais efeito sobre o valor da contagem.
Entrada “PV” A entrada “PV” será utilizada para servir como preset para o “Valor inicial de uma
contagem”. E este valor sempre será enviado para o contador quando a entrada
“S” for acionada, poderá ser um valor fixo ou enviado através de uma variável.
Entrada “R” – Se o valor da entrada “R” variar de “0” para “1” o valor de contagem irá a “0”. Se
a entrada “R” for mantida em “1” o valor do contador permanecerá em “0”
mesmo se a entrada “CU” ou “S” for acionada.
Saída “CV” – Na saída “CV” o contador apresentará sempre o valor da contagem atual.
( formato – inteiro ).
Saída “Q” – Se o valor da contagem atual for “maior que zero”, o valor da saída “Q” (Bit) será
igual a “1”, caso contrário esta saída permanecerá em “0”.
Exemplo :
Entrada “CU” – “Incrementar Valor de Contagem” - Se o valor da entrada variar de “0” para “1”
(Counter UP) o contador será incremento em uma unidade.
Quando o valor da contagem atingir limite máximo (999) e a entrada “CU”
continuar a receber pulsos, o valor de saída “CV” permanecerá em 999.
Entrada “S” Se o valor da entra “S” variar de “0” para “1”, o valor da Entrada “PV” passará a
(Set Counter) ser o valor de contagem atual, podendo a partir daí ser decrementado ou
decrementado. A entrada “S” somente terá efeito sobre o contador quanto seu
sinal variar de “0” para “1” após este instante, mesmo que permaneça acionada
não surtirá mais efeito sobre o valor da contagem.
Entrada “PV” A entrada “PV” será utilizada para servir como preset para o “Valor inicial de uma
contagem”. E este valor sempre será enviado para o contador quando a entrada
“S” for acionada, poderá ser um valor fixo ou enviado através de uma variável.
Entrada “R” – Se o valor da entrada “R” variar de “0” para “1” o valor de contagem irá a “0”. Se
a entrada “R” for mantida em “1” o valor do contador permanecerá em “0”
mesmo se a entrada “CU” ou “S” for acionada.
Saída “CV” – Na saída “CV” o contador apresentará sempre o valor da contagem atual.
( formato – inteiro ).
Saída “Q” – Se o valor da contagem atual for “maior que zero”, o valor da saída “Q” (Bit) será
igual a “1”, caso contrário esta saída permanecerá em “0”.
Exemplo :
afdsgasdf
Entrada “CD” –“Decrementar Valor de Contagem” - Se o valor da entrada “CD” variar de “0” para
(Counter Down) “1” o contador será decrementado em uma unidade.
Se o valor da contagem atingir o limite mínimo ( “0” ) e a entrada “CD” continuar
a receber pulsos, o valor de saída “CV” ( ou CV_BCD ) permanecerá em “0”.)
Entrada “S” Se o valor da entra “S” variar de “0” para “1”, o valor da Entrada “PV” passará a
(Set Counter) ser o valor de contagem atual, podendo a partir daí ser decrementado ou
decrementado. A entrada “S” somente terá efeito sobre o contador quanto seu
sinal variar de “0” para “1” após este instante, mesmo que permaneça acionada
não surtirá mais efeito sobre o valor da contagem.
Entrada “PV” A entrada “PV” será utilizada para servir como preset para o “Valor inicial de uma
contagem”. E este valor sempre será enviado para o contador quando a entrada
“S” for acionada, poderá ser um valor fixo ou enviado através de uma variável.
Entrada “R” – Se o valor da entrada “R” variar de “0” para “1” o valor de contagem irá a “0”. Se
a entrada “R” for mantida em “1” o valor do contador permanecerá em “0”
mesmo se a entrada “CU” ou “S” for acionada.
Saída “CV” – Na saída “CV” o contador apresentará sempre o valor da contagem atual.
( formato – inteiro ).
Saída “Q” – Se o valor da contagem atual for “maior que zero”, o valor da saída “Q” (Bit) será
igual a “1”, caso contrário esta saída permanecerá em “0”.
Exemplo :
Contador “S5” UP Lista de instruções ( STL) :
TEMPORIZADORES
A linguagem STEP 7 permite que um temporizador seja utilizado de várias formas, como
veremos abaixo:
Versões IEC
• Temporizador “TP”
• Temporizador “TON”.
• Temporizador “TOF
• Temporizador “TONR”
•
Versões “LEGADO” – Temporizadores tipo SIEMENS (origem S5)
Estas versões podemos dizer que são uma “herança” dos temporizadores SIEMENS das linhas
S5/S7 300 e 400, então além de utilizarmos os contadores IEC, ainda temos a possibilidades de
utilizarmos temporizadores equivalentes aos que eram encontrados no “set de instruções” da
programação das linhas S5 / S7 300 e 400, que tinham máscara de parâmetros e funções
diferentes dos temporizadores do tipo IEC.
TEMPORIZADORES “IEC”
• Dias...................(d)
• Horas.................(h)
• Minutos.............(m)
• Segundos...........(s)
• Milissegundos... (ms)
Selecionando o
tipo de
temporizador
Selecionando o
tipo de variável
TEMPORIZADOR “TP”
Característica principal:
Mantem a saída “Q” ligada durante a contagem de tempo e “não necessita” do
sinal de partida para efetuar a contagem de tempo completa.
TEMPORIZADOR “TON”
Característica principal:
Liga a saída “Q” após a contagem de tempo e “necessita” do sinal de partida
para efetuar a contagem de tempo completa.
TEMPORIZADOR “TOF”
Característica principal:
TEMPORIZADOR “TONR”
Característica principal:
Inicia a contagem de tempo quando a entrada ( “IN” ) vai para “1” e mesmo
que a entrada vá para “0” mantem o valor da contagem acumulado, assim,
quando a entrada vai para “1” dá prosseguimento a contagem de tempo
exatamente do ponto onde havia parado.
Para o “desligamento” da “saída” ( “Q” ) é necessária a utilização do “reset”.
Temporizadores “S5”
Seleção do
tipo de
temporizador
Irrelevante 2 2 1 5
Obs: valores codificados em BCD
Funções de tempo
Constante de tempo
Base de tempo
0 = 0,01 s
1 = 0,1 s
2 = 1s
3 = 10s
Característica principal:
Mantem a saída “Q” ligada durante a contagem de tempo e “necessita” do sinal
de partida para efetuar a contagem de tempo completa.
Start
Reset
Saída Q
Tempo
Característica principal:
Mantem a saída “Q” ligada durante a contagem de tempo e “não necessita” do
sinal de partida para efetuar a contagem de tempo completa.
Start
Reset
Saída Q
Tempo
Característica principal:
Liga a saída “Q” após a contagem de tempo e “necessita” do sinal de partida
para efetuar a contagem de tempo completa.
Start
Reset
Saída Q
Tempo
Característica principal:
Liga a saída “Q” após a contagem de tempo e “não necessita” do sinal de
partida para efetuar a contagem de tempo completa.
Start
Reset
Saída Q
Tempo
Característica principal:
Liga a saída quando o sinal de partida vai para “1” de inicia a contagem de
tempo para o desligamento da saída quando o sinal de partida vai para “0”.
Start
Reset
Saída Q
Tempo
FUNÇÕES MATEMÁTICAS
Tipo de S7 S7 S7
Qde Bits Range
dado 300 1200 1500
Int 16 -32768 a +32767 X X X
Dint 32 -2147483648 a +2147483647 X X X
Real 32 +1.175495e-38 a +3.402823e+38 X X X
+2.2250738585072014e-308 a
64 X
LReal 1.7976931348623158e+308
USint 8 0 a 255 X X
Uint 16 0 a 65535 X X
Sint 8 -128 a +127 X X
Lint 64 -9223372036854775808 a 9223372036854775807 X
UDint 32 0 to 4294967295 X X
ULint 64 0 to 18446744073709551615 X
Byte 8 -128 a 127 ou 0 a 255 X X X
Word 16 -32768 a 65535 X X X
Dword 32 -2147483648 to 4294967295 X X X
Lword 64 -9223372036854775808 to 18446744073709551615 X
FUNÇÃO “Calculate”
Esta função é utilizada para definir e executar uma expressão matemática ou operação
lógica, de acordo com o tipo de dado selecionado na interface. Essa função facilita muito a
elaboração de funções matemáticas, pois em softwares anteriores ao Tia Portal, era
necessário a utilização de vários blocos individuais para realizar uma expressão
matemática.
Para utilizar a função calculate, assim como qualquer outra instrução matemática, é
necessário somente “chamar” a instrução para network do bloco onde se deseja realizar o
calculo:
Exemplo de sintaxe
Conforme citado anteriormente a ideia foi calcular a média de alguns valores, portanto ao
inserir a expressão (IN1+IN2+IN3+IN4+IN5)/(IN6) soma-se as 5 entradas e divide-se pelo
conteúdo da entrada IN6, obtendo-se assim o resultado da expressão na variável chamada
“Resultado”, inserida na saída OUT conforme abaixo.
Selecione o tipo de dado a ser utilizado para somar os dados, o mesmo deve estar
coerente com as variáveis utilizadas nas entradas:
Parâmetros
FUNÇÃO “MIN”
A instrução “MIN” compara os valores atuais das entradas e envia para saída o menor
valor encontrado. O número de entradas pode ser expandido através do box de instrução
“additional inputs” . As entradas são enumeradas de forma ascendente sendo que o
range permitido é de no mínimo duas e no máximo 100.
Parâmetros
Exemplo:
Obs: A função “MAX” funciona de forma semelhante, sendo sua estrutura de parâmetros
exatamente igual, onde a diferença está em enviar para saída o valor máximo encontrado.
FUNÇÃO “LIMIT”
A instrução “Set limit Value” é utilizada para limitar a faixa de trabalho do valor enviado
para saída em função dos valores definidos nas entradas MN e MX. Se o valor da entrada
IN estiver na condição: MN <=IN <= MX, então IN é copiado para saída. Agora se o valor da
entrada IN estiver abaixo da entrada MN, o valor da saída é setado para o valor definido
na entrada MN, e se o valor de IN for maior que o definido na entrada MX, é enviado para
saída o valor definido na entrada MX.
Parâmetros
Exemplo:
Sumário
BLOCO DE DADOS (DB) E SUA UTILIZAÇÃO ........................................................................................ 5
FAIXA DE APLICAÇÃO.......................................................................................................................... 5
TIPOS DE DADOS NO STEP 7 ............................................................................................................... 6
Visão geral .......................................................................................................................................... 6
Tipos de dados elementares .......................................................................................................... 7
Tipos de dados complexos ............................................................................................................. 9
PLC Data Types (UDT) ....................................................................................................................... 11
CRIANDO UM BLOCO DE DADOS GLOBAL (DB) – DATA BLOCK........................................................ 12
ATRIBUTOS DO BLOCO DE DADOS ................................................................................................... 13
INSERINDO OS TAGS ......................................................................................................................... 14
UTILIZANDO O BLOCO DE DADOS SEM ACESSO AO BLOCO OPTIMIZADO (Optimized block access)
.......................................................................................................................................................... 15
MONITORANDO UM BLOCO DE DADOS........................................................................................... 16
SNAPSHOT (captura instantânea dos dados) ................................................................................... 17
RETENTIVIDADE (“Retain”) ............................................................................................................... 20
EXEMPLO DE UTILIZAÇÃO EM UM BLOCO LÓGICO .......................................................................... 21
Os blocos de dados são utilizados para armazenar dados do usuário. Como acontece com os
blocos lógicos, os blocos de dados ocupam espaço na memória do usuário (work memory). Os
blocos de dados contêm variáveis (tags - por ex.: valores numéricos) que são utilizadas no
programa. Os blocos de dados são também frequentemente usados como uma “interface” entre
a CPU e os dispositivos de IHM (interface homem-máquina).
O programa do usuário (OB/FC/FB) pode utilizar os dados de um bloco de dados através de
operações bit, byte, word (palavra) ou doubleword (palavra-dupla). O Acesso pode ser feito
através do nome atribuído ao elemento (TAG DB) ou através de seu endereço absoluto
(endereçamento “tradicional”).
FAIXA DE APLICAÇÃO
Os blocos de dados podem ser utilizados diretamente pelo usuário dependendo de sua
natureza. Uma distinção é feita entre:
Bloco de dados globais são criados ou pelo editor de programas ou de acordo com uma UDT
(tipo de dado definido pelo usuário) criada previamente.
Os blocos de dados instance são criados quando um bloco de função é chamado.
Visão geral
Tipos de dados elementares são predefinidos de acordo com a norma IEC 61131-3. Eles
sempre têm um comprimento inferior ou igual a 64 bits e pode ser processado com
instruções elementares do Step 7.
▪ L – Long
Variáveis com extensão “L” representam um inteiro com o comprimento
de 64 bits. LWORD, LINT, ULINT, LREAL.
Exemplo:
Tipos de dados complexos contêm estruturas de dados que podem ser feitos de tipos de
dados elementares e / ou complexos. Tipos de dados complexos pode ser usado para a
declaração de variáveis apenas nos blocos de dados globais e dentro de blocos para a
declaração de variáveis locais (TEMP, STAT), bem como parâmetros (IN, OUT e INOUT).
Variáveis de tipos de dados complexos não podem ser completamente processados com
instruções elementares (tais como, A, S, L, T, +i), mas apenas os componentes individuais
do tipo de dados elementar.
Exemplos:
PLC data types são tipos de dados definidos pelo usuário que são usados como modelos
para declarar parâmetros e variáveis de tipos de dados complexos (por exemplo, variáveis
de estrutura). UDTs são criados com o editor de bloco de dados e contêm uma estrutura de
dados que é constituído por tipos de dados elementares e / ou complexos.
Na declaração de uma variável de acordo com o tipo de dados UDTS, uma variável de
estrutura é criada cujos dados estrutura interna é definida por um UDT. UDTs pode ser
usado para a declaração de variáveis em blocos de dados globais e dentro de blocos de
declaração de variáveis locais (TEMP,STAT), bem como os parâmetros (IN, OUT e INOUT).
Exemplo:
Os blocos de dados são criados da mesma maneira como os blocos lógicos. Na criação de um
bloco de dados você pode optar em atribuir um número manualmente ou deixar que o número
seja fornecido automaticamente, onde será atribuído sempre o próximo número de bloco de
dados que estiver livre. Também é possível através da aba de informações adicionais (Additional
information) cadastrar itens que servirá para documentação do bloco, tais como titulo,
comentário, versão, família, autor, código de identificação ID.
2
3
1. Execute a função Add new block, que está localizado dentro da pasta Program block e
selecione Data Block.
2. Digite o nome que será atribuído ao bloco de dados.
3. Selecione o tipo de bloco de dados que será criado (Global DB).
4. A numeração do bloco de dados pode ser de forma automática ou manual.
5. Opcionalmente você pode atribuir informações adicionais ao bloco de dados.
6. Confirme a criação do bloco de dados utilizando o botão “OK”.
Através do atributo "Only Store in Load Memory" ("unlinked"), você pode transferir o bloco
de dados para a área de carga de memória (“load memory”) da CPU, somente leitura.
INSERINDO OS TAGS
Todos os TAG´s que serão utilizados pelo bloco de dados deverão ser cadastrados, com seus
tipos de dados correspondentes, e também deverá ser verificado os atributos desejados
para cada elemento do bloco.
Name (nome) Nome da variável (TAG). Este nome é único, ou seja, não permite repetições dentro do mesmo
bloco de dados.
Data Type (tipo de dados) Tipo de dado que será atribuído ao TAG, podendo ser do tipo elementar ou complexo.
Start Value (valor inicial) Valor que a CPU irá processar dentro do bloco assim que o mesmo for transferido pela primeira
vez ou reiniciado.
Retain (valor inicial) Indica se o conteúdo do TAG será retido mesmo com a CPU desligada.
Accessible from HMI (acesso Com o atributo marcado, é possível acessar que a IHM tenha acesso ao TAG.
através da IHM)
Visible in HMI (visualizado Com o atributo marcado, é possível visualizar o TAG pela IHM diretamente da lista de TAGs do
pela IHM) CLP, sem a necessidade de ter que realizar um cadastro novo na IHM.
UTILIZANDO O BLOCO DE DADOS SEM ACESSO AO BLOCO OPTIMIZADO (Optimized block access)
Quando o bloco de dados é configurado para trabalhar SEM o acesso optimizado, uma nova
coluna surge no editor de bloco de dados, chamada Setpoint. Nesta coluna serão atribuídos
os endereços de memória física de cada TAG podendo assim, opcionalmente, a utilização
além do nome do TAG o seu endereço. Para utilização com instruções que utilizem tipo de
dados no formato ponteiro (#P) obrigatoriamente esta opção deverá estar desmarcada.
Sempre que o atributo Optimized block access for alterado, é necessário que o bloco de
dados seja compilado para que as alterações passam a estar disponíveis.
Todos os blocos de dados podem ser monitorados diretamente pelo editor do bloco ou
também pode ser utilizado uma tabela Watch onde neste caso também é possível modificar
os valores de cada TAG.
Com a ferramenta SNAPSHOT é possível capturar os valores atuais dos TAGs de um bloco
de dados. Esses valores ficam em uma nova coluna, onde é possível a qualquer momento
devolver os valores para o bloco de dados e também transferir os valores capturados para
a coluna de valores iniciais (start value), possibilitando que ao transferir ou reiniciar um
bloco de dados, os valores sejam iniciados com os que foram capturados com o SNAPSHOT.
1. Selecione o comando Snapshot para copiar (capturar) valores atuais para a coluna
Snapshot.
3. Selecione o comando para copiar os valores atuais para Snapshot, apenas dos TAGs
selecionados com o atributo Setpoint.
5. Inicializa Setpoint, apenas os itens marcados como Setpoint serão copiados de Valor
inicial para valores atuais.
RETENTIVIDADE (“Retain”)
Toda vez que a CPU mudar o seu modo de funcionamento de STOP para RUN, todos os TAG´s
que não foram selecionados para reter o valor (Retain) serão zerados. Os que estivem com o
atributo habilitado permanecerão com seus valores no momento da transição do modo da CPU.
Para ler ou escrever em um bloco de dados utilizamos as instruções padrões, ou seja, não existe
a necessidade de uso de instruções especificas para trabalhar com um bloco de dados, assim
como é feito com áreas de Memória, Entradas e Saídas.
Você pode digitar o nome do TAG sobre a instrução desejada, ou selecionar o TAG na lista
através da caixa de TAG´s sou simplesmente você pode selecionar o TAG em Details view e
“arrastar” sobre a instrução.
Sumário
OPERANDOS LOCAIS E GLOBAIS ......................................................................................................... 5
Operandos Globais ......................................................................................................................... 5
Operandos Locais ........................................................................................................................... 5
OPERANDO LOCAL - VARIÁVEIS TEMPORÁRIAS ................................................................................ 7
DECLARAÇÃO DE PARÂMETROS FORMAIS ..................................................................................... 8
CHAMANDO UM BLOCO PARAMETRIZADO – FC (FUNÇÃO) .......................................................... 9
CHAMANDO UM BLOCO PARAMETRIZADO – FC (FUNÇÃO) ............................................................ 10
TESTANDO UM BLOCO PARAMETRIZADO ........................................................................................ 11
INSTANCIANDO FBs (BLOCO DE FUNÇÃO) ....................................................................................... 12
Através da interface do bloco, seja um OB/FC/FB é possível criar operandos locais para serem
utilizados na lógica do programa. Apenas o operando Static está disponível para blocos de
funções (FB). Veja abaixo os tipos de operando disponíveis nos blocos.
Operandos Globais
Operandos globais são utilizadas em todo o programa S7. Assim, cada bloco lógico (OB, FC, FB)
pode acessar esses operandos.
Os operandos globais incluem os operandos tradicionais do CLP - entradas, saídas, bits de
memórias, temporizadores, contadores, constantes e variáveis - que são declaradas em blocos
de dados globais (DB).
Operandos Locais
Operandos locais são válidos apenas no bloco em que foram declarados na interface de
declaração. Assim, somente podem ser acessados através de instruções contidas no mesmo
bloco.
Variáveis temporárias podem ser declaradas em qualquer bloco lógico (OB, FC, FB)
e são gerenciados na pilha da CPU de dados local. Assim, eles só mantêm seus
valores enquanto o bloco está sendo executado, por esse motivo não existe a
possibilidade de valores serem armazenados em variáveis temporárias para serem
resgatados em outros ciclos da CPU.
As variáveis temporárias têm como principais utilizações realizações de cálculos
complexos ou conversões de formatos numérico.
• Parâmetros formais
Parâmetros formais existem em todos os blocos FC e FB. São utilizados para realizar
um intercâmbio de dados entre o bloco que está realizando a chamada e o bloco
em questão. São os parâmetros de INPUT, OUTPUT, INOUT.
• Constantes
Constantes são valores que têm um acesso só de leitura e que não ocupam
qualquer espaço de memória fixa.
As variáveis são definidas na parte de declaração do bloco. O nome da variável e o tipo de dados
deve ser especificado.
Você não pode pré-definir a variável com um valor inicial. Depois de salvar o bloco, o endereço
relativo (local de armazenamento) da variável na pilha de L é exibido na coluna Offset. Para isso,
o bloco deve estar com a opção Optimized block access desabilitado, nos atributos do bloco
localizado nas propriedades do mesmo.
Os valores contidos dentro das variáveis temporárias apenas terão validade dentro do bloco,
não sendo possível acessar seu conteúdo através de outro local.
Com blocos otimizados, todas as variáveis temporárias são inicializadas com valor 0 no início da
execução do bloco. Com blocos não optimizados, todas as variáveis temporárias têm um valor
indefinido no início da execução do bloco. Para não haver problemas com valores inválidos é
importante que as variáveis temporárias recebam valores antes de serem utilizadas.
Operandos que começam com o caractere # (especial) são operandos locais (parâmetros ou
variáveis locais) que devem ser declaradas na parte de declaração do bloco. Operandos locais
só são válidas e utilizáveis no bloco em que foram declarados. O Editor do programa insere
automaticamente o caractere #.
Os parâmetros formais devem ser declarados na área de interface do bloco, podendo ser IN
(entrada), OUT (saída) ou INOUT (entrada e saída).
Os termos entradas e saídas utilizados como parâmetro referem-se a entrada e saída do bloco
e não tem relação direta com entradas (I) e saídas (Q) do campo.
Sempre que um parâmetro utilizado no bloco tenha a necessidade de leitura e escrita o mesmo
deve ser cadastrado como INOUT. Exemplo, variáveis utilizadas para realizar detecção de
pulsos.
Para utilizar o parâmetro nas instruções, basta selecionar e arrastar sobre o elemento, ou
você pode digitar o nome desejado.
O bloco pode ser chamado através da pasta Program Blocks. Basta selecionar e arrastar em
cima de uma linha de programa. Automaticamente, será solicitado todos os parâmetros
utilizados pelo bloco. Para FCs os parâmetros são de uso obrigatório e não pode ficar sem
variáveis. Já para FBs, a atribuição de uma variável ao parâmetro é opcional, sendo que todos
os parâmetros estão condidos em um DBI.
1. Selecione no Portal View a pasta Program Blocks, FC 3, arraste para a linha de programa
2. Preencha todos os parâmetros (<??.?>) com os TAGs (endereço absoluto ou simbólico). O
tipo do dado deve ser respeitado.
O mesmo bloco parametrizado pode ser chamado quantas vezes forem necessários, sendo para
cada chamada é possível alterar os TAGs que serão enviados pela interface.
Sempre que um bloco tiver sofrido alterações em sua interface IN, OUT, INOUT, as chamadas
deverão ser atualizadas. Todas que estiverem com erro ficarão vermelhas e não será possível
realizar a função de download.
Para testar a lógica programada dentro do FC utilizamos a função Monitor. Porém, quando este
FC é chamado mais de uma vez é necessário que entre no bloco a ser monitorado através da
chamada do bloco. Se você optar em abrir o bloco diretamente e simplesmente ativar a função
monitor, será mostrado os valores das variáveis referentes a primeira chamada do bloco.
Clique com o botão direito do mouse sobre a chamada do bloco que gostaria de visualizar.
Selecione a opção Open and monitor. Desta forma, será mostrado os valores referente a
chamada selecionada.
Ao contrário das funções (FCs), blocos de função (FBs) possuem uma memória. Isso significa que
um bloco de dados local é atribuído ao bloco de função. Este bloco de dados é conhecido como
um bloco de dados instance (DBI).
Quando você chamar um bloco de função (FB), você também tem que especificar o número da
instância do DB que será utilizado. Caso este bloco não exista será criado pelo próprio Step 7.
Um DB Instance é usado para salvar variáveis estáticas, entre outras coisas. Estes operandos
locais só podem ser usados pelo FB. Todos os valores contidos nos operandos são armazenados
e mantidos no bloco de dados instanciado.
Quando o bloco de função é chamado, os valores reais dos parâmetros são armazenados no
bloco de dados instância. Se parâmetros reais não forem atribuídos a um parâmetro formal em
uma chamada de bloco, então o último valor armazenado no banco de é usado na execução do
programa.
Sumário
VISÃO GERAL ...................................................................................................................................... 5
Conversão Analógico para Digital (ADC) ........................................................................................ 5
Precisão / Resolução ...................................................................................................................... 6
Visualização da faixa de medição com uma resolução de 13 bits e 16 bits ................................... 6
Faixas de medição .......................................................................................................................... 7
CONFIGURAÇÃO DA PLACA / CPU ...................................................................................................... 8
Channel Template (modelo de configuração) ................................................................................ 9
Endereçamento ............................................................................................................................ 11
LEITURA / ESCRITA DOS SINAIS ANALÓGICOS – BLOCO DE PROGRAMA ......................................... 12
Leitura Analógica .......................................................................................................................... 12
Escrita Analógica .......................................................................................................................... 14
VISÃO GERAL
Os sinais digitais podem assumir apenas 2 estados de sinal: sinal de estado 1 (tensão presente)
e estado de sinal 0 (nenhuma tensão presente). Em engenharia de controle, é frequentemente
necessário ler e processar sinais analógicos, além de sinais binários. Em contraste com os sinais
binários, os sinais analógicos assumem qualquer número de valores dentro de um intervalo
específico. Variáveis analógicas possíveis incluem:
• Temperatura
• Pressão
• Velocidade
• Nível
• etc
1. Valor analógico
2. Valor digital
Precisão / Resolução
As figuras abaixo mostram a aproximação de um valor analógico por meio de uma curva
escalonada. A baixa resolução só retorna uma aproximação grosseira da curva real
(figura à esquerda), enquanto que a aproximação é mais precisa em resoluções mais
altas (figura da direita).
1. Valor analógico
2. Valor digital
O valor medido unipolar de um módulo com uma resolução de 13 bits (12 bits = + S) é
segmentado em um total de incrementos de 212 = 4096. O menor incremento em uma
faixa de medição de 0 a 10 V é de 10 V / 4096, igual a 2,4 mV.
Um módulo de 16 bits (15 bits = + S) resolução prevê, assim, um incremento de 0,3 mV.
Se a resolução aumenta um pouco, o número de incrementos dobra e a largura de um
incremento cai pela metade.
Se a resolução aumenta de 13 bits para 16 bits, o número de incrementos aumenta oito
vezes de 4096 a 32768. Com uma resolução de 13 bits, o menor valor que pode ser
exibido é de 2,4 mV. Por outro lado, este valor é de aproximadamente 0,3 mV em uma
resolução de 16 bits.
Faixas de medição
Habilita/Desabilita
indicação de erros de
Overflow e ou Underflow e
quebra de fio
Endereçamento
A sintaxe dos endereços a serem utilizados no programa deve sempre ser conter a seguinte
estrutura:
De acordo com a norma IEC 62061, os endereços analógicos serão representados pelo SIMATIC
STEP 7 da seguinte forma:
%IW0:P para o terceiro canal analógico de entrada
%IW2:P para o quarto canal analógico de entrada
%IW4:P para o terceiro canal analógico de entrada
%IW6:P para o quarto canal analógico de entrada
%QW0:P para o primeiro canal analógico de saída
%QW2:P para o segundo canal analógico de saída
Através da carta de tarefas Basic Instructions encontramos todos o set de instruções disponível
para trabalharmos com a CPU que está sendo utilizada em Device Configuration. Sendo assim,
apenas estará disponível as instruções que forem compatíveis.
Para a linha S7-1500 os blocos de escala para leituras analógicas (entrada) e escritas analógicas
(saída) estão disponíveis na pasta Conversion operations, Legacy.
Leitura Analógica
Para utilizar os blocos, selecione e arraste para a linha desejada (drag & drop).
Todos os parâmetros contidos na instrução deverão ser preenchidos, obrigatoriamente.
Onde,
Parâmetros de entrada
IN INT Entrada analógica a ser escalonada (0-27648)
HI_LIM REAL Limite máximo da escala (500.0 = 10V)
LO_LIM REAL Limite mínimo da escala (0.0 = 0V)
BIPOLAR BOOL Leitura unipolar (0) ou bipolar (1)
Parâmetros de saída
RET_VAL WORD 0=leitura OK, 8=estouro de faixa
OUT REAL Valor escalonado (0-500)
Escrita Analógica
Onde,
Parâmetros de entrada
IN REAL Valor a ser escalonado para a saída analógica
HI_LIM REAL Limite máximo da escala (100.0 = 10V)
LO_LIM REAL Limite mínimo da escala (0.0 = 0V)
BIPOLAR BOOL Leitura unipolar (0) ou bipolar (1)
Parâmetros de saída
RET_VAL WORD 0=leitura OK, 8=estouro de faixa
OUT INT Saída analógica a receber valor escalonado (0-27648)
Bipolar (-+10V)
Unipolar (0 a 10V)
Sumário
TIPOS DE BLOCOS DE PROGRAMA ..................................................................................................... 5
BLOCOS DE ORGANIZAÇÃO (OB) – Organization Blocks ................................................................ 6
FUNÇÕES (FC) – Functions.............................................................................................................. 6
BLOCO DE FUNÇÕES (FB) – Function Block .................................................................................... 6
BLOCO DE DADOS (DB) – Bloco de Dados ...................................................................................... 6
BLOCOS DE ORGANIZAÇÃO (OB) ........................................................................................................ 7
OBs de Partida (OB100) - Startup ................................................................................................... 9
OBs de Interrupção por tempo de dia (OB10) – Time-of-day ...................................................... 10
OBs de Interrupção cíclica (OB30) – Cyclic Interrupt ................................................................... 11
Phase Shift – Desvio de fase ......................................................................................................... 12
OBs de Interrupção de Hardware (OB40) – Hardware Interrupt ................................................. 13
OBs para maninulação de erros assíncronos ............................................................................... 14
OBs para manipulação de erros síncronos ................................................................................... 14
BLOCOS
O sistema de automação (CLP) fornece vários tipos de blocos onde podem ser escritos e
armazenados programas do usuário e dados relacionados ao programa. Dependendo da
necessidade e requisitos do processo, o programa pode ser estruturado em diferentes blocos.
Todas as instruções de programação podem ser utilizadas em qualquer bloco de programa (OBs,
FCs e FBs).
Cíclico
Hardware Sistema
Operacional
Startup
Processo por interrupção
Time-of-day
Hardware
Diagnóstico
Uma Função (FC) contém uma sub-rotina do programa. Funções podem ser programadas como
parametrizáveis, deste modo quando a função é chamada, parâmetros devem ser atribuídas a
ela. Funções são idealmente apropriadas para programas frequentemente complexos na forma
de sub funções, tais como cálculos.
Os blocos de dados são áreas de dados do programa do usuário nas quais os dados do usuário
são gerenciados de modo estruturado.
Propriedades
As quantidades e tipos de OBs disponíveis podem ser diferentes em função da família a ser
utilizada (S7-1200 ou S7-1500) bem como seu modelo e versão.
Para criar um bloco de organização, é utilizado os mesmos métodos para criação dos demais
blocos, FC, FB e DB. Veja a sequência de como criar um bloco:
4
3
1. Execute a função Add new block, que está localizado dentro da pasta Program block e
selecione Organization Block.
2. Selecione o tipo de OB você deseja criar.
3. A numeração do bloco de organização pode ser de forma automática ou manual.
4. Opcionalmente, é possível alterar o nome do bloco de organização.
5. Confirme a criação do bloco de organização utilizando o botão “OK”.
OBs de Partida são processados somente uma vez quando o modo de operação da CPU muda
de modo STOP para RUN. Quando o OB de partida tiver seu processamento encerrado é que
iniciará o processamento do OB cíclico.
Você pode determinar as condições limites para o comportamento de partida de sua CPU, por
exemplo, os valores iniciais de TAGs assim que a CPU entrar em modo RUN. Você irá escrever
um programa em um OB de partida. Este OB tem como seu número padrão o 100, porém é
possível alterar este número para qualquer um acima de 200 que ainda não esteja sendo
utilizado. Também é possível criar e utilizar mais de um OB de partida. Desta forma, será
executado os OBs pela ordem numérica.
Não existe limite de tempo para execução dos OBs de partida. Por esta razão, a monitoração de
tempo de ciclo não estará ativada.
Automático Manual
Quando energizado a CPU Seleção de Modo Stop para
RUN, via hardware ou software
Cíclico
Execução OB cíclico – OB 1
OBs de interrupção por tempo de dia são processados quando a data configurada para execução
do bloco for igual ao relógio do CLP. Após a primeira execução do bloco, é verificado o período
que deverá ser executado o bloco, que pode ser apenas uma vez ou a cada minuto, hora, dia,
mês e ano.
Além disso, os blocos de interrupção por tempo de dia podem ser controlados através de um
bloco de programa do usuário, podendo assim redefinir os parâmetros previamente
configurados. Para isto, utilizamos as instruções a seguir:
Este OB tem como seu número padrão o 10, porém é possível alterar este número para qualquer
um acima de 200 que ainda não esteja sendo utilizado. Também é possível criar e utilizar mais
de um OB de partida. Desta forma, será executado os OBs pela ordem numérica.
Este OB tem como seu número padrão o 30, porém é possível alterar este número para qualquer
um acima de 200 que ainda não esteja sendo utilizado. Também é possível criar e utilizar mais
de um OB de partida. Desta forma, será executado os OBs pela ordem numérica.
Tempo de intervalo
OB30 OB30
OB1 OB1 O B1 OB1 OB1 OB1 OB1 O
Tempo
de ciclo
Os blocos de organização de interrupção cíclica não podem ser alterados seus parâmetros
através de instruções estendidas através de programas do usuário.
Para OBs de interrupção cíclica, você pode iniciar os programas periodicamente. Por esta razão,
você deve inserir um tempo de varredura (scan time) e um desvio de fase (phase shift) para
cada OB de interrupção cíclica utilizado, principalmente no caso da utilização de mais de um OB
de interrupção cíclica.
Para ter acesso a configuração do tempo da fase, altere os parâmetros através das propriedades
do bloco.
Ao utilizar diversos OBs de interrupção cíclica, você deve atribuir um tempo de varredura
diferente ou um desvio de fase para cada OB de interrupção cíclica para evitar execuções
simultâneas ou uma fila. Quando um OB de interrupção cíclica é criado, um tempo de varredura
de 100ms e um desvio de fase de 0ms é inserido como valor inicial padrão.
Você pode utilizar OBs de interrupção de hardware para responder à eventos específicos. Neste
caso, você somente pode atribuir um OB de interrupção de hardware a um evento que dispara
uma interrupção. Diversos eventos podem ser atribuídos a um OB de interrupção de hardware.
Interrupções de hardware podem ser disparadas por contadores de alta velocidade e canais de
entrada. Para cada contador de alta velocidade e canal de entrada que devem disparar uma
interrupção de hardware, as seguintes propriedades devem ser parametrizadas:
• O número de OBs de interrupção de hardware que estão atribuídos para este evento de
processo.
Você pode usar até 50 OBs simultaneamente independentes de interrupção de hardware em seu
programa. Números dos OBs devem ser configurados acima do número 200.
Diagnóstico por interrupção: Módulo com função de diagnóstico de quebra de fio, erro OB 82
Reação do sistema sem OB: RUN de falta de alimentação
13. TRACE
Sumário
TRACE – ANALIZADOR DE TAGS ......................................................................................................... 5
TRACE – CRIANDO E EDITANDO ..................................................................................................... 6
Utilizando a ferramenta TRACE é possível armazenas dados de variáveis (TAGs) para serem
rastreadas e analisadas em tempo real ou posteriormente. É gerado um gráfico com registros
de leituras das variáveis.
A capacidade máxima são de 16 Tags por trace. As informações podem ser visualizadas na tela
em tempo real como também é possível salvar os dados dentro do projeto para visualizar
posteriormente em modo off-line.
O tamanho de memória que será disponibilizado pelo sistema bem como o número de traces
são de acordo com o modelo do CLP.
Para CPUs da família S7-1500 está disponível um máximo de 8 traces com 512 kbyte cada.
Atenção !
A utilização do trace aumenta o tempo de ciclo da CPU, podendo inclusive ultrapassar o valor
máximo estabelecido na configuração de hardware.
Através do editor de trace é possível criar um trace, configurar, descarregar e exportar. Ele pode
ser criado tanto em modo off-line como no modo online.
2
3
1
1. Crie um novo trace em Add new trace. Veja que será inserido um novo com o nome Trace.
Este nome, a qualquer momento pode ser alterado, caso necessite utilize o botão direito
do mouse sobre o nome e selecione Rename. Clique duas vezes sobre o nome para editá-
lo.
2. Selecione o item Signals em Configuration.
3. Insira os Tags que serão utilizados pelo trace na coluna Name. Defina a cor que será utilizado
para plotar o gráfico.
Ao término da configuração, é necessário que o trace criado seja transferido para a CPU. Utilize
o ícone Transfer trace configuration to device.
No momento que for transferido o trace para a CPU a mesma irá perguntar se deseja entrar em
modo ONLINE e habilitar o seu uso. O usuário é alertado dos riscos de aumento de tempo da
CPU.
Com o trace habilitado, uma nova janela é mostrada. Nesta o gráfico com os tags programados
estarão disponíveis para leitura.
A escala de valores dos tags podem ser alterados nos campos contidos na legenda, Min. Y scale
e Max. Y scale.
Transfere da CPU a
Exporta a configuração
configuração do trace
para o projeto
Transfira o trace para a CPU e ative o modo de leitura e gravação. Observe que será plota o
gráfico em função dos valores reais/atuais das variáveis.
O término da gravação poderá ser realizado manualmente ou automaticamente quando a área
de memória disponível para o trace for ocupada.
Ao final, grave os dados de leitura no projeto.
1 2 3
Em modo off-line é possível analisar o gráfico através do item Measurements, dentro de Traces
na árvore do projeto.
Sumário
VISÃO GERAL ...................................................................................................................................... 5
CATEGORIA DE ERROS ........................................................................................................................ 5
FUNÇÕES DE TESTES – Visão Geral..................................................................................................... 6
HARDWARE – DIAGNÓSTICO.............................................................................................................. 8
ONLINE & DIAGNOSTICS ................................................................................................................... 10
BUFFER DE DIAGNÓSTICO ................................................................................................................ 12
CALL HIERARCHY – ordem das chamadas ........................................................................................ 13
MONITORANDO BLOCOS (Block Status)........................................................................................... 14
MODIFICANDO TAG ONLINE ............................................................................................................ 15
WATCH TABLES – MONITOR/MODIFY VARIABLES – Monitor/alterar Tags ..................................... 16
FORCE TAGS / VARIABLES – Force de variáveis ................................................................................ 18
REFERÊNCIA CRUZADA PARA TAGS/VARIÁVEIS ............................................................................... 20
REFERÊNCIA CRUZADA NO EDITOR DE BLOCOS ............................................................................... 22
ASSIGNMENT LIST – Atribuição de I,Q,M,T,C ................................................................................... 23
CALL STRUCTURE – Estrutura da chama dos blocos (caminho) ....................................................... 25
VISÃO GERAL
CATEGORIA DE ERROS
Erros que ocorrem podem ser divididos em duas categorias, dependendo se são ou não
detectado pelo PLC:
• Erros que são detectados pelo sistema operacional do CLP e que podem levar ao estado da
CPU como parado.
• Erros funcional, ou seja, a CPU executa o programa, como de costume, mas a função
desejada não é executada na totalidade ou é executada de forma incorreta. A pesquisa para
estes tipos de erros é muito mais difícil, uma vez que a causa do erro é inicialmente difícil
de determinar.
• Um erro de programação lógica (erro de software) que não foi detectada durante a criação
e execução inicial do programa do usuário (comissionamento) e, provavelmente, ocorre
apenas em ocasiões extremamente raras.
• Uma falha de processo que foi provocado pelo funcionamento defeituoso de componentes
diretamente relacionados com o controle do processo, tais como cabos para sensores /
atuadores ou por um defeito no próprio sensor / atuador.
Aquisição, avaliação e indicação de erros de uma Função programada não é executada sempre ou
CPU (modo stop) não é executada corretamente
Utilizando o Step 7 TIA V13, existem vários tipos de funções de testes para solução de
problemas, dependendo do tipo de erro causado:
Para os erros que são detectados pelo sistema, as funções de teste de identificação do
diagnóstico, hierarquia de chamada, pilha de dados local e diagnósticos de hardware são
obtidos informações detalhadas sobre a causa do erro e a localização da interrupção.
Com a programação de OBs de erro (veja o capítulo sobre Blocos de organização), as
informações sobre o erro que ocorreu podem ser avaliadas e tratadas pelo programa e a
transição da CPU no estado STOP pode ser prevenida.
Se a CPU parou, a utilização das funções de testes Modificar Variável e Monitor de Blocos
faz pouco sentido, porque a CPU não lê e também não processa as imagens de saídas, e
também não executa o programa neste modo.
Com a CPU em modo RUN os erros podem ser analisados através do módulo de informações
que registra todos os erros ocorridos com a CPU, porém esses erros correspondem a
informações antigas e não em tempo real.
o Função “Force”
▪ Forçar o controle do operando (I/Q) independentemente da lógica do
programa.
o Pontos de interrupção
▪ Executar o programa em passos individuais.
STOP RUN
• Erro de programa (sem OB121) • Falha de processo (ex. quebra de fio)
• Tempo de varredura estourado • Erro de lógica (endereço repetido)
RUN
• Erro de acesso
• Interrupção de diagnóstico
HARDWARE – DIAGNÓSTICO
2
3
Símbolo Significado
Sem falha
Erro de software. As versões off-line e online estão diferentes. Visualizado apenas na árvore do projeto.
Módulo inexistente.
A função ONLINE & DIAGNOSTICS possibilita ao usuário obter informações em tempo real do
estado da CPU/Módulos, bem como realizar leitura de dados importantes que auxiliarão na
detecção e solução de eventuais problemas encontrados ou realizar uma análise detalhada de
velocidade real de processamento da CPU, uso de memória, leitura do relógio, etc.
Todas as informações estão divididas em dois tipos que podem ser acessados e lidos:
• Diagnósticos
o General
o Diagnostic status
o Diagnostics buffer
o Cycle time
o Memory
o Dysplay
o Profinet Interface
• Funções
o Assign IP address
o Set time
o Firmware update
o Assign name
o Reset to factory settings
o Format memory card
o Save service data
General
Entre outras coisas, a designação do módulo, hardware e versões de firmware.
Diagnostic Status
Verifica se a CPU/Módulo está presente e em funcionamento.
Diagnostic Buffer
Contém todos os eventos de diagnóstico na ordem em que ocorreram.
Memory
Tamanho e uso da memória EPROM de carga, carga de memória RAM e da memória
de trabalho.
Cycle Time
Exibe o tempo de monitoração selecionado, o mais curto, o mais longo e o tempo de
ciclo corrente.
Time System
Exibe o relógio em tempo real e o contador de horas de funcionamento integrado.
Communication
Exibe os dados de desempenho das interfaces de comunicação e a visão geral de
conexão.
BUFFER DE DIAGNÓSTICO
5 4 3
LAD
FBD
STL
Exemplos:
Resultado lógico operacional verdadeiro a linha será sólida e representada na cor verde.
Resultado lógico operacional falso a linha será tracejada e representada na cor azul.
Para utilizar, selecione o operando e utilize o botão direito do mouse, Modify/Modify to ...
Você pode escolher as colunas exibidas na tabela Watch através do menu View. As colunas
possuem os seguintes significados:
Coluna Significado
Name Nome simbólico de um Tag (variável)
Address Endereço absoluto de um Tag (variável)
Symbol comment Comentário relacionado ao Tag selecionado na coluna Name
Display format Você pode escolher o tipo do formato do dado a ser visualizado
Modifica o estado da
variável em função do
trigger configurado
Modifica o estado da
variável por um ciclo
Habilita/desabilita a
coluna Modify
Ativa o status da tabela
em apenas um ciclo
Adiciona linhas
Ativa o status da tabela
na tabela
ciclicamente
Habilita/desabilita as
colunas Trigger
Habilita as saídas de
periferia (CPU em
modo STOP)
As tabelas Watch possibilitam que o momento exato a ser lido ou modificado uma ou mais
variáveis possa ser escolhido pelo usuário através dos Trigger Points. Esta leitura ou escrita pode
ser realizada no início de um ciclo, fim do ciclo ou quando a CPU entrar em modo STOP.
As condições de atualização de leitura das variáveis são chamadas de Trigger Condition for
Monitoring e para modificar recebe o nome de Trigger Condition for Modifying.
PII
Trigger point
Início da varredura cíclica
Execução
do
programa Trigger point
Transição para STOP
cíclico
Trigger point
Fim da varredura cíclica
PIQ
Utilizando a ferramenta Force table, você pode estabelecer valores pré-definidos para as
variáveis (tags), independente do programa do usuário.
Apenas uma janela de Force table poderá ser aberta para cada CPU.
Para retirar/desligar um force, apenas será possível utilizando a função Stop Forcing (ícone na
barra de ferramentas da tabela force).
A lista de referência cruzada oferece uma visão geral do uso de operandos e variáveis (tags)
dentro do programa do usuário. A partir da lista de referência cruzada, você pode ir diretamente
ao local onde o mesmo está sendo utilizado, de forma ágil e fácil.
A referência cruzada é utiliza no projeto por inteiro, exemplo, é possível através de um TAG
localizar em qual tela da IHM está sendo utilizado.
A tela de referência cruzada pode ser aberta de várias formas diferentes e de forma especifica
de um elemento. Para referência dos TAGS, basta clicar com o botão direito do mouse sobre a
pasta PLC tags e selecionar o item Cross-references – F11.
Existem dois modos de exibição da lista de referências cruzadas que se diferenciam pelo qual
os objetos são exibidos na primeira coluna:
Used by
Exibe os elementos referenciados. São exibidos os locais onde estão sendo utilizados.
Os links para acesso ao local (azul) já estão disponíveis na própria tela de referência.
Uses
Exibe os elementos referenciados. Para ter acesso ao local de seu uso é necessário utilizar
a janela INFO (inspetor).
Através da lista de atribuições dos elementos I,Q,M,T,C é possível ter uma visão panorâmica de
todos os endereços (bit/byte/word/dword) que estão sendo utilizados pelo programa do
usuário. Com isso, é possível localizar endereços vazios que possam ser utilizados em uma
eventual ampliação do sistema.
Parta ter acesso a lista de atribuições, clique com o botão direito do mouse sobre a pasta PLC
tags e selecione o item Assignment list.
Cada linha da tabela contém um byte de área de memória, onde os 8 bits são identificados de
acordo com o acesso. Também é possível verificar se o acesso ao endereço de memória foi
realizado por Byte, Word, Dword ou Lword.
A representação é feita através de um losango, sobre cada bit utilizado. Ao selecionar o losango,
automaticamente estará disponível a referência cruzada do elemento na janela inspetor. Os bits
que estiverem sem o losango e não esteja pintado na cor cinza escuro, significa que não está
sendo utilizado.
Quando os endereços forem utilizados por Byte, Word, Dword ou Lword, será representado
através de uma linha delimitando o início e fim do endereço, sobre seu tipo de dado. Neste
caso, os bits não estão preenchidos por losango, mas serão pintados de cor cinza escuro para
que o usuário não utilize de forma equivocada um endereço que já está em uso.
Com o CALL STRUCTURE é possível verificar a hierarquia de chamada dos blocos no programa
do usuário da seguinte forma: