Você está na página 1de 137

Automação com

Controladores
Lógicos
Programáveis

Siemens S7- 1200


e 1500
Conteúdo
• Concepção geral dos controladores lógicos programáveis Siemens: conceitos básicos de funcionamento e
estrutura de hardware dos CLP’s S7 1500;

• Instalação e configuração de hardware de um controlador lógico programável Siemens da família S7 1500 em


ambiente Step 7 TIA Portal;
• Estruturas de programa: como criar programas e funções em um projeto;
• Declaração de variáveis globais e locais;

• Linguagens de programação: Criando projetos em linguagem Ladder (LAD) e Statement List (STL);
• Instruções básicas de programação: instruções booleanas (manipulação binaria), temporizadores, contadores,
comparadores, funções lógicas e funções matemáticas;
• Monitoramento de variáveis e diagnóstico de programas;
• Bloco de programação organizacional (OB’s): detalhamento e aplicações;

• Funções parametrizáveis: Funções (FC) e Blocos de Funções (FB);


• Blocos de dados de memórias (DB’s);
Conteúdo
• Introdução às linguagens SCL (Texto estruturado) e GRAPH;
• Endereçamento indireto e ponteiros;

• Estudo da rede Profinet: principais características do protocolo, estrutura da rede, meio físico, configuração e
aplicações;
• Ferramentas de teste e diagnóstico.
Controladores Lógicos Programáveis - CLP

O controlador lógico programável é um dispositivo eletrônico que controla máquinas e/ou


processos. Utiliza uma memória programável para armazenar instruções e executar funções
específicas que incluem controle de energização/desernegização, temporização, contagem,
operações matemáticas e manipulação de dados.
Recursos de programação CLP

• Instruções lógicas de relé

- examinar se energizado (contatos normalmente abertos - NA);

- examinar se desernegizado (contatos normalmente fechados - NF);

- energizar saídas (bobinas);

- energizar saídas com retenção;

- desenergizar saídas com retenção;

- monoestável sensível à borda de saída.


Recursos de programação CLP

• Temporizadores

- temporizador na energização;

- temporizador na desernegização;

- temporizador de pulso.
• Contadores

- Contador Crescente;

- Contador Decrescente ;

- Contador Crescente e Decrescente.


Recursos de programação CLP

• Operações matemáticas • Lógica Booleana;

- adição; • Comparação;

- subtração; • Fluxo de programa.

- divisão;

- multiplicação;

- raiz quadrada.
Constituição do CLP

• Fonte de Alimentação;

• Unidade Central de Processamento (CPU);

• Memórias;

• Dispositivos de entrada e saída.


Especificações do CLP

• Número de entradas e saídas (I/O);

• Requisitos elétricos;

• Circuitos de saída;

• Requisitos de memória;

• Velocidade da operação;

• Comunicação;

• Interfaces de operação.
Características Funcionais
Siemens: família S7-300 Um total de até 32 módulos de expansão pode ser utilizado em uma
configuração centralizada.

Módulos de I/O (SM)


• Digitais (24Vdc, 48-130Vuc, 120/230VAC, Relé etc)
• Analógicos (±5V, 0-10V, 0/4 até 20mA, Hert etc)
Módulos de Comunicação (CP)
• Profibus DP
• Ethernet/Profinet
• AS-interface
• Serial Ponto-a-Ponto
• MPI
Módulos de Função (FM)
• Contadores rápidos
• Saídas de pulso rápida
• Controle de posição
• Controle de motor de passo
• Controle em malha fechada (PID)
Siemens: família S7-1200

Características Funcionais
CPU compacta com I/O’s integrados e um total de até 8 módulos de
expansão.

Módulos de I/O:
• Digitais
• Analógicos

Comunicação:
• Profinet (integrado)
• Profibus DP mestre e escravo
• AS-i
Instalação

Trilho
DIN
PS - fonte de alimentação

0 Vdc
Terra
N
24Vdc
L
Esquema elétrico – CPU DC/DC/DC
Esquema elétrico – CPU AC/DC/Relay
Esquema elétrico – CPU AC/DC/Relay

Possibilita expandir a quantidade de I/O sem aumentar o


tamanho do equipamento no rack
Disposição do rack
Módulos do rack

PS Fonte de alimentação

CP Comunicação
• Profinet, RS485, PROFIBUS-DP, AS-i

CPU Controladores

SM Módulos de I/O (Digitais/Analógicos)


Memory Card
Endereçamento

CPU
Módulos Fieldbus Módulos de I/O
Siemens: família S7-1500 Características Funcionais
Um total de até 30 módulos de expansão pode ser utilizado em uma
configuração centralizada.

Módulos de I/O:
• Digitais (24Vdc, 120/230VAC, saídas à transistor de até 2A)
• Analógicos
Comunicação:
• Ethernet/Profinet
• Profibus DP
• IHM integrada para configuração e diagnóstico das funções da CPU
• OPC-UA e Web server
Funções tecnológicas:
• Motion control
• PID Control
• PWM
• Entradas e saídas rápidas
• Entradas para encoders
•Fail-Safe
Configuração do Rack de montagem
Configuração do Rack de montagem
Instalação Bus connector

Módulos de I/O
Rack

Conector para
cabeamento de
I/O’s
Instalação

Conector para cabeamento de I/O’s


Endereçamento de I/O

Operandos Absoluto Simbólico

Entrada digital %IB.b Botão

Saída digital %QB.b Lâmpada

Entrada analógica %IWByte:P Pressão

Saída analógica %QWByte:P Volume


Endereçamento de I/O
Endereçamento de outros operandos

Operandos Absoluto Simbólico

Bit Memory %MB.b Rele


Endereçamento de outros operandos
Endereçamento por byte, word, double word

7 6 5 4 3 2 1 0

Byte 0
Byte 0 Byte 1
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

Word 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Byte 0 Byte 1 Byte 2 Byte 3


7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

Double Word 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
{
{
{
{
...
Word0 Word1 Word2 Word3
Conflito no endereçamento

Byte 0 Byte 1
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

Word 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Byte 1 Byte 2
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

Word 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Tipos de Variáveis
Sinal Analógico

Um Sinal Analógico apresenta uma variação contínua ao longo do tempo, podendo ter características de amplitude
e frequência bastante variáveis.
Sinal Digital Binário

Um Sinal Digital do tipo Binário é uma sequencia de dois níveis de impulsos com amplitude definida, e sucedendo-
se a intervalos de tempo regulares.
CPU: processamento
Conceito de Scan
TIA Portal
Autorização da licença (License Manager)
Criando um novo endereço de IP para uma CPU nunca utilizada
Criando um endereço de IP para uma CPU nunca utilizada
Criando um endereço de IP para uma CPU nunca utilizada
Criando um endereço de IP para uma CPU nunca utilizada
Criando um novo projeto
Deve-se clicar na opção “Project view” e dessa forma começar um novo projeto
Criando um novo projeto
Para criar um novo projeto, clicar na opção “Create new project”
Criando um novo projeto
Digitar o nome do Projeto no espaço reservado com a indicação“Project name”
Adicionando uma nova estação (CPU, IHM,...)
Para adicionar o dispositivo, clicar na opção “Configure device”
Configurando o Hardware
Configurando o Hardware
Clique no link Detect
para que o software
encontre a CPU
automaticamente.
Configurando o Hardware
Deve-se aguardar o aparecimento do CLP que deseja detectar a configuração da CPU e fazer o upload.
Configurando o Hardware
Quando a CPU for encontrada clique no botão
Detect novamente.
Ambiente TIA Portal
Barra de ferramentas e menu
Mostrar dispositivos Dividir janela
Download para accessíveis na rede na horizontal
Novo Compilar objeto
Projeto CPU
Carregar projeto da CPU
(Upload)

Referência
CPU online Start CPU cruzada

Iniciar simulador CPU offline Stop CPU


Dividir janela na
vertical
Ambiente TIA Portal
Esconder janela automaticamente: a janela aparece
Trabalhando com janelas
e se esconde automaticamente no clique do mouse

Árvore de projeto

Expandir janela
(expand)

Esconder janela
(collapse)
Ambiente TIA Portal
Trabalhando com janelas
Indica que há mensagens disponíveis

Esconde e mostra janelas

Janela de propriedades de objeto


Ambiente TIA Portal
Trabalhando com janelas

Conforme as janelas são abertas para cada objeto, atalhos são inseridos na parte
inferior do software para acessa-las de forma rápida.
Criando novo programa

Na árvore de projeto
dentro da pasta “Program
blocks” dê um duplo
clique em “Main (OB1)”
para abrir o programa
Main do Siemens.

Clicando duas vezes em


“Add new block” é
possível inserir um novo
bloco de programa.
Criando novo programa

Editando um novo
programa no “Main
(OB1)”.
Linguagens de programação
Ladder
Linguagens de programação

FBD
Linguagens de programação – Inserindo blocos
FBD

Selecione a instrução, segure e arraste até a network


posicionando o cursor sobre a interface do bloco anterior.
Linguagem LADDER – Instruções básicas

Escrever no endereço
o RLO

Ler RLO do endereço


RLO=1
Saída Q0.0 é ativada

RLO=0
Saída Q0.0 é desativada
Linguagem LADDER – Instruções Retentivas

Selecione a saída e passe o mouse sobre o


Caso RLO=1 ativa endereço e mantém canto direito da instrução, onde existe uma
seta em amarelo. Um “check box” se abrirá
permitindo a inserção de uma nova
instrução. Essa instrução pode também ser
inserida direto pelo catálogo de hardware.

Caso RLO=0 desliga endereço e mantém


Linguagem LADDER - Set/Reset e Reset/Set

R - Lógica para reset


S - Lógica para set (opcional)
??.? - Bit de memória (obrigatório)
Q- Saída
Obs: Set dominante

S - Lógica para set


R - Lógica para reset (opcional)
??.? - Bit de memória (obrigatório)
Q- Saída
Obs: Reset dominante
Inserindo uma nova instrução
É possível inserir uma instrução utilizando o catálogo de instruções
à direita ou de forma mais rápida utilizando o menu de instruções favoritas
em “Favorites”...
Inserindo uma nova instrução

A barra “Favorites” pode ser editada para um rápido e fácil acesso às instruções mais utilizadas pelo usuário.
Para habilitá-la clique no ícone mostrado na figura.

Você pode inserir novas instruções neste campo, para isso, basta clicar segurar e arrastar novas instruções...
Inserindo um contato em paralelo

Selecione
A linha

Clique no botão “Open branch”


no menu de favoritos

Insira um contato e depois clique


no botão “Close branch”.
Programação simbólica

Inserindo Tag’s

Na árvore de projeto clique na pasta “PLC tags”  “Show all tags”


Nomeie a tag, defina um endereço. É possível definir a variável como retentiva
marcando a flag “Retain”. Pode-se também definir se esta variável pode ser ou não
enxergada em IHM’s inseridas no projeto.
Programação simbólica – Endereçando um Contato

Após inserir a instrução, clique sobre as interrogações <???>

Abra a caixa de opções e escolha a tag desejada, predefinida


anteriormente.
Cruzamento de referência
Mostra a estrutura de chamada de todas as variáreis e blocos do programa. Selecione o objeto desejado para mostrar o
cruzamento de referências.

Clicando no link o software irá


direcioná-lo até o programa e a
Network de origem desta
variável. A variável será mostrada
e evidenciada no programa de
origem.
Fazendo o Download para o CLP
Fazendo o Download para o CLP
Fazendo o Download para o CLP
Diagnóstico
É possível fazer o diagnóstico de hardware pelo TIA Portal.

Deve-se antes estabelecer comunicação com a CPU.


Diagnóstico
Uma vez
estabelecia a
comunicação,
pode-se
monitorar as
mensagens de
diagnósticos
geradas pela
CPU por meio
do buffer de
diagnóstico,
conforme
mostra a figura
abaixo:
Web Server

É possível acessar a CPU e monitorar seus dados em tempo real utilizando seu web
server por meio de um navegador.

Na janela “Properties” em “Device configuration” deve-se selecionar a opção “web


server” e marcar as opções mostradas abaixo.
Web Server

O web server
permite acesso
às variáveis
processadas pela
CPU assim como
o buffer de
diagnóstico,
entre outros
recursos...
Web Server

Monitorando status de variável e


buffer de eventos de diagnóstico.
Temporizador: On – Delay Timer (TON)
Temporizador: Off – Delay Timer (TOF)
Temporizador: Pulse (TP)
Carregando e transferindo dados

EN - Habilita Entrada
ENO -Habilita Saída
IN - Valor de Entrada
(Tamanho de todos os tipos
de dados 8, 16, 32 bit )
OUT - Target address
(Tamanho de todos os tipos
de dados 8, 16, 32 bit )

Neste exemplo, quando a entrada E1 é acionada o conteúdo de %MW0 é


transferido para %IW256.
Funções de comparação

OPÇÕES DE COMPARAÇÃO:

== IGUAL A
<> NÃO IGUAL A
> MAIOR QUE
< MENOR QUE
>= MAIOR QUE OU IGUAL A
<= MENOR QUE OU IGUAL A

Neste exemplo, quando a entrada E1 é acionada o conteúdo de %MW0 é


comparado ao conteúdo de %IW2. Se o resultado desta operação retornar
verdadeiro para igual a saída S1 será acionada.
Contadores

Crescente CTU: O contador conta crescentemente a cada


flanco de impulso positivo na entrada CU.
A saída Q é 0, enquanto o valor de CV for menor PV, caso
contrario a saída Q será 1.
Se houver um flanco de impulso positivo na entrada R o
contador é resetado, isto é, o valor de CV vai para 0

Decrescente CTD: O contador conta decrescentemente a


cada flanco de impulso positivo na entrada CD.
A saída Q é 0 enquanto o valor de CV for diferente de 0,
caso contrario a saída Q será 1
Se houver um flanco de impulso positivo na entrada LD o
contador é carregado (CV) com o valor de PV.
Contadores
Counter Up / Down CTUD
Combinação de contadores crescente e decrescente.

• Se houver um flanco de impulso positivo em R, o valor


de CV será 0.
• Se houver um flanco de impulso positivo em LD, o valor
de CV será igual a PV.
• Se houver um flanco de impulso positivo em CU o valor
de CV será decrementado.
• Se houver um flanco de impulso positivo em CD o valor
de CV será incrementado.
• O valor de QU será 0 sempre que o valor de CV for
menor que PV
• O valor de QD será 0 sempre que CV for diferente de 0
caso contrario ele será 1.
Contatos impulsionais
Também denominados como flancos, estes contatos são instruções capazes de detectar a borda de subida ou a borda de
descida de um sinal, na mudança do RLO de um operando booleano, como uma instrução NA ou NF, transferindo para a
saída um pulso com período de duração muito curto, igual a um scan (período de uma varredura) do CLP.

Flanco Positivo
Contatos impulsionais

Flanco Negativo
Monitorando e forçando variáveis
Para monitorar as variáveis de um programa basta entrar “online” na CPU. Para isso, deve-se abrir o projeto desejado,
de acordo com o programa que está em execução na CPU e na barra de ferramentas deve-se clicar no ícone “Go online”
em seguida configurar a comunicação com a CPU desejada.

O programa será mostrado da seguinte forma:

Indica que não existe conflito


entre os objetos off-line e online
(os objetos são idênticos)

Indica que existe conflito entre


os objetos off-line e online (os
objetos não são idênticos)
Monitorando e forçando variáveis
Monitorando e forçando variáveis
Na janela “Options” na aba “Testing” do lado direito, na opção “CPU operator panel” é possível colocar a CPU em Stop,
Run ou ainda aplicar um Memory reset.
Monitorando e forçando variáveis
Para forçar uma variavel é necessário antes criar uma lista com as variáveis a
serem forcadas na opção “Watch and force tables” na árvore de projeto.
Selecione a variável que será forçada
Monitorando e forçando variáveis
Insira o valor que a varíavel deverá assumir em “Force value” e marque a flag ao lado. Entre online na CPU e clique em
“Force all”. Clique em “Yes” na caixa de diálogo que deverá abrir e confirme.
“Flag Force”

“Force all”
Data Blocks

Os data blocks (DB’s) ou blocos de dados são blocos utilizados para armazenar dados, como memórias.

Diferentemente dos blocos de programas, como os que serão apresentados a seguir, os blocos de dados não possuem
instruções e portanto não executam rotinas de programa, eles apenas armazenam dados das variáveis dos blocos de
programas, como OB’s, FC’s e FB’s.

Os data blocks podem ser criados em dois formatos: Instance Data Blocks (DB instance) ou Data Blocks Global
(Global DB).

Um Global DB é um DB que pode ser acessado e compartilhado por qualquer bloco de programa criado pelo usuário.
Qualquer bloco de programa (OB, FC ou FB) pode ler e escrever dados nas variáveis da Global DB.

Uma DB instance é um DB dedicado a um Function Block FB. Todos os dados e parâmetros das variáveis locais do FB
são armazenados no seu DB instance, que passa a ser uma “memória particular” deste FB. A denominação ‘instance’
representa um bloco FB chamado, por exemplo, se um bloco FB10 for chamado 3 vezes haverá 3 instâncias deste bloco,
cada uma com um Data Block. Esse tipo de DB é criado automaticamente e vincula ao FB no momento de sua criação.
Criando Data Blocks
Na árvore de projeto clique na opção “Add new block”.

Selecione a figura do data block “DB” e em seguida


selecione a opção “Global DB”.
Escreva um nome para a DB e clique em OK. A numeração
do data block é atribuída automaticamente.
Criando Data Blocks
Permite que esta
Tipo da variável: variável seja
Valor inicial da visualizada como
Bool [True, False];
variável quando o Tag de uma IHM
Byte [B#16#F4]; CLP é inicializado configurada no
Determina se a
Word [W#16#F4]; TIA
variável será
Dword [DW#16#F4]; retentiva ou não Comentários
gerais
Time T#1h2m3s500ms;
Int [-32768...+32767];
Uint [0...+65536];
Real [32.7];
Lreal [32.8];
Char [‘A’];
String [‘Valor Ok’];
Array [dado [1..4] of Real];
...

Nome da variável
Criando Data Blocks

As variáveis tipo Array são declaradas definindo-se as quantidade de variáveis que deverão compor a matriz e o
tipo de variável.
Criando Data Blocks
Neste exemplo serão criadas 4 variáveis tipo byte no formato array.
Exemplo: Array [1 .. 4] of Byte

Clicando sobre a “seta” do lado do nome “Array” a estrutura das variáveis que foram criadas é mostrada.
Criando Data Blocks
É possível ainda cria uma estrutura de variáveis com diferentes “data types”, criando uma variável tipo STRUCT.
Criando Data Blocks
Por fim, o data block deverá ser compilado para efetivar todas as edições.
Criando Data Blocks
O programa ao lado mostra como
acessar as variáveis do data block
para escrita e leitura de dados.
Programação estruturada

O Step7 300 permite a criação de blocos de programas orientados como sub-rotinas de um programa principal. Eles estão
abaixo dos organization blocks (OB’s) na hierarquia de programa e podem ser chamados como sub-rotinas dos OB’s
quantas vezes for necessário.

A utilização de sub-rotinas torna o programa de usuário mais organizado evitando a repetição de lógicas de controle
dentro do programa principal, facilitando sua criação bem como sua interpretação.

No Step7 existem duas estruturas distintas de blocos de programas, denominadas como Functions (FC’s) e Functions
Blocks (FB’s). Ambas estão abaixo das OB’s na hierarquia de programa e devem ser acessadas por meio uma instrução de
chamada dentro dos OB’s.
Criando uma Function - FC

As Functions ou FC’s são blocos de


programas que não possuem uma
área de memória própria designada
para ela. Os dados de suas variáveis
são armazenados na pilha (L stack)
do controlador e são perdidos ao fim
de sua execução.

Para inserir a FC selecione a figura


da Function “FC”.

Escreva um nome para a FC, escolha


a linguagem de programação e
clique em OK.
Criando uma Function - FC

No exemplo a seguir será mostrado como implementar um bloco de programa do tipo FC como rotina padrão para executar
uma operação matemática de média aritmética. O bloco deverá possuir três entradas reais para receber os valores e o
resultado deverá ser mostrado em sua saída.

Para isto o bloco deverá ser criado com variáveis locais, que permitem a transferência dos sinais dos endereços absolutos
de OB1 para o bloco, assim como do bloco para OB1.

As variáveis locais das FC’s podem ser do tipo IN, OUT, IN/OUT ou TEMP. Essas variáveis podem ainda ter o formato BOOL
(booleanas, variáveis discretas 0 ou 1), informações do tipo BYTE, WORD, DWORD (Double Word), INT (números inteiros),
REAL (números reais com ponto flutuante), S5TIME (variáveis de tempo no formato Siemens), dentre outras.

A FC pode ainda possuir uma variável tipo RETURN, que é uma variável de retorno da dados. Essa variável recebe o
resultado de uma operação e passa essa informação para o programa.

Para esta aplicação serão criadas 5 variáveis tipo REAL:

- 3 variáveis tipo INPUT (entrada);


- 1 variável tipo TEMP (temporária para transferência de valor dentro do bloco);
- 1 variável tipo RETURN (saída para retorno de valor).
Criando uma Function - FC

A figura abaixo mostra como criar as variáveis locais da FC para esta aplicação.
Criando uma Function - FC

Para implementar a rotina matemática de cálculo de média serão utilizadas instruções


simples de soma e divisão.

A instrução de soma é
inserida conforme figura
ao lado.

Para configurar o tipo de


variável do bloco deve-se
clicar sobre as
interrogações na parte
superior do bloco.

Clicando no ícone em
destaque na parte inferior
do bloco pode-se inserir
novas entradas.
Criando uma Function - FC
As variáveis locais criadas são configuradas nas entradas e saídas dos blocos.

A ultima variável da rotina é a


variável de retorno declarada. Ela
recebe a identificação da própria
função (FC1).
Criando uma Function - FC
Após concluída, a função FC1 deverá ser compilada e chamada na rotina Main (OB1). Para isso basta clicar e arrastar a
função até a network.
Criando um Function Block - FB

Os Functions Blocks ou FB’s são blocos de programas que possuem uma área de memória dedicada do tipo Data Block ou
DB designado para armazenar permanentemente os dados de suas variáveis durante e após a sua execução. Essas
memórias são do tipo Instance Data Block, pois são dedicadas ao bloco de programa a que estão associadas.

Além das variáveis locais que existiam nas FC’s (IN, OUT, IN/OUT ou TEMP) os FB’s possuem também variáveis
denominadas STATIC. Essas variáveis são utilizadas para armazenar dados permanentemente nos data blocks (DB) das
FB’s. Variáveis tipo Static ocupam espaço na DB do bloco.

Variáveis tipo Input: passam informações do programa para a função.


Variáveis tipo Output: passam informações da função para o bloco.
Variáveis tipo InOut: passam informações do programa para a função e da função para o programa.
Variáveis tipo Static: apenas armazenam permanentemente dados processados apenas dentro da função (ocupam espaço
na DB).
Variáveis tipo Temp: são variáveis locais que armazenam dados temporariamente dentro da função. Ao sair da função os
dados são perdidos.

Assim como as Functions (FC), os FB’s são blocos de programa criados como sub-rotinas de OB1 ou de outros blocos.
Cada Functions Block criado e chamado dentro de OB1, por exemplo, necessita de um Data Block (DB) para o
armazenamento dos dados processados pelo bloco.
Criando um Function Block - FB
Nessa estrutura, cada FB tem uma área de memória do tipo Data Block reservada e dedicada a ele, para armazenar as
variáveis processadas pelo bloco.
OB1

DB1

FB1

DB2

FB1

DB3

FB1
Criando um Function Block - FB
Como exemplo de aplicação será criado um programa para a partida direta de motores.

Insira um FB e atribua um nome para este e


clique em “OK”.
Criando um Function Block - FB
Como exemplo de aplicação será criado uma rotina para a partida direta de motores.

Neste exemplo serão criadas as seguintes variáveis locais:

- Liga (Input – Bool);


- Desliga (Input – Bool);
- Rele térmico (Input – Bool);
- Rele motor (Output – Bool).

Crie as variáveis locais como


Mostra a figura ao lado.
Criando um Function Block - FB

Ainda no FB1, desenvolva o programa para esta aplicação e nomeie as instruções com as variáveis locais previamente
criadas.
Criando um Function Block - FB

Compile o FB1 criado.

Abra o programa Main (OB1).

Clique e arraste FB1 para a network de OB1.

Uma nova janela deverá aparecer solicitando a


criação do data block para a rotina FB1 chamada.
Criando um Function Block - FB
O programa Main (OB1) é mostrado na figura abaixo.
Comunicação com S7-1500 – PROFINET - Introdução
Os controladores da família S7-1200 foram construídos com a sua base de comunicação no protocolo PROFINET.
PROFINET é um protocolo aberto fieldbus de comunicação industrial entre dois ou mais componentes.
Trata-se de um protocolo determinístico com o conceito mestre/escravo, baseado no protocolo Ethernet Industrial.
Comunicação com S7-1500 – PROFINET - Topologia
A rede PROFINET em sua essência possui as características de comunicação dos protocolos PROFIBUS e Industrial
Ethenert. O protocolo opera com hierarquia Mestre/Escravo característico dos protocolos fieldbus utilizando o meio
físico e endereçamento por IP da rede Ethernet, podendo ainda ser integrada diretamente com as redes Ethernet em
nível de gerenciamento. Essas são algumas das características apresentadas deste protocolo.

Controle

Campo
Comunicação com S7-1500 – PROFINET - Introdução

Os dispositivos conectados através de rede Profinet são identificados por meio de um nome e um endereço de IP.
Atendendo o modelo ISO/OSI de camadas para um protocolo de rede de comunicação, o protocolo PROFINET é
especificado para as quatro primeiras camadas, assim como as redes Ethernet convencionais e também para a sétima
camada, onde são definidos algumas características da comunicação, como a definição da hierarquia e a especificação
dos nomes dos participantes.
Comunicação com S7-1500 – Possibilidades de comunicação em PROFINET
Comunicação com S7-1500 – Possibilidades de comunicação em PROFINET
Comunicação com S7-1500 – Possibilidades de comunicação em PROFINET
Comunicação com S7-1500 – Diagnóstico
Comunicação com S7-1500 – Fail Safe
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)
Crie um novo projeto e configure uma CPU S7-1200.
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)
A versão do firmware desta CPU deverá ser V2.0 ou maior.
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)
Dê um duplo clique na opção “Devices & Networks” na árvore de projeto do lado direito.

Selecione a remota do lado esquerdo na opção “Hardware Catalog”.


Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)
Conecte as duas portas Profinet dos dispositivos marcando a opção “Highlight IO Systen” para evidenciar a conexão
entre os dispositivos e permitir as configurações futuras.
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)
Clique sobre a porta de comunicação do dispositivo para configurar o seu endereço de IP na aba “Properties” da janela
de configurações abaixo.
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)
Para configurar a remota selecione-a clicando sobre ela e em seguida clique na aba “Device view”.

A figura da remota é mostrada com os slots para


serem configurados.
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)
Os cartões são selecionados no catalogo de hardware a direita.
Clique, segure e arraste-o até o primeiro slot vago permitido para este cartão na remota.
Observe que a identificação dos cartões aparecem acima da remota quando inseridos, marcando a opção abaixo.
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)
Clicando na seta para cima, conforme mostrado na figura abaixo, a janela com a configuração dos cartões e os seus
respectivos endereços será mostrada.
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)

Por fim, desmarque a opção “Highlight IO Systen” para atribuir as configurações de rede.
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)

Clique com o botão direito sobre o link em destaque


na remota e selecione a opção “Assign to new IO
controller”.

Selecione o controlador ao qual a remota pertence


e clique em OK.
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)
Para atribuir ou modificar o nome do dispositivo na rede clique com o botão direito sobre o barramento e selecione a
opção “Assign device name”.
Comunicação com S7-1500 – TIA Portal (Comunicação ente CPU e Remota Profinet)
Por fim, para testar a comunicação, é feito o programa abaixo no qual a entrada da CPU mestre liga a saída da remota.
Comunicação com S7-1500 – TIA Portal (Comunicação PROFINET CPU/CPU)

Neste exemplo será mostrado como estabelecer comunicação entre duas CPU’s S7-1200 em Profinet, utilizando as
instruções PUT e GET para uma comunicação em uma única via.
Crie um projeto e configure duas CPU’s S7-1200, conforme figura abaixo.
Comunicação com S7-1500 – TIA Portal (Comunicação PROFINET CPU/CPU)

Na opção “Network view” Clique no botão no botão “Connections” e selecione a opção “S7 connection” . Crie o
barramento conectando as duas CPU’s.
Comunicação com S7-1500 – TIA Portal (Comunicação PROFINET CPU/CPU)
Selecione a CPU e configure o endereço de IP na aba “Properties” na janela de configurações do software.
Comunicação com S7-1500 – TIA Portal (Comunicação PROFINET CPU/CPU)

É necessário configurar o ID desta


comunicação.

Para isso, clique sobre a CPU e abra a


janela de configuração de conexões.
Em seguida configure o ID da
comunicação conforme mostra a
figura ao lado.
Comunicação com S7-1500 – TIA Portal (Comunicação PROFINET CPU/CPU)
Selecionando a linha do barramento é possível ver as configurações detalhadas da comunicação.

Exemplo:
PLC_1  Local
IP: 192.168.0.2

PLC_2  Partner
IP: 192.168.0.3

Você também pode gostar