Você está na página 1de 16

s STEP 7 V1X – Open User Communication (TCP/IP)

STEP 7 V1X

Open User Communication (TCP/IP)

Denilson Pegaia

Objetivo: Mostrar como configurar uma comunicação TCP/IP com controladores S7-1200 /
S7-1500.

Aviso: Este documento apresenta dicas e exemplos sobre o produto e supõe que o leitor possua conhecimento básico
prévio sobre o mesmo. Para informações completas e atualizadas, deve-se consultar o manual do produto. O intuito deste
texto é meramente didático, podendo ser alterado pela Siemens sem aviso prévio. Os exemplos devem ser adaptados ao uso
final e exaustivamente testados antes de utilizados em projetos reais.

Índice

1. Introdução ...................................................................................................................... 1
2. Pré-requisitos................................................................................................................. 2
3. Configuração de controlador que enviará dados ............................................................ 3
4. Configuração de controlador que receberá dados.......................................................... 7
5. Diagnóstico da comunicação ....................................................................................... 12
6. Informação adicional .................................................................................................... 15
7. Referências.................................................................................................................. 15
8. Suporte técnico e treinamento ..................................................................................... 16

1. Introdução

Em muitas aplicações industriais faz-se necessário trocar dados entre controlador e


equipamentos de terceiros via protocolos abertos. Uma das opções mais simples é o uso do
protocolo TCP/IP.

Na família de controladores S7-1200 / S7-1500 este tipo de comunicação é estabelecido


através da chamada de blocos TCON, TSEND e TRCV.

Para efeitos didáticos, estamos demonstrando como a comunicação é feita entre dois
controladores, dividindo a descrição em duas partes (envio de dados e recebimento de
dados). Os conceitos assim mostrados podem ser adaptados livremente para situações de
envio e recebimento num mesmo controlador e adaptados para comunicação com
equipamentos de terceiros.

21/04/2018 Página 1 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

2. Pré-requisitos

Para que uma comunicação TCP/IP se estabeleça são necessárias as seguintes


informações:

 Endereço IP de ambos os participantes (eles devem estar na mesma faixa de IP ou


deverá haver um roteador para tornar a comunicação viável).
 Qual dos participantes será o responsável por estabelecer a conexão e qual vai
“atender” a este pedido (nota: a escolha é arbitrária e não depende de quem vai
enviar ou receber dados – Em nosso exemplo, o controlador que envia dados será o
responsável por estabelecer a conexão).
 Porta de conexão (ou socket): este “sub endereço” pode ser pré-definido em ambos
os participantes ou somente do lado de quem “atender” ao pedido de conexão. Em
geral, a porta é um número arbitrário combinado entre as partes (mas alguns
equipamentos têm valores fixos). Alguns valores de porta são reservados para
determinados serviços (por exemplo, páginas HTML, e-mail), por isso a Siemens
sugere o uso de portas com número >= 2000.
 Quantos bytes de dados serão enviados / recebidos e onde eles serão armazenados
de cada lado.

Figura 1 - lista de informações necessárias para uma comunicação TCP / IP

21/04/2018 Página 2 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

3. Configuração de controlador que enviará dados

Arrastar o bloco TCON da biblioteca (divisão Communication, Open user communication,


Others) para o programa do usuário (e.g. OB1):

Clicar na caixa de ferramentas:

Selecionar em Partner / End Point, Unspecified:

21/04/2018 Página 3 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Clicar <new> em Connection data:

Entrar com o endereço IP e porta do parceiro da comunicação; selecionar qual equipamento


será o responsável por estabelecer a conexão (em nosso exemplo o controlador que
enviará os dados):

Endereço IP

Porta

21/04/2018 Página 4 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Atribuir a entrada REQ a variável de sistema “FirstScan”:

Arrastar o bloco TSEND da biblioteca (divisão Communication, Open user communication,


Others) para o programa do usuário (e.g. OB1) em network subsequente ao anterior:

21/04/2018 Página 5 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Preencher a entrada ID do bloco TSEND com o mesmo valor da entrada ID do bloco TCON:

Atribuir à entrada REQ uma variável de pulso regular (em nosso exemplo, Clock_1Hz):

21/04/2018 Página 6 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Atribuir à entrada DATA, um ponteiro que indique os dados a serem enviados. Em nosso
exemplo tomamos um ponteiro apontando para 4 bytes a partir do endereço M10.0.

Notas:

A notação de ponteiros com endereço absoluto segue a regra P# + endereço do primeiro bit
a ser enviado + BYTE + quantidade de bytes enviados.

Outras notações são possíveis (inclusive simbólicas). Para efeito de primeiros testes,
contudo, sugerimos o uso de ponteiros com endereços absolutos apontando para áreas de
memória M.

4. Configuração de controlador que receberá dados

Arrastar o bloco TCON da biblioteca (divisão Communication, Open user communication,


Others) para o programa do usuário (e.g. OB1):

Clicar na caixa de ferramentas:

21/04/2018 Página 7 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Selecionar, em Partner / End Point, Unspecified:

Clicar <new> em Connection data:

21/04/2018 Página 8 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Entrar com o endereço IP do parceiro da comunicação; indicar a porta que será usada
localmente (tem que ser o mesmo número usado como porta do parceiro na configuração
do controlador que envia dados); selecionar qual equipamento será o responsável por
estabelecer a conexão (em nosso exemplo o controlador que enviará os dados):

Endereço IP

Porta

21/04/2018 Página 9 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Atribuir a entrada REQ a variável de sistema “FirstScan”:

Arrastar o bloco TRCV da biblioteca (divisão Communication, Open user communication,


Others) para o programa do usuário (e.g. OB1) em network subsequente ao anterior:

21/04/2018 Página 10 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Preencher a entrada ID do bloco TRCV com o mesmo valor da entrada ID do bloco TCON:

Atribuir à entrada REQ uma variável de pulso regular (em nosso exemplo, AlwaysTRUE):

21/04/2018 Página 11 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Atribuir à entrada DATA, um ponteiro que indique os dados a serem recebidos. Em nosso
exemplo tomamos um ponteiro apontando para 4 bytes a partir do endereço M10.0.

Notas:

A notação de ponteiros com endereço absoluto segue a regra P# + endereço do primeiro bit
a ser enviado + BYTE + quantidade de bytes enviados.

Outras notações são possíveis (inclusive simbólicas). Para efeito de primeiros testes,
contudo, sugerimos o uso de ponteiros com endereços absolutos apontando para áreas de
memória M.

5. Diagnóstico da comunicação

Para efeitos de debug de primeiros testes e para obter um diagnóstico durante operação
sugere-se a implantação de programa de usuário adicional para processar as variáveis de
saída dos blocos de comunicação. Em geral estes programas complementares contabilizam
os registros de done e error para determinar se a comunicação está funcionando ou não.
Uma armadilha para memorizar o estado da variável status durante um evento de erro pode
ser usada para obter a causa de uma eventual falha de comunicação.

21/04/2018 Página 12 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Figura 2 - Exemplo de programa de usuário processando saída dos blocos de comunicação para fins de
diagnose (controlador que envia dados).

21/04/2018 Página 13 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

Figura 3 - Exemplo de programa de usuário processando saída dos blocos de comunicação para fins de
diagnose (controlador que recebe dados).

21/04/2018 Página 14 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

6. Informação adicional

FAQ desenvolvida por Denilson Pegaia e revisada por Fabricio Campidelli Gozzo.

7. Referências

Artigos publicado no site da do Suporte Técnico Industrial Siemens:

 How do you configure open IE communication via the integrated PN/IE interface of
the CPU or via an Industrial Ethernet CP?
https://support.industry.siemens.com/cs/ww/en/view/24294554

 Basic Examples for Open User Communication (OUC)


https://support.industry.siemens.com/cs/br/en/view/109747710

 How do you program the TCON communication instruction to establish a connection


for the Open User Communication between two S7-1500 CPUs?
https://support.industry.siemens.com/cs/ww/en/view/58875807

 How do you program the TSEND_C and TRCV_C instructions for open user
communication over the integrated PROFINET interface of the S7-1200/S7-1500
CPU? https://support.industry.siemens.com/cs/br/en/view/67196808

 How do the instructions TSEND_C and TRCV_C behave in the S7-1500?


https://support.industry.siemens.com/cs/us/en/view/109479564

 Data synchronization over open communication between multiple field devices (S7-
1200) and a head PLC (S7-1200/ S7-300/ WinAC) (Set 17).
https://support.industry.siemens.com/cs/ww/en/view/39040038

Artigos publicados no Forum Siemens

 S7-1200 TCP communication - Sample program


https://support.industry.siemens.com/tf/ww/en/posts/s7-1200-tcp-communication-
sample-program/46768/?page=0&pageSize=10
(inclue, na publicação de 14/04/2018, vídeos e projeto exemplo demonstrando a
configuração deste artigo).

 Sample program S7-1200 HyperTerminal TCP comunications


https://support.industry.siemens.com/tf/ww/en/posts/sample-program-s7-1200-
hyperterminal-tcp-comunications/49723/?page=0&pageSize=10

21/04/2018 Página 15 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s STEP 7 V1X – Open User Communication (TCP/IP)

8. Suporte técnico e treinamento

Suporte Técnico

Requisição de Suporte (novos chamados):


https://support.industry.siemens.com/my/br/pt/requests/#createRequest

A informação que você precisa (FAQ, manuais, arquivos, fórum) pode estar no Portal do
Suporte Técnico:

Site mundial (inglês): https://support.industry.siemens.com/cs/?lc=en-BR

Site Brasil (português): http://www.siemens.com.br/Hotline

Centro de treinamento - SITRAIN

Informações: www.siemens.com.br/sitrain

Tel.: 0800 11 94 84

21/04/2018 Página 16 / 16
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline

Você também pode gostar