Escolar Documentos
Profissional Documentos
Cultura Documentos
Manual
STEP 7 Professional
Manual do Aluno
Índice 2-89
Índice
O que é o TIA Portal? .............................................................................................................................................. 5
O que é o STEP 7? .................................................................................................................................................. 6
Componentes do hardware da linha S7-1200 .......................................................................................................... 7
CPU ..................................................................................................................................................................... 7
Fonte de Alimentação (PS ou PM) ...................................................................................................................... 8
Signal Board ........................................................................................................................................................ 8
Módulo de Entrada .............................................................................................................................................. 9
Módulo de Saída.................................................................................................................................................. 9
Módulo de Comunicação ................................................................................................................................... 10
Funcionamento do PLC ......................................................................................................................................... 11
Como criar um projeto............................................................................................................................................ 12
Como adicionar um dispositivo PLC ...................................................................................................................... 14
Área de memória.................................................................................................................................................... 17
Tamanho dos dados .......................................................................................................................................... 18
O que é OB, FC, FB, DB ........................................................................................................................................ 20
Organization Block (OB) .................................................................................................................................... 20
Function Block (FB) ........................................................................................................................................... 21
Function (FC) ..................................................................................................................................................... 22
Data Block (DB) ................................................................................................................................................. 23
Linguagem de Programação .................................................................................................................................. 24
Instruções básicas ................................................................................................................................................. 26
Contato normalmente aberto ............................................................................................................................. 26
Contato normalmente fechado........................................................................................................................... 26
Bobina ou atribuição .......................................................................................................................................... 27
Definir saída – Bobina Tipo Set ......................................................................................................................... 27
Redefinir saída– Bobina Tipo Reset .................................................................................................................. 27
Borda de Subida – P.......................................................................................................................................... 28
Borda de Descida – N ........................................................................................................................................ 28
Temporizadores ................................................................................................................................................. 28
TIPO TON ..................................................................................................................................................... 29
TIPO TOFF.................................................................................................................................................... 29
TIPO TP ........................................................................................................................................................ 29
Contadores ........................................................................................................................................................ 30
Contador crescente - CTU............................................................................................................................. 30
Contador decrescente - CTD......................................................................................................................... 31
Instruções Matemáticas ..................................................................................................................................... 31
Adição – ADD ................................................................................................................................................ 31
Índice 3-89
Exercício 9 ......................................................................................................................................................... 79
Exercício 10 ....................................................................................................................................................... 80
Exercício 11 ....................................................................................................................................................... 81
Exercício 12 ....................................................................................................................................................... 82
Exercício 13 ....................................................................................................................................................... 83
Exercício 14 ....................................................................................................................................................... 86
Exercício 15 ....................................................................................................................................................... 89
O que é o TIA Portal? 5-89
Além desses benefícios, por ser uma plataforma global, o TIA Portal dispõe de manuais traduzidos em diversas
línguas, como inglês, alemão, francês, italiano, espanhol, português, etc.
O que é o STEP 7? 6-89
O que é o STEP 7?
É o ambiente dentro da plataforma TIA Portal responsável por fornecer recursos para desenvolvimento da
estrutura do hardware e software de um PLC.
Componentes do hardware da linha S7-1200 7-89
Signal Board
São módulos que podem ser conectados diretamente na parte frontal da CPU e permite fácil expansão de I/Os
digitais ou analógicos, mantendo o tamanho físico compacto do controlador.
Componentes do hardware da linha S7-1200 9-89
Módulo de Entrada
São módulos que fazem a interface com sinais de entrada de campo, podendo ser digitais ou analógicos
dependendo da necessidade. (Exemplos: chaves de nível, sensores de nível, transmissores de pressão,
temperatura, botões liga / desliga, emergência, abandono, etc.)
Módulo de Saída
São módulos que fazem a interface com sinais de saída de campo, podendo ser digitais ou analógicos
dependendo da necessidade. (Exemplos: solenoides, sirenes, comandos para válvulas proporcionais, etc.)
Componentes do hardware da linha S7-1200 10-89
Módulo de Comunicação
É utilizado para permitir que o PLC estabeleça comunicação com outros dispositivos na rede de acordo com a
capacidade do módulo.
Funcionamento do PLC 11-89
Funcionamento do PLC
1 – O Processador do CLP lê continuamente os status dos módulos de entrada e atualiza a memória de
imagem das entradas
3 – O Processador do CLP ativa ou desativa os canais dos cartões de saída, baseados nos status da
memória imagem das saídas.
House keeping
(Atualização da
memória interna 1
de diagnósticos) Leitura das
5 Entradas
2
Serviços de SCAN
Comunicação
Execução do
4 programa
aplicativo
3
Atualização das saídas
Descrição:
2- Tempo requerido pela CPU para executar todas as instruções presentes no programa aplicativo. Este
tempo depende das instruções utilizadas.
Observação:
O SCAN é medido em milissegundos (ms). Para se medir o tempo de SCAN de uma aplicação é necessário
utilizar-se de um terminal de programação (microcomputador rodando o software TIA Portal) e estabelecer
comunicação com a CPU e acessar a janela de Diagnósticos do CLP.
Como criar um projeto 12-89
3- Preencha “Project Name”, “Path” (local onde irá criar o arquivo) e “Author” (isso sairá no relatório
automático do TIA Portal).
4- Clique em “Create”.
Como adicionar um dispostivo PLC 14-89
4- Escolha CPU 1214C DC/DC/DC -> 6ES7 214-1AG40-0XB0 (terceira opção), selecione a versão de firmware e
clique em “Add”
Como adicionar um dispostivo PLC 16-89
5- Ao clicar no botão “Add” o software irá alterar o modo de visualização para “Project View”.
Veja que é apresentado o hardware selecionado, e caso necessário adicionar módulos de expansão (entradas e
saídas digitais e analógicas, módulos de comunicação entre outros, é possível efetuar nesta tela.
Área de memória
São elementos de memória que cada CPU disponibiliza para o programa do usuário, como a imagem do
processo de entrada e saída, a memória de bits, temporizadores e contadores. Através do uso de operações
apropriadas no seu programa de usuário, você aborda os dados diretamente na respectiva área de operações.
Área de memória 18-89
Tamanho
Endereço Descrição Tipo de dado Faixa de valores
(bits)
WORD 0...65535
%MW 16 Palavra inteira
INT -32768 ... 32767
DWORD 0...4294967295
Palavra duplo inteira
DINT -2147483648 ... 2147483647
-3.402823E+038 ...
%MD 32
-1.175494E-038
Palavra real (ponto flutuante) REAL
a
Área de Operação
Área de memória da CPU Descrição
Bit Byte Word Double word
entradas dos módulos de entrada e
Process image input I IB IW ID salva os valores na Process image
input
Durante o ciclo, o programa calcula
os valores das saídas e as coloca na
Process image output Q QB QW QD Process image output. No final do
ciclo, a CPU grava os valores de
saída calculados nos módulos de
Esta área fornece armazenamento
Bit memory M MB MW MD para resultados intermediários
calculados no programa.
Esta área contém os dados locais
temporários de um bloco enquanto o
bloco está sendo processado. A pilha
Local data L LB LW LD
L também fornece memória para
transferir parâmetros de bloco e
para salvar resultados
As áreas de entrada e saída
Direct peripheral input area PIB PIW PID periféricas permitem acesso direto a
módulos de entrada e saída
Direct peripheral output area PQB PQW PQD distribuídos e centrais.
O bloco de dados armazena
informações para o programa. Eles
Data block
DBX DBB DBW DBD podem ser definidos para que todos
[OPN] DB
DIX DIB DIW DID os blocos de código possam acessá-
[OPN] DI
los (DBs globais) ou atribuídos a um
FB ou SFB específico (DB de
Esta área fornece armazenamento
Timer T T
para temporizadores.
Esta área fornece armazenamento
Counter C C
para contadores.
Function (FC)
São blocos de código sem memória. Os dados das variáveis temporárias são perdidos após o
processamento da função. Para salvar os dados de forma permanente, podem ser usados blocos de
dados globais para as funções.
As funções podem ser aplicadas, por exemplo, para as seguintes finalidades:
• Retornar valores de funções ao bloco que realizou a chamada, por exemplo, em funções matemáticas;
• Executar funções tecnológicas, por exemplo, controladores individuais com operações lógicas binárias.
Em uma função podem ser chamados outros FBs e FCs.
O que é OB, FC, FB, DB 23-89
Linguagem de Programação
Existem diversas linguagens de programação disponíveis dentro do TIA Portal podendo ser escolhida diferentes
linguagens de acordo com o que você precisa e/ou prefere. Cada rotina de programação pode ter uma
linguagem diferente, selecionada quando o usuário está criando a mesma.
As linguagens podem ser Ladder (LAD), Diagrama de Blocos (FBD), Lista de Declarações (STL), Linguagem de
Controle Estruturado (SCL) e Fluxograma de Processo (GRAPH).
A linguagem LAD é uma linguagem gráfica e o editor verificará e adicionará todo o procedimento necessário
para tornar a lógica inteira segura / confiável para programador. É bom para lógica básica, mas extensas e/ou
complexas não podem ser implementados pelo LAD.
A linguagem FBD é uma linguagem gráfica que pode descrever a função entre variáveis de entrada e variáveis
de saída. Uma função é descrita como um conjunto de blocos elementares. As variáveis de entrada e saída são
conectadas a blocos por linhas de conexão.
A linguagem STL, é o idioma semelhante aos códigos de máquina e é difícil porque é responsabilidade de todos
os programadores garantir a execução de códigos sem erros. Todos os diagramas gráficos podem ser
convertidos em STL, mas o inverso nem sempre é correto. É difícil para os novatos rastrear e é adequado para
usuários profissionais.
A linguagem SCL é um idioma de nível superior, é como PASCAL e é adequado para gerenciamento de dados e
loops. Algum algoritmo complexo, equações de cálculo extensivas podem ser implementadas com ótimas
estruturas disponíveis no SCL. Para pessoas que conhecem linguagens de programação de alto nível, São as
melhores opções.
Linguagem de Programação 25-89
A linguagem GRAPH é um tipo de diagrama que representa um algoritmo que mostra as etapas como caixas de
vários tipos e sua ordem conectando-as com setas. Esta representação diagramática ilustra um modelo de
solução para um determinado problema. Os fluxogramas são usados na concepção de processos ou programas
simples. Como outros tipos de diagramas, eles ajudam a visualizar o que está acontecendo e, assim, ajudam a
entender um processo, e talvez também encontrem falhas, estrangulamentos e outros recursos menos óbvios
dentro dele.
Instruções básicas 26-89
Instruções básicas
Abordaremos as instruções referentes a linguagem LAD.
Dois ou mais contatos normalmente abertos são ligados bit a bit por AND quando conectados em série. Com
uma conexão em série, a energia flui quando todos os contatos estão fechados.
Os contatos normalmente abertos são vinculados por OR quando conectados em paralelo. Com uma conexão
paralela, a energia flui quando um dos contatos está fechado.
Dois ou mais contatos normalmente fechados são ligados bit a bit por AND quando conectados em série. Com
uma conexão em série, a energia flui quando todos os contatos estão fechados.
Os contatos normalmente fechados são vinculados por OR quando conectados em paralelo. Com uma conexão
paralela, a energia flui quando um dos contatos está fechado.
Instruções básicas 27-89
Bobina ou atribuição
Você pode usar a instrução "Atribuição" para definir o bit de um operador especificado. Se o resultado da
operação lógica (RLO) na entrada da bobina tiver o estado de sinal "1", o operador especificado é configurado
para indicar o estado "1". Se o estado do sinal for "0" na entrada da bobina, o bit do operador especificado será
reiniciado para "0".
A instrução não influencia o RLO. O RLO na entrada da bobina é enviado diretamente para a saída.
Borda de Subida – P
Você pode usar a instrução N para determinar se há uma alteração de "0" a "1" no estado do sinal de um
operando especificado (<Operador1>). A instrução compara o estado atual do sinal de <Operador1> com o
estado do sinal da varredura anterior, que é salva em um bit de memória de borda (<Operador2>). Se a
instrução detectar uma alteração no resultado da operação lógica (RLO) de "0" para "1", haverá uma margem
positiva de sinal.
Borda de Descida – N
Você pode usar a instrução N para determinar se há uma alteração de "1" a "0" no estado do sinal de um
operando especificado (<Operador1>). A instrução compara o estado atual do sinal de <Operador1> com o
estado do sinal da varredura anterior, que é salva em um bit de memória de borda (<Operador2>). Se a
instrução detectar uma alteração no resultado da operação lógica (RLO) de "1" para "0", haverá uma margem
negativa de sinal
Temporizadores
Entre os temporizadores existentes no S7-1200, iremos citar os tipos TON, TOFF e TP. Cada bloco utilizado
necessita a criação de um DB associado.
Significado das conexões dos temporizadores:
IN: Entrada do temporizador para iniciar a contagem de tempo;
Q: Saída, ativa conforme o tipo de temporizador selecionado;
PT: Seleciona o tempo de contagem, deve sempre iniciar por T# seguido do número e a unidade de tempo
(ms para milissegundos, s para segundos, m para minutos, h para hora...). Ex: T#10m, o tempo selecionado foi
de 10 minutos.
ET: Exibe o tempo decorrido do temporizador.
Instruções básicas 29-89
TIPO TON
O temporizador do tipo TON é ON_DELAY e realiza a contagem do tempo enquanto a entrada IN estiver
acionada, ao atingir o tempo selecionado em PT a saída Q muda seu valor de 0 para 1.
TIPO TOFF
O temporizador do tipo TOFF é OFF_DELAY e realiza a contagem do tempo a partir do momento que a entrada
IN muda seu valor logico de 1 para 0, a saída Q muda seu valor de 0 para 1 quando a entrada IN é acionada e
só retorna para o estado 0 quando o temporizador atingir o tempo selecionado. Se a entrada IN ficar acionada o
temporizador não realiza a contagem de tempo.
TIPO TP
O temporizador TP é do tipo Pulso e realiza a contagem do tempo a partir do momento que a entrada IN muda
seu valor logico de 0 para 1, a saída Q muda seu valor de 0 para 1 quando a entrada IN é acionada e só retorna
para o estado 0 quando o temporizador atingir o tempo selecionado.
Instruções básicas 30-89
Contadores
Entre os temporizadores existentes no S7-1200, iremos citar os tipos CTU e CTD. Cada bloco utilizado necessita
a criação de um DB associado.
Instruções Matemáticas
Adição – ADD
Você pode usar a instrução de ADD para adicionar o valor na entrada IN1 e o valor na entrada IN2 e consultar o
resultado da soma na saída OUT (OUT: = IN1 + IN2).
No seu estado inicial, a caixa de instruções contém pelo menos 2 entradas (IN1 e IN2). O número de entradas
pode ser estendido. As entradas inseridas são numeradas em ordem crescente na caixa. Quando a instrução é
executada, os valores de todos os parâmetros de entrada disponíveis são adicionados. A soma é armazenada
na saída OUT.
Instruções básicas 32-89
Subtração – SUB
Você pode usar a instrução SUB para subtrair o valor na entrada IN1 e o valor na entrada IN2 e consultaro
resultado da subtração na saída OUT (OUT: = IN1 - IN2).
No seu estado inicial, a caixa de instruções contém pelo menos 2 entradas (IN1 e IN2). O número de entradas
pode ser estendido. As entradas inseridas são numeradas em ordem crescente na caixa. Quando a instrução é
executada, os valores de todos os parâmetros de entrada disponíveis são subtraidosdos. A subtração é
armazenada na saída OUT.
Multiplicação – MUL
Você pode usar a instrução MUL para multiplicar o valor na entrada IN1 e o valor na entrada IN2 e consultar o
resultado da multiplicação na saída OUT (OUT: = IN1 * IN2).
No seu estado inicial, a caixa de instruções contém pelo menos 2 entradas (IN1 e IN2). O número de entradas
pode ser estendido. As entradas inseridas são numeradas em ordem crescente na caixa. Quando a instrução é
executada, os valores de todos os parâmetros de entrada disponíveis são multiplicados. A multiplicação é
armazenada na saída OUT.
Divisão - DIV
Você pode usar a instrução DIV para dividir o valor na entrada IN1 pelo valor da entrada IN2 e consultar o
resultado da divisão na saída OUT (OUT: = IN1 / IN2).
No seu estado inicial, a caixa de instruções contém pelo menos 2 entradas (IN1 e IN2). O número de entradas
pode ser estendido. As entradas inseridas são numeradas em ordem crescente na caixa. Quando a instrução é
executada, os valores de todos os parâmetros de entrada disponíveis são adicionados. A soma é armazenada
na saída OUT.
Instruções básicas 33-89
Sinal Analógico
Entrada - IW
Para utilização do sinal analógico nas entradas utilizamos IW seguido do endereço do canal analógico.
Saída – QW
Para utilização do sinal analógico nas saídas utilizamos QW seguido do endereço do canal analógico.
Instruções básicas 34-89
Comparadores
Igual
Você pode usar a instrução "Igual" para determinar se um primeiro valor de comparação (<Operador1>) é igual a
um segundo valor de comparação (<Operador2>).
Se a condição da comparação for cumprida, a instrução retorna o resultado da operação lógica (RLO) "1". Se a
condição de comparação não for cumprida, a instrução retorna RLO "0".
Diferente
Você pode usar a instrução "Diferente" para determinar se um primeiro valor de comparação (<Operador1>) não
é igual a um segundo valor de comparação (<Operador2>).
Se a condição da comparação for cumprida, a instrução retorna o resultado da operação lógica (RLO) "1". Se a
condição de comparação não for cumprida, a instrução retorna RLO "0".
Instruções básicas 36-89
Maior que
Você pode usar a instrução "Maior" para determinar se um primeiro valor de comparação (<Operador1>) é maior
a um segundo valor de comparação (<Operador2>). Ambos os valores a serem comparados devem ser do
mesmo tipo de dados.
Se a condição da comparação for cumprida, a instrução retorna o resultado da operação lógica (RLO) "1". Se a
condição de comparação não for cumprida, a instrução retorna RLO "0".
Menor que
Você pode usar a instrução "Menor" para determinar se um primeiro valor de comparação (<Operador1>) é
menor a um segundo valor de comparação (<Operador2>). Ambos os valores a serem comparados devem ser
do mesmo tipo de dados.
Se a condição da comparação for cumprida, a instrução retorna o resultado da operação lógica (RLO) "1". Se a
condição de comparação não for cumprida, a instrução retorna RLO "0".
Instruções básicas 37-89
Mover valor
Você usa as instruções "Mover valor" para transferir o conteúdo do operador da entrada IN para o operador na
saída OUT1. A transferência é sempre feita quando a entrada EN é acionada.
Criando uma estrutura de lógica 38-89
Para PLCs de segurança existem rotinas específicas para o programa de segurança que se assemelham as
rotinas normais, porém tem o acesso controlado de acordo com nível de acesso de usuário.
Criando uma estrutura de lógica 39-89
Existem diversos outros tipos de rotinas, que para adicionarmos devemos clicar em “Add new block”.
Ao clicar uma pop-up se abrirá, permitindo escolher que tipo de estrutura queremos adicionar ao programa.
Criando uma estrutura de lógica 40-89
Vemos que ela nos permite alterar o nome da estrutura, a linguagem e a numeração.
As rotinas FCs e FBs precisam de chamadas para executarem sua lógica, essas chamadas devem ser feitas
dentro de uma OB. Para isso, basta selecionar e arrastar a FC ou FB desejada para dentro da OB. Obs: Ao
utilizar FB será solicitado para criar um bloco com dados de instância (DB).
Criando uma estrutura de lógica 43-89
Agora que já tem as rotinas criadas basta programa-las de acordo com a necessidade usando as instruções
conhecidas. Abaixo temos um exemplo de uma lógica feita em uma CPU 1214.
Para criar um criar DB utiliza-se os mesmos passos para cria OBs, FCs e FBs.
Para criar clique em “OK” e o DB está pronto para armazenar os dados. Agora só falta configurar os dados
dentro do DB e carrega-los no programa.
Criando uma estrutura de lógica 44-89
Criando tags (variáveis e constantes) 45-89
Clicando em “Show all tags” você verá todos tags criados. Você também pode separar os tags por tabelas para
facilitar visualização. Já existe uma tabela de tags por padrão, mas para adicionar outras basta clicar em “Add
new tag table”.
Criando tags (variáveis e constantes) 46-89
Criado a tabela de tags você já pode acionar os tags. Na coluna “Name” você insere o nome que quer atribuir ao
tag. Na coluna “Data type” você insere o tipo de dado que o tag armazenará e na coluna “Address” você coloca o
endereço da área de memória do PLC. Ainda é possível adicionar um comentário para facilitar o entendimento
sobre o que a referente tag faz
Caso queira criar um tag constante basta clicar em “User constants” e aplicar os mesmos procedimentos.
Endereçamento 47-89
Endereçamento
Para endereçar um tag ou um dado dentro de um DB, você pode utilizar a sintaxe simbólica do mesmo.
Caso queira utilizar uma área de memória especifica você deve utilizar a seguinte sintaxe de acordo com o nível
de dados:
DOUBLE WORD = %XDY X= Área de memória (I, Q, M.…) Y=Byte inicial da memória
Ex.: %ID20, %QD4, %MD55, %MD17
B# BYTE#
W# WORD#
DW# DWORD#
D# DATE#
T# TIME#
TOD# TIME_OF_DAY#
Endereçamento 48-89
S5T# S5TIME#
DT# DATE_AND_TIME#
P# POINTER#
Interrupção do ciclo de scan 49-89
Existem diversos tipos de rotinas que podem interromper o ciclo normal de operação de um CLP
a) A rotina de “Time delay interrupt” é executada quando expira o intervalo de tempo predefinido pelo
programador ou usuário (Exemplo: Um sistema de iluminação que desliga após 5s depois que o sensor foi
desacionado).
d) A rotina "Time error interrupt" OB irá interromper a execução do programa cíclico se o tempo máximo
de ciclo for excedido. O tempo máximo de ciclo é definido nas propriedades da CPU.
e) A rotina de “Diagnostic error interrupt” é executada quando um módulo capaz de diagnóstico, para o
qual a “Diagnostic error interrupt” tenha sido habilitado, reconhece um erro (Exemplo: Registrar em um datalog
quando acontece falhas de alimentação e/ou bateria de um CLP).
g) A rotina de “Rack or station failure” é executada quando um rack ou estação remota falha (Exemplo:
Registrar em um datalog quando um módulo remoto de I/O perde a comunicação com o CLP, para fins de
Supervisão).
i) A rotina de “IO acess error” é executada quando durante o acesso direto aos dados do módulo e o
parâmetro “global error handling” está habilitado (Exemplo: Disparar um alarme quando ocorre um erro de leitura
durante um acesso direto aos dados de entrada do módulo, para fins de Supervisão).
j) A rotina de “Time of day” é executada uma vez ou periodicamente de acordo com um período
especifico (Exemplo: Registrar em um datalog total de produção diária).
k) A rotina de “Synchronous cycle” é executada quando a leitura, processamento e saída de sinais de I/O
ocorre de forma síncrona e em intervalos de tempo fixos (equidistantes) (Exemplo: Registrar em um datalog o
número de atualizações dos dados de I/O da rede Profinet).
Interrupção do ciclo de scan 50-89
l) A rotina de “Status” é executada quando um módulo escravo muda o status durante o modo de
operação (Exemplo: Disparar um alarme quando um módulo escravo deixa o modo de operação).
n) A rotina de “Profile” é executada quando o PLC recebe uma interrupção específica do fabricante ou do
perfil.
Comunicação 51-89
Comunicação
Existem diversos protocolos de comunicação, porém vamos focar na rede Profinet.
As redes de comunicação são utilizadas para permitir que 2 dispositivos ou mais trocar informação/dados
livremente vencendo a barreira da distância entre os equipamentos. Também nos permite ter diagnóstico mais
fácil dos equipamentos dentro da rede.
Comunicação 52-89
Profinet
Profinet é uma rede baseada em um padrão de comunicação Ethernet Industrial com seu uso principalmente em
aplicações de automação industrial.
Foi desenvolvida na necessidade de uma rede baseada em Ethernet para os dispositivos de campo. Ex.:
motores, válvulas, inversores, sensores, etc.
Quanto a sua topologia, ela permite instalações flexíveis de linha, árvore, estrela e anel. O que significa que os
custos de cabeamento e o comissionamento é simplificado.
Por ser baseada no padrão Ethernet permite combinações de rede com fio e sem fio, portanto, podendo utilizar-
se da comunicação WLAN e bluetooth, até para dados.
Outro benefício que esta rede oferece é a troca rápido de dispositivos. Ao trocar um dispositivo Profinet, o
controlador IO detecta o novo dispositivo semelhante e automaticamente o inclui na rede.
Comunicação 53-89
Agora que vimos a respeito da rede Profinet e suas características, vamos ver como configura-la num PLC.
Dentro do seu projeto de PLC, na árvore do projeto veremos dentro da guia do PLC o item “Device
configuration”. Neste item você irá acessar as configurações do dispositivo, inclusive da rede Profinet – se o
mesmo tiver este recurso.
Após feito isso você deve dar dois cliques no ícone do PLC e depois selecionar o item “PROFINET Interface
[X1]” dentro da guia “General”.
No tópico “General” é onde podemos alterar o nome da interface Profinet, nome do autor e inserir comentários.
Comunicação 54-89
Para CPUs de segurança (Fail-safe) existe o tópico “F-paramenters” que é onde podemos configurar parâmetros
de monitoração da interface.
Agora um dos tópicos mais importantes é o “Ethernet addresses”, pois é nele onde vamos montar a rede,
definirmos o endereço IP, máscara de sub-rede, gateway e o nome do dispositivo.
Já o tópico “Time synchronization” é onde conectamos a interface a um servidor NTP para sincronizarmos a hora
do PLC com a do servidor.
Comunicação 55-89
Utiliza-se “Advanced options” para configurar parâmetros mais avançados, este tópico não é muito utilizado,
apenas para aplicações específicas. Devida sua complexidade não iremos abordar seus subitens.
Para habilitar ou desabilitar o servidor web do PLC deve-se acessar o “Web server acess”.
Comunicação 56-89
E para utilizar os bits auxiliares do PLC, selecione a aba “System and clock memory”
Descarregando um projeto no PLC 57-89
Após verificado você deve selecionar o seu PLC na árvore do projeto (1) e clicar no botão de download (2).
Após clicar para descarregar abrirá uma pop-up com as seguintes informações:
Descarregando um projeto no PLC 58-89
Configure a interface do PC para comunicar e então clique em “Start search” e aguarde finalizar a busca.
Caso tenha alguma configuração errada ou seu PLC não está na mesma rede que o PC, você terá algo parecido
com este diagnóstico.
Descarregando um projeto no PLC 59-89
Depois de alterar as configurações de comunicação do PC com o PLC (1), nota-se que o PLC foi encontrado (2)
e que depois de terminar a busca (3) podemos pressionar o botão “Load” para descarregar.
O TIA Portal irá compilar o projeto para verificar a existência de algum erro para evitar danos ao PLC. Após o
termino do compilador clique em “Load” novamente.
Descarregando um projeto no PLC 61-89
Simulando o PLC
Para simular o PLC você precisa ter instalado o S7-PLCSIM compatível com seu TIA Portal. Para verificar a
instalação você deve abrir o TIA Portal e ir na aba “Help” do menu de ferramentas. E clicar em “Installed software
...”.
Irá abrir uma pop-up com resumindo os softwares do TIA Portal instalados. Para ver se o S7-PLCSIM está
instalado deve abrir a lista detalhada, para isso clique em “Detailed information about installed software”
Simulando o PLC 63-89
Como podemos ver abaixo, todas as instalações dentro do TIA Portal. E o S7-PLCSIM está nesta lista.
Caso não tenha, basta baixar o instalador no site da Siemens e depois instalar.
Agora com o S7-PLCSIM já instalado ao seu TIA Portal você deve abrir seu projeto e clicar no botão “Start
simulation”.
Depois de carregar, o ambiente de download irá abrir. O procedimento para descarregar é o mesmo. Porém,
deve se atentar a interface de comunicação do PLC o item “PG/PC Interface” que deve ser “PLCSIM S7-
12000/S7-1500” ou “PLCSIM V5.x”.
Com o download finalizado, o S7-PLCSIM irá se comportar igual a um PLC, com funções RUN, STOP e MRES
iguais a de um PLC.
Simulando o PLC 65-89
O botão “RUN” serve para iniciar o processamento do PLC, o “STOP” é para parar o processamento e o “MRES”
é para reset de falhas do PLC.
Vale lembrar que ao utilizar o S7-PLCSIM comunicações com dispositivos de campo são inibidas. Então por
exemplo, não é possível simular um PLC e comunicar com uma IHM real.
Errors e warnings 66-89
Errors e warnings
O TIA Portal contém um recurso compilador para alertar e evitar ao programador erros e falhas dentro do
projeto, esses erros e falhas são chamados de errors ou warnings de acordo com a sua gravidade.
Detalhes pequenos que não tem potencial para danificar o PLC são classificados como warnings. Quando o
projeto contém warnings o download é permitido, mas os warnings não são eliminados até a resolução da
condição errônea.
E os outros erros que tem potencial de danificar o PLC são os erros. Quando o projeto contém erros o download
para o dispositivo fica desabilitado até a resolução do mesmo.
Para usar o compilador clique no botão “Compile”.
O compilador contém feedback que indica o local onde se encontra o erro, uma descrição, um botão para
direciona-lo, etc.
Criando data type 67-89
Clique em “Add new data type” e irá abrir uma popup com as informações para criar o data type. Nele você pode
inserir um nome, caso seu PLC seja de segurança também permitira criar um data type de segurança. Depois de
inseridas estas informaçoes basta clicar no botão “OK”.
Criando data type 68-89
Abaixo podemos ver um exemplo, onde o data type “typeUserData” foi criado e dentro do bloco “DB” foi criado o
tag “convert” com o data type “typeUserData”. Vemos que o tag agora contém a estrutura do data type
associado.
Archieve e Retrieve 69-89
Archive e Retrieve
Para facilitar o armazenamento e a movimentação dos arquivos do projeto existe dentro do TIA Portal os
recursos de Archieve e Retrieve. Os arquivos de projeto normalmente se dispõem da seguinte maneira:
Para usar estas funções basta acessar na barra de ferramentas do menu e procurar as funções Archieve (para
compactar um projeto) e Retrieve(para descompactar um projeto compactado.
Ao utilizar uma dessas funções irá abrir uma janela para indicar o diretório para onde o arquivo será enviado
após compactado (archieve) ou onde o arquivo compactado está e depois onde o projeto será restaurado
(retrieve).
Melhores praticas
Exercícios 71-89
Exercícios
Exercício 1
A figura a seguir mostra uma esteira transportadora. Existem dois botões no início da esteira: S1 para ligar
(START) e S2 para desligar (STOP). Há também dois botões no final da esteira: S3 para ligar (START) e S4
para desligar (STOP). É possível iniciar e parar a esteira de qualquer extremidade.
Resolução:
Network 1: O motor da esteira transportadora é ligado quando o botão "S1" ou "S3" é pressionado.
Network 2: O motor da esteira transportadora é desligado quando o botão "S2" ou "S4" é pressionado.
Exercícios 72-89
Exercício 2
Um motor DC com acionamentos de ligar e desligar, sendo que depois de 30 segundos de funcionamento o
motor deve desligar automaticamente.
Resolução:
O motor é ligado quando o botão "START" é pressionado e desligado quando o botão “STOP” é pressionado.
Depois que o tag “Data_block_1” atingir os 30 segundos o motor irá desligar automaticamente.
Exercício 3
O sentido de direção da esteira é indicado por uma seta para a direita ou para a esquerda. Se o material
transportado adicional se aproximando de PEB1 da direita ou PEB2 da esquerda, a seta exibida é inicialmente
desligada até que, após as duas barreiras fotoelétricas serem passadas, o sentido da esteira possa ser
detectado novamente e a seta correspondente é exibida. Para a solução da tarefa, são necessários 2 bits de
memória de borda que detectam a mudança de sinal de "0" para "1" nas duas barreiras fotoelétricas.
Resolução:
Network 1: Se o estado do sinal muda de "0" para "1" (borda positiva) na barreira fotoelétrica "PEB1" e, ao
mesmo tempo, o estado do sinal em "PEB2" é "0", o objeto na esteira está se movendo para a esquerda.
Exercícios 73-89
Network 2: Se o estado do sinal muda de "0" para "1" (borda positiva) na barreira fotoelétrica "PEB2" e, ao
mesmo tempo, o estado do sinal em "PEB1" é "0", o objeto na esteira está se movendo para a direita.
Exercício 4
A figura a seguir mostra um sistema com duas esteiras transportadoras e uma área de armazenamento
temporário entre elas. A esteira 1 entrega pacotes para a área de armazenamento. Uma barreira fotoelétrica no
final da esteira 1 perto da área de armazenamento detecta quantos pacotes são entregues na área de
armazenamento. A esteira 2 transporta pacotes da área de armazenamento temporário para uma estação de
carregamento para a qual os pacotes são carregados para entrega aos clientes por caminhão. Uma barreira
fotoelétrica na saída da área de armazenamento detecta quantos pacotes deixam a área de armazenamento
para serem transportados para a estação de carga. Cinco lâmpadas de exibição indicam a capacidade da área
de armazenamento temporário.
Exercícios 74-89
Resolução:
Network 1: Quando um pacote é entregue na área de armazenamento, o estado do sinal em "PEB1" muda de "0"
para "1" (borda do sinal positivo). Em uma borda de sinal positivo em "PEB1", o contador "Up" está habilitado e o
valor de contagem atual de "PACKAGECOUNT" é aumentado em um.
Quando um pacote é entregue da área de armazenamento para a estação de carga, o estado do sinal em
"PEB2" muda de "0" para "1" (borda do sinal positivo). Em uma borda de sinal positivo em "PEB2", o contador
"Down" está habilitado e o valor de contagem atual de "PACKAGECOUNT" é diminuído em um.
O valor de contagem atual pode ser redefinido para "0" se a tag "RESET" estiver definida no estado "1".
Se a tag "LOAD" estiver definida no estado "1", o valor de contagem atual é ajustado para o valor da tag "MAX
STORAGE AREA FILL AMOUNT". Enquanto o valor de contagem atual for maior ou igual ao valor da marca
"MAX STORAGE AREA FILL AMOUNT", a tag "STOCK_PACKAGES" fornece o estado do sinal "1".
Exercícios 75-89
Network 3: Se o número de pacotes na área de armazenamento for maior ou igual a 50, a lâmpada de " Storage
area 50% full " acende.
Network 4: Se o número de pacotes na área de armazenamento for maior ou igual a 90, a lâmpada de "Storage
area 90% full" acende.
Network 5: Se o número de pacotes na área de armazenamento chega a 100, a lâmpada de "Storage area full"
acende.
Exercícios 76-89
Exercício 5
Em uma sala fria, a temperatura deve ser mantida abaixo de zero graus Celsius. Um sensor é usado para
verificar quaisquer flutuações de temperatura. Se a temperatura subir acima de zero graus Celsius, o sistema de
resfriamento liga-se por um tempo predefinido. A lâmpada "Cooling system on" acende-se durante este tempo.
O sistema de resfriamento e a lâmpada são desligados se uma das seguintes condições for atendida:
Se o tempo de resfriamento predefinido expirou e a temperatura na sala fria ainda é muito alta, o sistema de
resfriamento pode ser reiniciado com o botão "RESET".
Resolução:
Quando a temperatura na sala fria aumenta acima de zero graus Celsius, o estado do sinal da tag "Sensor"
muda de "0" para "1" (borda positiva do sinal). No caso de uma borda de sinal positivo na entrada IN da função
timer, o tempo de resfriamento predefinido é iniciado e o "TempVariable" recebe o estado do sinal "1". O estado
do sinal "1" do "TempVariable" faz com que o sistema de resfriamento, bem como a luz do visor, seja ligado na
Exercícios 77-89
Network 2. As saídas "Sensor", "Sistema de resfriamento" e "Lâmpada" devem ser programadas na Network 2,
porque o programa permite apenas uma bobina para ser programada na saída Q da função do temporizador.
Se a temperatura na sala fria cai abaixo de zero graus Celsius, o estado do sinal do sensor volta para "0". Isso
desliga o sistema de resfriamento e a lâmpada.
Se o sensor não sinalizar uma queda de temperatura, o sistema de resfriamento e a lâmpada são desligados
após o tempo de resfriamento predefinido ter decorrido, o mais tardar. Neste caso, o processo de resfriamento
pode ser reiniciado com o botão "RESET". Pressionando e soltando o botão, gera um novo limite de sinal
positivo na entrada IN que reinicia o sistema de resfriamento.
O sistema de resfriamento e a lâmpada da tela podem ser desligados com o botão "STOP" a qualquer momento.
Exercício 6
A tarefa do PLC é controlar uma máquina que conta os componentes que se deslocam ao longo de um
transportador.
É necessário que dez componentes sejam canalizados pela via A e vinte componentes para baixo da rota B.
Resolução:
Network 1: Quando o posicionador definido pelo tag “CR1” está com o sinal indicado por “0” ele permite o fluxo
dos componentes pela via A. Cada borda de subida no sensor, de tag “MS1”, detectada pelo contador “Up” com
o tag “C1” incrementará 1 ao seu valor. Ao chegar ao valor 10 o posicionador irá permitir o fluxo para a via B e
reiniciar a zerar a contagem da via A.
Network 2: Quando o posicionador definido pelo tag “CR1” está com o sinal indicado por “1” ele permite o fluxo
dos componentes pela via B. Cada borda de subida no sensor, de tag “MS1”, detectada pelo contador “Up” com
o tag “C2” incrementará 1 ao seu valor. Ao chegar ao valor 20 o posicionador irá permitir o fluxo para a via A e
reiniciar a zerar a contagem da via B.
Resolução:
Exercícios 79-89
Quando o tag “Botão” estiver com sinal “1” o motor de tag “Motor” irá ligar e quando o botão estiver com sinal “0”
o motor irá desligar.
Exercício 8
Um botão que faça o acionamento de um motor e outro botão faça a parada do motor.
Resolução:
Quando o tag “Inicio” estiver em “1” e o tag “Parada” em “0” o motor “Motor” irá ligar e permanecerá ligado até
que o botão de parada for pressionado e o de início solto.
Exercício 9
Um botão que faça o acionamento de um motor, um botão que faça a parada do motor e um botão que faça
parada de emergência com status de falha.
Resolução:
Quando o tag “Inicio” estiver em “1” e o tag “Parada” em “0” o motor “Motor” irá ligar e permanecerá ligado até
que o botão de parada for pressionado e o de início solto. O motor irá parar em qualquer instante quando o
botão de emergência “Botão_Emergencia” estiver com sinal “1”.
Exercícios 80-89
Exercício 10
Um botão encha um taque e outro esvazia o tanque. Ao pressionar um botão o tanque enche e mantem-se
enchendo enquanto o botão estiver pressionado, ao pressionar o outro botão o tanque esvazia e mantem-se
esvaziando enquanto o botão estiver pressionado.
Resolução:
Quando o valor de “Cmd_Encher” ir para “1” e o tanque “Nível_Tanque” não estiver cheio ele irá incrementar o
nível do tanque em 1 a cada pulso a cada gerado pelo “Clock_5Hz”. O tag “Ons.”1” é responsável por criar uma
borda de sinal positivo.
Quando o valor de “Cmd_Esvaziar” ir para “1” e o tanque “Nível_Tanque” não estiver vazio ele irá decrementar o
nível do tanque em 1 a cada pulso gerado pelo “Clock_5Hz”. O tag “Ons.”2” é responsável por criar uma borda
de sinal positivo.
Se o botão “Botão_Encher” for pressionado sem o botão “Botão_Esvaziar” e o tanque não estiver cheio o tag
“Cmd_Encher” irá para sinal “1”.
Se o botão “Botão_Esvaziar” for pressionado sem o botão “Botão_Encher” e o tanque não estiver vazio o tag
“Cmd_Envaziar” irá para sinal “1”.
Com o nível de tanque em “0” é gerado o estado de “Nivel_Baixo”, e com o nível do tanque em “100” é gerado o
estado de “Nivel_Alto”.
Exercícios 81-89
Exercício 11
Simule o trabalho de um semáforo de trânsito com ciclo de 16s.
Resolução:
O temporizador “Timer” contabiliza o tempo de um ciclo de cada semáforo e reinicia automaticamente para um
novo ciclo.
Durante o período de 0s a 7s do temporizador “Timer” o Semáforo 1 irá ligar a lâmpada vermelha
“S1_Vermelho”.
Durante o período de 13s a 15s do temporizador “Timer” o Semáforo 1 irá ligar a lâmpada amarela
“S1_Amarelo”.
Durante o período de 8s a 12s do temporizador “Timer” o Semáforo 1 irá ligar a lâmpada verde “S1_Verde”.
Exercícios 82-89
Durante o período de 8s a 15s do temporizador “Timer” o Semáforo 1 irá ligar a lâmpada vermelha
“S2_Vermelho”.
Durante o período de 5s a 7s do temporizador “Timer” o Semáforo 1 irá ligar a lâmpada amarela “S2_Amarelo”.
Durante o período de 0s a 4s do temporizador “Timer” o Semáforo 1 irá ligar a lâmpada verde “S2_Verde”.
Exercício 12
Exercícios 83-89
Resolução:
Pressionando o botão “Botão_Descer” sem o botão “Botão_Subir” pressionado e sem memória do botão de
emergência “Aux_EStop” e o comando de descida da prensa “Cmd_Descer” for menor que “99” irá incrementar
em 1 a cada pulso gerado pelo “Clock_10Hz”. O tag “ONS.”1”” gera uma borda de sinal positiva.
Pressionando o botão “Botão_Subir” sem o botão “Botão_Descer” pressionado e sem memória do botão de
emergência “Aux_EStop” e o comando de descida da prensa “Cmd_Descer” for maior que “0” irá decrementar
em 1 a cada pulso gerado pelo “Clock_10Hz”. O tag “ONS.”2”” gera uma borda de sinal positiva.
Quando o botão “Botão_EStop” for pressionado seu estado vai para “1” e irá definir uma memória “Aux_EStop”
para “1” e só é redefinida para “0” pelo tag “Reset_EStop”.
Cada vez que a memória for “1” irá gerar o alarme “Alarme_9”.
Exercício 13
Processo de mistura para três tanques com fluidos diferentes e um quarto tanque para mistura, utilizar animação
para sensores de nível alto e baixo e misturador.
Resolução:
Network 1: O botão “Start” defini uma memória de inicialização “Inicio” para “1”.
Exercícios 84-89
Nework 2: Quando “Inicio” estiver em “0” o tanque “Nivel Tanque 1” irá encher até “100”, em seguida será o
“Nivel Tanque 2” e depois “Nivel Tanque 3”. O tanque do misturador “Tanque Misturador” irá esvaziar até “0”.
Network 3: Quando “Inicio” estiver em “1” os tanques “Nivel Tanque 1”, “Nivel Tanque 2” e “Nivel Tanque 3” irão
esvariar e encher o tanque “Tanque Misturador” até “100”.
Exercícios 85-89
Network 4: Quando o tanque “Tanque Misturador” atingir “100” irá ligar o misturador “Misturar” por 3 segundos e
redefinir “Inicio” para “0”.
Exercícios 86-89
Network 5: Com o “Tanque Misturador” em “0” o sensor “Sensor Nivel Baixo” é acionado, e com o tanque em
“100” o sensor “Sensor Nivel Alto” é acionado.
Exercício 14
Processo de mistura para três tanques com fluidos diferentes e um quarto tanque para mistura, utilizar animação
para sensores de nível alto e baixo e misturador. Deve conter 3 receitar predefinidas.
Resolução:
Network 1: O botão “Start” defini uma memória de inicialização “Inicio” para “1” quando tiver uma receita
selecionada, seja ela “Receita 1” ou “Receita 2” ou “Receita 3”. Os níveis dos tanques “Nivel Tanque 1”, “Nivel
Tanque 2” e “Nivel Tanque 3” devem ser equilaventes ou superiores aos valores de cada receita. Para
inicialização da receita também é necessário que “Tanque Misturador” esteja “0”.
Exercícios 87-89
Network 2: Quando não tem a memória de inicialização “Inicio” e temos uma receita selecionada, seja ela
“Receita 1”, “Receita 2” ou “Receita 3” os tanques “Nivel Tanque 1”, “Nivel Tanque 2” e “Nivel Tanque 3” irão ser
enchidos até o nível definido por cada receita. O tanque “Tanque Misturador” irá esvaziar até “0” também.
Exercícios 88-89
Network 3: Quando “Inicio” estiver em “1” os tanques “Nivel Tanque 1”, “Nivel Tanque 2” e “Nivel Tanque 3” irão
esvariar e encher o tanque “Tanque Misturador” até “100”.
Network 4: Quando o tanque “Tanque Misturador” atingir “100” irá ligar o misturador “Misturar” por 3 segundos e
redefinir “Receita 1”, “Receita 2”, “Receita 3” e “Inicio” para “0”.
Network 5: Com o “Tanque Misturador” em “0” o sensor “Sensor Nivel Baixo” é acionado, e com o tanque em
“100” o sensor “Sensor Nivel Alto” é acionado.
Exercícios 89-89
Exercício 15
Crie um relógio digital.
Resolução:
Network 1: Enquanto a saída “Timer.Q” do temporizador “Timer” não for “1” ele incrementará o tempo. Quando
atingido o tempo ele irá incrementar a tag “Segundos” até “59” com uma borda de sinal positiva gerada por
“ONS.%X0” e reiniciará “Timer”.
Network 2: Quando “Timer.Q” for “1” ele irá incrementar “Minutos” se “Segundos” for igual a “59” e “Minutos”
menor que “59”, redefinirá “Segundos” para “0” e reiniciará “Timer”.
Irá incrementar “Horas” se “Minutos” e “Segundos” forem iguais a “59” e “Horas” menor que “23”, redefinirá
“Minutos” e “Segundos” para “0” e reiniciará “Timer”.
Se “Horas” for igual a “23” e “Minutos” e “Segundos” forem iguais a “59” redefinirá “Horas”, “Minutos” e
“Segundos” para “0” e reiniciará “Timer”.