Você está na página 1de 89

TIA Portal v14

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

Subtração – SUB .......................................................................................................................................... 32


Multiplicação – MUL ...................................................................................................................................... 32
Divisão - DIV ................................................................................................................................................. 32
Sinal Analógico .................................................................................................................................................. 33
Entrada - IW .................................................................................................................................................. 33
Saída – QW................................................................................................................................................... 33
Valores Analógicos – Entradas ..................................................................................................................... 34
Valores Analógicos – Saídas ........................................................................................................................ 34
Conversão de Valores Analógicos .................................................................................................................... 35
Comparadores ................................................................................................................................................... 35
Igual .............................................................................................................................................................. 35
Diferente........................................................................................................................................................ 35
Maior ou igual que......................................................................................................................................... 36
Menor ou igual que ....................................................................................................................................... 36
Maior que ...................................................................................................................................................... 36
Menor que ..................................................................................................................................................... 36
Mover valor ........................................................................................................................................................ 37
Criando uma estrutura de lógica ............................................................................................................................ 38
Criando tags (variáveis e constantes).................................................................................................................... 45
Endereçamento ..................................................................................................................................................... 47
Interrupção do ciclo de scan .................................................................................................................................. 49
Comunicação ......................................................................................................................................................... 51
Profinet .............................................................................................................................................................. 52
Descarregando um projeto no PLC ....................................................................................................................... 57
Simulando o PLC ................................................................................................................................................... 62
Errors e warnings ................................................................................................................................................... 66
Criando data type................................................................................................................................................... 67
Archive e Retrieve.................................................................................................................................................. 69
Melhores praticas................................................................................................................................................... 70
Exercícios .............................................................................................................................................................. 71
Exercício 1......................................................................................................................................................... 71
Exercício 2......................................................................................................................................................... 72
Exercício 3......................................................................................................................................................... 72
Exercício 4......................................................................................................................................................... 73
Exercício 5......................................................................................................................................................... 76
Exercício 6......................................................................................................................................................... 77
Exercícios integrados com Treinamento de IHM ................................................................................................... 78
Exercício 7......................................................................................................................................................... 78
Exercício 8......................................................................................................................................................... 79
Índice 4-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

O que é o TIA Portal?


O TIA Portal é uma plataforma da Siemens desenvolvida para facilitar a implementação de soluções de
automação, esta plataforma unifica todas as ferramentas de software de automação em um único ambiente de
desenvolvimento.
Tornando possível programar aplicações integradas de controladores, inversores, IHMs com economia de
tempos, custos e esforço de engenharia.

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

Componentes do hardware da linha S7-1200


CPU
Unidade Central de Processamento. É o cérebro do CLP. É responsável pela execução do programa aplicativo
que controla a(s) planta(s) dentro da plataforma. (Exemplo: Controle dos geradores, fogo e gás, separador de
óleo / gás, etc.). A CPU contém as seguintes conexões disponíveis:

 A alimentação do CLP (podendo ser CC ou CA dependendo do modelo da CPU);


 Saída de alimentação para as entradas;
 Entradas digitais e entradas analógicas (dependendo do modelo da CPU);
 Saídas digitais e saídas analógicas (dependendo do modelo da CPU);
 Conexão frontal para Signal Board;
 Entrada para cartão de memória;
 Conexões laterais para expansões,
 Conexão para comunicação.
Componentes do hardware da linha S7-1200 8-89

Fonte de Alimentação (PS ou PM)


É utilizada para a energização da CPU, permitindo a alimentação dos circuitos eletrônicos do PLC e módulos
instalados.

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

2 – O Processador do CLP executa continuamente a lógica de programa do usuário, baseada nas


informações da memória de imagem das entradas. A medida que o CLP executa cada linha de programa ele
atualiza a sua memória de imagem das saídas;

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

Figura 1 - Ciclo de SCAN

Descrição:

1- Tempo requerido pela CPU para varrer e ler todas as entradas.

2- Tempo requerido pela CPU para executar todas as instruções presentes no programa aplicativo. Este
tempo depende das instruções utilizadas.

3- Tempo requerido pela CPU para varrer e escrever em todas as saídas.

4- Parte do ciclo de operação em que ocorre a comunicação com o terminal de programação.

5- Housekeeping é o tempo gasto com atualização dos registros internos de diagnósticos.

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

Como criar um projeto


Para criarmos um projeto temos que realizar os seguintes passos:

1- Abra o TIA Portal

2- Clique em “Create new Project”, para criar um novo projeto


Como criar um projeto 13-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

Como adicionar um dispositivo PLC


Para adicionarmos um PLC ao projeto temos que realizar os seguintes passos:

1- Clique em “Configure a device”.

2- Clique em “Add new device”


Como adicionar um dispostivo PLC 15-89

3- Expandir a seção SIMATIC S7-1200

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.

1- Menu de barra de ferramentas


2- Navegador de projeto
3- Área de trabalho
4- Cartões de tarefa
5- Janela de Inspeção
6- Alterar para modo Portal View
7- Barra de Edição

6- Clique em “Save Project”


Área de memória 17-89

Á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 dos dados

Tamanho
Endereço Descrição Tipo de dado Faixa de valores
(bits)

%I 1 Entrada digital BOOL 0/1 – falso/verdadeiro

%IB 8 Byte de entradas digitais BYTE 0...255

%IW 16 Palavra de entradas digitais WORD 0...65535

%PIW 16 Entrada analógica INT 0...27648

%Q 1 Saída digital BOOL 0/1 – falso/verdadeiro

%QB 8 Byte de saídas digitais BYTE 0...255

%QW 16 Palavra de saídas digitais WORD 0...65535

%PQW 16 Saída analógica INT 0...27648

%M Bit de memória BOOL 0/1 – falso/verdadeiro

%MB Byte BYTE 0...255

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

1.175494E-038 ... 3.402823E+038


Área de memória 19-89

Á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.

Exemplo de acesso normal de I/O através da imagem do processo

Exemplo de acesso direto à I/O através da área de memória de I/O


O que é OB, FC, FB, DB 20-89

O que é OB, FC, FB, DB


Organization Block (OB)
Formam a interface entre o sistema operacional e o programa do usuário.
Eles são chamados pelo sistema operacional e controlam as seguintes operações:
• Comportamento de inicialização do sistema de automação;
• Processamento cíclico do programa;
• Processamento do programa controlado por alarme;
• Tratamento de erros.
.
O que é OB, FC, FB, DB 21-89

Function Block (FB)


Contêm subprogramas que são executados sempre que um bloco de função for chamado por outro bloco de
código.
São blocos de código que armazenam os seus valores de maneira permanente em blocos de dados de
instância, de forma que estes estarão disponíveis mesmo após o processamento do bloco. O FB necessita de
um espaço de memória atribuído para cada chamada (instância). Quando um FB é chamado, um bloco de
dados (DB) pode ser atribuído como DB de instância. Quando este for chamado várias vezes, diferentes
espaços de memória deverão ser atribuídos a um FB. Em uma função podem ser chamados outros FBs e FCs.
.
O que é OB, FC, FB, DB 22-89

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

Data Block (DB)


Os DBs são usados para disponibilizar espaço de memória para as variáveis de dados. Existem dois tipos de
blocos de dados: DBs globais, onde todos os OBs, FBs e FCs podem ler os dados armazenados ou gravar
dados no DB, e DBs de instância, que são atribuídos a um determinado FB. Blocos de dados não contém
nenhuma instrução, e sim dados variáveis com os quais o programa de usuário trabalha. O tamanho máximo dos
blocos de dados varia dependendo da CPU. A estrutura dos blocos de dados globais pode ser livremente
definida.

Os exemplos de aplicação são:

Armazenamento de informações; Armazenamento de receitas..


Linguagem de Programação 24-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).

Essas linguagens são suportadas pelos programas da seguinte maneira:

OB: LAD, FBD, STL e SCL.


FC: LAD, FBD, STL e SCL.
FB: LAD, FBD, STL, SCL e 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.

Contato normalmente aberto


A ativação do contato normalmente aberto depende do estado do sinal do operador associado. Quando o
operador tem o estado do sinal "1", o contato normalmente aberto fecha e o estado do sinal na saída é ajustado
para o estado do sinal da entrada.
Quando o operador tem o estado de sinal "0", o contato normalmente aberto não está ativado e o estado do sinal
na saída da instrução é reiniciado para "0".

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.

Contato normalmente fechado


A ativação do contato normalmente fechado depende do estado do sinal do operador associado. Quando o
operador tem o estado de sinal "1", o contato normalmente fechado se abre e o estado do sinal na saída da
instrução é reiniciado para "0".
Quando o operando tem o estado do sinal "0", o contato normalmente fechado não está ativado e o estado do
sinal da entrada é transferido para a saída.

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.

Definir saída – Bobina Tipo Set


Você pode usar a instrução "Definir saída" para definir o estado do sinal de um operador especificado como "1".
A instrução só é executada se o resultado da operação lógica (RLO) na entrada da bobina for "1". Se a energia
flui para a bobina (RLO = "1"), o operador especificado é definido como "1". Se o RLO na entrada da bobina for
"0" (sem fluxo de sinal para a bobina), o estado do sinal do operador especificado permanece inalterado.

Redefinir saída– Bobina Tipo Reset


Você pode usar a instrução "Redefinir saída" para redefinir o estado do sinal de um operador especificado para
"0".
A instrução só é executada se o resultado da operação lógica (RLO) na entrada da bobina for "1". Se a energia
flui para a bobina (RLO = "1"), o operador especificado é reiniciado para "0". Se o RLO na entrada da bobina for
"0" (sem fluxo de sinal para a bobina), o estado do sinal do operador especificado permanece inalterado.
Instruções básicas 28-89

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.

Contador crescente - CTU


Você pode usar a instrução CTU para incrementar o valor no CV de saída. Quando o estado do sinal na entrada
CU muda de "0" para "1" (borda positiva do sinal), a instrução é executada e o valor do contador atual na saída
do CV é incrementado por um. O valor do contador é incrementado sempre que uma borda de sinal positivo é
detectada, até atingir o limite alto para o tipo de dados especificado no CV de saída. Quando o limite alto é
atingido, o estado do sinal na entrada CU já não tem efeito nas instruções.
Você pode consultar o status do contador na saída Q. O estado do sinal na saída Q é determinado pelo
parâmetro PV. Se o valor atual do contador for maior ou igual ao valor do parâmetro PV, a saída Q é configurada
para indicar o estado "1". Em todos os outros casos, a saída Q possui o estado do sinal "0".
O valor na saída do CV é reiniciado para zero quando o estado do sinal na entrada R muda para "1". Enquanto a
entrada R tiver o estado de sinal "1", o estado do sinal na entrada CU não tem efeito nas instruções.
Instruções básicas 31-89

Contador decrescente - CTD


Você pode usar a instrução CTD para diminuir o valor no CV de saída. Quando o estado do sinal na entrada do
CD muda de "0" para "1" (borda do sinal positivo), a instrução é executada e o valor do contador atual na saída
do CV é diminuído por um. Cada vez que uma borda de sinal positivo é detectada, o valor do contador é
diminuído até atingir o limite inferior do tipo de dados especificado. Quando o limite baixo é atingido, o estado do
sinal na entrada do CD já não tem efeito nas instruções.
Você pode consultar o status do contador na saída Q. Se o valor do contador atual for menor ou igual a zero, a
saída Q é configurada para indicar o estado "1". Em todos os outros casos, a saída Q possui o estado do sinal
"0".
O valor na saída do CV é definido como o valor do parâmetro PV quando o estado do sinal na entrada LD muda
para "1". Enquanto a entrada LD tiver o estado de sinal "1", o estado do sinal na entrada do CD não tem efeito
sobre a instrução.

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

Valores Analógicos – Entradas


Valores disponíveis para as entradas analógicas para utilização dentro do CLP.

Valores Analógicos – Saídas


Valores disponíveis para as saídas analógicas para utilização dentro do CLP.
Instruções básicas 35-89

Conversão de Valores Analógicos


Exemplo de lógica para conversão de sinais analógicos para utilização no CLP

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 ou igual que


Você pode usar a instrução "Maior ou igual" para determinar se um primeiro valor de comparação (<Operador1>)
é maior ou igual 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 ou igual que


Você pode usar a instrução "Menor ou igual" para determinar se um primeiro valor de comparação
(<Operador1>) é menor ou igual 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".

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

Criando uma estrutura de lógica


Para criarmos a estrutura de lógica devemos começar pela rotina OB1, que é gerada automaticamente com o
PLC. A rotina OB1 é responsável por controlar todas as demais rotinas do programa.

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.

Depois de inseridos os dados da estrutura basta clicar em “OK”.


Criando uma estrutura de lógica 41-89

E temos a estrutura adicionada.

Este processo é semelhante também para as FCs e FBs.


Criando uma estrutura de lógica 42-89

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

Criando tags (variáveis e constantes)


Além dos endereços dentro dos DBs existe o recurso para se criar tags vinculadas a uma área de memória do
PLC como I, Q e M. Para acessar a área dos tags você procurar o grupo “PLC Tags”.

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:

BIT = %XY.Z X=Área de memória(I, Q, M....) Y=Byte da memória Z=Bit da memória


Ex.: %I23.5, %Q0.3, %M19.2, %M3.0

BYTE = %XBY X= Área de memória (I, Q, M.…) Y=Byte inicial da memória


Ex.: %IB12, %QB5, %MB7, %MB19

WORD = %XWY X= Área de memória (I, Q, M.…) Y=Byte inicial da memória


Ex.: %IW225, %QW175, %MW265, %MW115

DOUBLE WORD = %XDY X= Área de memória (I, Q, M.…) Y=Byte inicial da memória
Ex.: %ID20, %QD4, %MD55, %MD17

Para acessar o bit de um Byte, Word ou Double word usa-se a sintaxe:

%IBJ.%XK ou %IWJ.%XK ou %IDJ.%XK


I = Área de memória (I, Q, M.…) J = Byte da memória K = Bit da memória
Ex.: %IB5.%X3, %QW15.%0, %MD2.%X6, %MB12.%X15

Para usar constantes a sintaxe deve ser da seguinte forma:

Sintaxe curta Sintaxe curta

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

Interrupção do ciclo de scan


O ciclo de operação (SCAN) de um CLP pode ser interrompido por uma rotina de programa específica.
Exemplos: cálculo e totalização de vazão; controle de uma malha PID de temperatura e/ou pressão.

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).

b) A rotina de “Cyclic interrupt” é executada em intervalos de tempo predefinidos pelo programador ou


usuário (Exemplo: A totalização de vazão deve ser feita a cada 1000ms).

c) A rotina de “Hardware interrupt” é executada quando recebe um sinal de evento de hardware. O


evento deve ser definido nas propriedades do hardware configurado (Exemplo: Disparar um alarme e sinalização
quando um equipamento para de funcionar).

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).

f) A rotina de “Pull or plug of modules” é executada quando um módulo configurado é removido ou


inserido (Exemplo: Registrar em um datalog quando um módulo de I/O é removido, para fins de Supervisão)

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).

h) A rotina de “Programming error” é executada quando acontece um erro no programa e o parâmetro


“global error handling” está habilitado (Exemplo: Disparar um alarme quando o CLP entra em falha, 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).

m) A rotina de “Update” é executada quando os parâmetros no slot de um escravo ou dispositivo é alterado


(Exemplo: Disparar um alarme indicando que algum dispositivo do CLP foi alterado).

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

Em “Operating Mode” definimos se o PLC será um controlador IO ou dispositivo IO.

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

Para verificar o identificador da interface acesse “Hardware identifier”.

E para utilizar os bits auxiliares do PLC, selecione a aba “System and clock memory”
Descarregando um projeto no PLC 57-89

Descarregando um projeto no PLC


Após suas modificações ou o projeto finalizado você pode descarregar os arquivos no PLC. Deve-se certificar
que a configuração da interface de comunicação e o meio de comunicação (cabo ou sinal sem fio) está ok.

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

1- Interfaces disponíveis do PLC e seu respectivo endereço.


2- Interfaces disponíveis para comunicar o PC com o PLC.
3- Botão para buscar um dispositivo compatível de acordo com as configurações.
4- Feedback da busca pelo dispositivo.

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

Verifique novamente suas configurações e procure novamente até encontra-lo


Descarregando um projeto no PLC 60-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

E por fim marque o checkbox “Start all” e depois clique em “Finish”.

E pronto, o projeto foi descarregado. Podemos ver o resultado abaixo.


Simulando o PLC 62-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”.

Ele irá iniciar o software (S7-PLCSIM) e quando carregado simular o PLC.


Simulando o PLC 64-89

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

Criando data type


Caso necessite criar um tipo de dado específico para sua aplicação ou até por fins de estética e/ou organização.
Procure a pasta “PLC data types” e expanda para visualizar os data types criados dentro do projeto.

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:

Porém um projeto arquivado é menor e tem menos itens para armazenar.

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).

OBS.: Não se pode compactar um projeto em uma pasta de projeto.


Melhores praticas 70-89

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.

Se não houver pacotes na área de armazenamento ("PACKAGECOUNT" = "0"), a tag "STOR_EMPTY" é


definida no estado "1" e a lâmpada " Storage area empty" é ligada.

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 2: Enquanto houver pacotes na área de armazenamento, a tag "STOR_NOT_EMPTY" é definida no


estado "1" e a lâmpada "Storage area not empty" é ligada.

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:

O sensor relata uma temperatura abaixo de zero graus Celsius.


O tempo de resfriamento predefinido foi decorrido.
O botão "STOP" é pressionado.

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.

É necessária uma instalação de reinicialização.


Exercícios 78-89

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.

Exercícios integrados com Treinamento de IHM


Exercício 7
Um botão faça o acionamento de um motor.

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

Seja simulada uma prensa, com mensagem de alarme.

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”.

Você também pode gostar