Download - Siemens - S7

Transcript
Page 1: Siemens - S7

Comunicação Básica e Expandida S7

Page 2: Siemens - S7

Sub-redes em SIMATIC

-SINUMERIK, RCM-TI 505-Outros PLC

S7-300 S7-400 M7-400

OPs

SIMATIC S5

PROFIBUS DP

ET 200B/LET 200C

DP/AS-I Link

ASI (Actuator Sensor Interface)

Sub módule AS-I

Sensores e AtuadoresEquipamentos de campo com AS-I ASIC

Fonte de Alimentação AS-I

Ethernet Industrial

PROFIBUS

Rede MPI

Ponto a Ponto

PC, OS PG

PG 720

Nível de Célula

Nível de Campo

Nível AS-I

Page 3: Siemens - S7

Co

mu

n.

Co

nf.

P

adrõ

es

Serviços de Comunicação para SIMATIC

ProfibusProfibus EthernetEthernet

FMS

DP

MAP 3.0

Co

mu

nic

.ab

erta

MPIMPI

Comun. S7 Básica

Dados Globais

Comunicação S7 ExpandidaCo

mu

nic

açã

oS

IMA

TIC

S7

ISO-Transport

ISO-on-TCP

FDL

Funções PG e IHM

Page 4: Siemens - S7

Programa controlado via MPI, K-Bus,Profibus ouEthernet Industrial

Programa controlado via

MPI ou K-Bus

Serviços de Comunicação S7 para S7-300/400

Dados GlobaisDados Globais

Comunicação Básica semconfiguração de conexão

Comunicação Básica semconfiguração de conexão Comunicação Expandida através

de conexões configuradas

Comunicação Expandida através de conexões configuradas

Sistemas operac. CPUs

Sistemas operac. CPUs

Sistemas operac. CPUs

Sistemas operac. CPUs

Programas controlados e/ou cíclicos

através da MPI ou K-Bus

SFCSFC SFCSFC SFBSFB SFBSFB

Funções PG e IHMFunções PG e IHM

Sistemas operac. CPUs

Sistemas operac. CPUs

Controle através sistema operacional

pela MPI, K-Bus, Profibus e Ethernet Industrial

PG 720

Page 5: Siemens - S7

Conexão S7 através de Ethernet

PG 720

Conexão PGatravés de MPI

S7-400

S7-300

Conexão OP através de PROFIBUS

Conexões entre Participantes da Comunicação

CP CPU 1 CP

PROFIBUSEthernetIndustrial

EthernetIndustrial

MPI

PROFIBUS

Ethernet Industrial

CP CPU 2

Conexão S7através de MPI Conexão S7

através de PROFIBUS

Page 6: Siemens - S7

recurso livre p/ conexãorecurso de conexão ocupada

CPU

FM CPU

S7-300/400:MPI ou interface PROFIBUS DPinterno

S7-300/400:Ethernet Industrial ou PROFIBUS-CP

Atribuição de Recursos de Conexão para Comunicação S7

S7-400:MPI ou PROFIBUS DPinterno

FM CPUS7-300:PROFIBUS DPinterno

FM CPUS7-300:interface MPI

CP CPU

Page 7: Siemens - S7

Dados Característicos das CPUs S7 - Comunicação

CPU 312 IFM CPU 313 CPU 314 CPU 315/-2 DP CPU 316 CPU 318-2

1 PG 1 PG 1 PG 1 PG 1 PG 1 PG1 OP 1 OP 1 OP 1 OP 1 OP 1 OP

2 p/funç. S7 2 p/funç. S7 2 p/funç. S7 2 p/funç. S7 2 p/funç. S7 30 p/funç. S7 4 para SFCs 8 para SFCs 8 para SFCs 8 para SFCs ou 30 para SFCs

CPU 412-1 CPU 413-1/2 DP CPU 414-1/2 DP CPU 416-1/2DP CPU 417-4

1 PG 1 PG 1 PG 1 PG 1 PG1 OP 1 OP 1 OP 1 OP 1 OP14 p/funç. S7 14 p/funç. S7 30 p/funç. S7 62 p/funç. S7 62 p/funç. S7

ou ou ou ou ou14 para SFCs 14 para SFCs 30 para SFCs 62 para SFCs 62 para SFCs

Page 8: Siemens - S7

SFCs de Comunicação: Vista Geral

Troca de dados utilizando a sub-rede MPI ou com a estação

Nenhuma configuração de conexão necessária em comparação a comunicação com uso dos SFBs

A conexão com o parceiro é dinamicamente configurada e disconectada

Dados do usuário até 76 bytes

Pode ser utilizada em todas as CPUs S7-300/400

Variáveis também podem ser lidas e escritas no S7-200 através do PROFIBUS DP (X_GET, X_PUT)

Os parceiros de comunicação também podem ser encontrados em outro projeto S7

Page 9: Siemens - S7

SFCs de Comunicação: Vista Geral dos Blocos

SFC

SFC 65

NAME Short Description

X_SEND Bloco Send para envio de dados para o bloco X_RCV (Client)

SFC 66 X_RCV Bloco Receive para recebimento de dados p/o bloco X_SEND

X_GET Lê dados do PLC parceiroSFC 67

X_PUT Escreve dados do PLC parceiroSFC 68

X_ABORT Aborta conexão existenteSFC 69

I_GET Lê dados da CPU parceiraSFC 72

I_PUT Escreve dados da CPU parceiraSFC 73

I_ABORT Aborta conexão da CPU parceiraSFC 74

Page 10: Siemens - S7

SFCs de Comunicação: Bloco X_GET (SFC 67)

Representação STL Representação LAD/FBDExemplo com parâmetros atribuídos

SFC65 (X_GET)

REQ RET_VAL

BUSYCONT

DEST_ID

VAR_ADDR

CALL SFC 67 REQ:= I 0.4 //Gatilho CONT:= FALSE //Disc. conexão DEST_ID:= W#16#3 //Endereço MPI VAR_ADDR:= P#M20.0 BYTE 10 //Var. Remota RET_VAL:= MW100 //Código de erro BUSY:= M 4.1 //SFC ativa SD:= P#M0.0 BYTE 10 //Variável Local

RD

Page 11: Siemens - S7

SFCs de Comunicação: Bloco X_PUT (SFC 68)

Representação STL Representação LAD/FBDExemplo com parâmetros atribuídos

SFC68 (X_PUT)

REQ RET_VAL

BUSYCONT

DEST_ID

VAR_ADDR

CALL SFC 68 REQ:= I 0.5 //Gatilho CONT:= FALSE //Disc. conexão DEST_ID:= W#16#3 //Endereço MPI VAR_ADDR:= P#M20.0 BYTE 10 //Var. Remota SD:= P#M0.0 BYTE 10 //Variável Local RET_VAL:= MW100 //Código de erro BUSY:= M 4.1 //SFC ativo SD

Page 12: Siemens - S7

SFCs de Comunicação: Bloco X_SEND (SFC 65)

Representação STL Representação LAD/FBDExemplo com parâmetros atribuídos

SFC65 (X_SEND)REQ RET_VAL

BUSYCONT

DEST_ID

SD

REQ_ID

CALL SFC 65 REQ:= M4.0 //Gatilho CONT:= FALSE //Disc. conexão DEST_ID:= W#16#4 //Ender. MPI REQ_ID:= DW#16#1 //Identificador SD:= P#M20.0 BYTE 10 //Variável RET_VAL:= MW40 //Código de erro BUSY:= M 4.1 //SFC activa

Page 13: Siemens - S7

SFCs de Comunicação: Bloco X_RCV (SFC 66)

Representação STL Representação LAD/FBDExemplo com parâmetros atribuídos

SFC66 (X_RSV)EN_DT RET_VAL

REQ_ID

CALL SFC 66 EN_DT:= TRUE //Gatilho trans. dados RET_VAL:= MW 50 //Código de erro REQ_ID:= MD52 // ID do Job NDA:= M40.0 //Dados disponíveis RD:= P#M20.0 BYTE 10 //Variável NDA

RD

Page 14: Siemens - S7

SFBs de Comunicação: Vista Geral

Troca de dados utilizando MPI, K-Bus, Profibus ou Ethernet Industrial

Configuração das conexões através da tabela de conexão

As conexões são configuradas durante o restart completo e existem permanentemente (exceto no modo STOP)

Tamanho dos dados do usuário até 64 KBytes

Serviços de comunicações também para controle (Stop, Start) do parceiro

SFBs existem para todas CPUs S7-400

Dados também podem ser lidos e escritos por um S7-300 (GET/PUT)

Diferentes tarefas podem ser manipuladas através de uma conexão

Page 15: Siemens - S7

SFBs de Comunicação: Vista Geral dos Blocos

SFB/SFC

SFB 8

NOME Descrição abreviada

USEND Bloco de Envio p/envio de dados ao bloco URCV (Client)

SFB 9 URCV Bloco de Recebimento p/recebimento de dados do blocoUSEND

BSEND Bloco de Envio p/envio de grandes blocos de dados p/bloco BRCV (até 64 KByte)SFB 12

BRCV Bloco de Recebimento p/recebimento de grandes blocos dedados (até 64 Kbyte)SFB 13

GET Leitura de dados do PLC parceiroSFB 14

Tipo de Com.

mão dupla

mão dupla

mão dupla

mão dupla

mão única

PUT Escrita de dados para o PLC parceiroSFB 15 mão única

PRINT Envio de dados para impressora remotaSFB 16 mão única

START Realiza restart completo no parceiroSFB 19 mão única

STOP Coloca o parceiro em modo StopSFB 20 mão única

RESUME Realiza restart no parceiroSFB 21 mão única

STATUS Verifica o estado do parceiro(RUN, STOP, start-up, hold)SFB 22 mão única

USTATUS Recebe menssagens de estado do parceiroSFB 23 mão única

CONTROL verifica o estado interno de uma conexão S7 + SFBSFC 62 ---

Page 16: Siemens - S7

Serviços de Comunicação de “mão única“ utilizando Conexões S7

SFB:- GET- PUT- STOP- START- STATUS

SistemaOperacionaldas CPUs

S7-400

MPI=3

S7-300/400Conexão S7 Lógica(mão única ou mão dupla)

MPI=2

CPUMPI=2

CPU

MPI=2

1

ID Local

conexão física,p.ex. MPI

1

Page 17: Siemens - S7

Serviços de Comunicação de “mão dupla“ utilizando Conexões S7

SFB:- USEND- URCV- BSEND- BRCV

SFBs- URCV- USEND- BRCV- BSEND

S7-400

MPI=3

S7-400Conexão S7 Lógica(mão dupla)

MPI=2

CPU

MPI=2

CPU

MPI=2

2

ID Local

Conexão física,p.ex. MPI

2

1

1

Page 18: Siemens - S7

Configuração de Redes de Comunicação com NETPRO

Duplo click

Inserir estações de HW

Duplo click Duplo click

Page 19: Siemens - S7

Configuração de Conexões S7

Selecionar

Inserir conexão

CPU Remota

Estação Remota

Page 20: Siemens - S7

Estabelecendo Propriedades de Conexão

Page 21: Siemens - S7

Compilando e Transferindo os Dados de Configuração

Salva e Compila

Transferência

Page 22: Siemens - S7

SFBs de Comunicação: Bloco GET (SFB 14)

Representação STL

CALL GET, I_GET //Com DB Instance REQ:=I 0.2 //Partida ID:=W#16#1 //Número da conexão NDR:=#NDR_FLAG //Novo dado recebido ERROR:= #ERROR_F //End. com erro STATUS:= #STATUS_W //Inform. adicional ADDR_1:=P#I 0.0 BYTE 1 //1. var. remota ADDR_2:=P#I 4.0 WORD 1 //2. var. remota ADDR_3:= //3. var. remota ADDR_4:= //4. var. remota RD_1:=P#Q 0.0 BYTE 1 //1. var. local RD_2:=P#Q 4.0 WORD 1 //2. var. local RD_3:= //3. var. local RD_4:= //4. var. local

Representação LAD

DB14 (DB Instance)

SFB14 (GET)EN ENOREQ NDR

ERRORID

STATUSADDR_1ADDR_2ADDR_3

ADDR_4RD_1RD_2RD_3RD_4

Exemplo com parâmetros atribuídos

Page 23: Siemens - S7

SFBs de Comunicação: Bloco PUT (SFB 15)

Representação STL

CALL PUT, I_PUT(DB Instance) REQ:=I 0.3 //Partida ID:=W#16#1 //Número conexão DONE:= #DONE_F //Término c/Sucesso ERROR:= #ERROR_F //Término com erro STATUS:= #STATUS_W //Informação término ADDR_1:=P#Q 12.0 WORD 1 //1. var. remota ADDR_2:= //2. var. remota ADDR_3:= //3. var. remota ADDR_4:= //4. var. remota SD_1:=P#I 2.0 WORD 1 //1. var. local SD_2:= //2. var. local SD_3:= //3. var. local SD_4:= //4. var. local

Representação LAD

DB15 (DB Instance)

SFB15 (PUT)EN ENOREQ DONE

ERRORID

STATUSADDR_1ADDR_2ADDR_3

ADDR_4SD_1SD_2SD_3SD_4

Exemplo com parâmetros atribuídos

Page 24: Siemens - S7

SFBs de Comunicação: Bloco USEND (SFB 8)

Representação STL

CALL USEND, I_USEND(DB Instance) REQ:= I 0.4 //Partida ID:=W#16#3 //Número conexão R_ID:=DW#16#B1 //Bloco par DONE:= #DONE_F //Término c/sucesso ERROR:= #ERROR_F //Término com erro STATUS:= #STATUS_W //Informação de erro SD_1 :=P#DB3.DBX0.0 BYTE 100 //1. var. local SD_2 :=P#DB3.DBX100.0 BYTE 100 //2. var. local SD_3 :=P#DB3.DBX200.0 BYTE 100 //3. var. local SD_4 :=P#DB3.DBX300.0 BYTE 154 //4. var. local

Representação LAD

DB 8 (DB Instance)

SFB 8 (USEND)EN ENOREQ DONE

ERRORID

STATUSR_IDSD_1SD_2SD_3SD_4

Exemplo com parâmetros atribuídos

Page 25: Siemens - S7

SFBs de Comunicação: Bloco URCV (SFB 9)

Representação STL

CALL URCV, I_URCV //com DB Instance EN_R:= I 0.5 //Partida ID:= W#16#3 //Conexão S7 R_ID:= DW#16#B1 //Bloco par NDR:= #NDR_F //Novo dado recebido ERROR:= #ERROR_F //Término com erro STATUS:= #STATUS_W //Informação de erro RD_1:=P#DB3.DBX0.0 BYTE 100 //1. var. RD_2:=P#DB3.DBX100.0 BYTE 100 //2. var. RD_3:=P#DB3.DBX200.0 BYTE 100 //3. var. RD_4:=P#DB3.DBX300.0 BYTE 154 //4. var.

Representação LAD

DB 9 (DB Instance)

SFB 9 (URCV)EN ENOEN_R NDR

ERRORID

STATUSR_IDRD_1RD_2RD_3RD_4

Exemplo com parâmetros atribuídos

Page 26: Siemens - S7

SFBs de Comunicação: Bloco BSEND (SFB 12)

Representação STL

CALL BSEND, I_BSEND //Com DB InstanceREQ:= I 0.4 //PartidaR:= I 0.5 //Reseta BSENDID:=W#16#3 //Conexão S7R_ID:=DW#16#B2 //Bloco parDONE:= #DONE_F //Término c/ sucessoERROR:= #ERROR_F //Término com erroSTATUS:= #STATUS_W //Informação adicionalSD_1:=P#DB1.DBX0.0 BYTE 40000 //Dado enviadoLEN:= #DB_LEN //Comprimento do dado

Representação LAD

DB 12 (DB Instance)

SFB 12 (BSEND)EN ENOREQ DONE

ERRORR

STATUSIDR_IDSD_1LEN

Exemplo com parâmetros atribuídos

Page 27: Siemens - S7

SFBs de Comunicação : Bloco BRCV (SFB 13)

Representação STL

CALL BRCV, I_BRCV //Com DB Instance EN_R:= I 0.4 //Partida ID:=W#16#3 //Conexão S7 R_ID:=DW#16#B2 //Bloco par NDR:= #NDR_F //Novo dado recebido ERROR:= #ERROR_F //Término com erro STATUS:= #STATUS_W //Informação adicional RD_1:=P#DB2.DBX0.0 BYTE 40000 //Caixa correio Rec. LEN:= #DB_LEN //Comprim. cx.correio Rec.

Representação LAD

DB 13 (DB Instance)

SFB 13 (BRCV)EN ENOEN_R NDR

ERRORID

STATUSR_IDRD_1LEN

Exemplo com parâmetros atribuídos

Page 28: Siemens - S7

SFBs de Comunicação : Bloco STOP (SFB20)

Representação STL Representação LAD/FBD

CALL "STOP","I_STOP" //DB Instance REQ:= I 0.0 //Degrau de partida ID:= W#16#1 //Número da conexão PI_NAME:= P#M100.0 Byte 9 //Ver nota de rodapé IO_STATE:= //Não usado DONE:= #DONE_F_20 //Término c/sucesso ERROR:= #ERROR_F_20 //Término com erro STATUS:= #STATUS_W_20 //Informações de erro

DB20 (DB Instance)

SFB20(STOP)EN ENOREQ DONE

ERRORIDSTATUSPI_NAME

IO_STATE

Exemplo com parâmetros atribuídos

* Detalhe da posição na memória para o início do: 'P_PROGRAM''

Page 29: Siemens - S7

Representação STL

Representação LAD/FBD

DB19 (DB Instance)

SFB19 (START)EN ENOREQ DONE

ERRORIDSTATUSPI_NAME

ARGIO_STATE

SFBs de Comunicação : Bloco START (SFB19)

* Detalhe da posição na memória para o início do: 'P_PROGRAM''

Exemplo com parâmetros atribuídos

CALL "START","I_START" //Com DB Instance REQ:= I 0.1 //Degrau de partida ID:= W#16#1 //Número da conexão PI_NAME:= P#M100.0 Byte 9 //Ver nota de rodapé ARG:= //Não usado IO_STATE:= // Não usado DONE:= #DONE_F_20 //Término com sucesso ERROR:= #ERROR_F_20 //Término com erro STATUS:= #STATUS_W_20 //Informações de erro

Page 30: Siemens - S7

SFBs de Comunicação : Bloco controle (SFC 62)

Representação STL Representação LAD

CALL "controle" EN_R:= I 0. 2 //Partida I_DB:= W#16#F //Número DB Instance OFFSET:= W#16#0 //Para multi-instances RET_VAL:= MW4 //Informações erro ERROR:= Q 0.4 //Término com erro STATUS:= MW 4 //Informação estado I_TYP:= MB 52 //Tipo de SFB I_STATE:= MB 53 //Estado SFB I_CONN:= M 54.0 //Estado de conexão I_STATUS:= MW102 //Estado do SFB

SFC 62 (CONTROL)EN ENOEN_R RET_VAL

ERRORI_DB

STATUSOFFSETIO_STATE

I_CONN

I_TYPI_STATE

I_STATUS

Exemplo com parâmetros atribuídos

Page 31: Siemens - S7

Exercício 10.1: Configurando uma conexão S7

S7-400MPI=3

S7-300

Conexão S7 lógica(mão única)

MPI=2

CPU

MPI=2

CPU

MPI=2

1ID Local

PG 720

MPI=0

Cabo PROFIBUS

Cabo MPI

Page 32: Siemens - S7

Exercício 10.2: Comunicação com os SFBs GET/PUT

CALL SFB14,DB14REQ= I 0.0ID:=W#16#1...CALL SFB 15,DB15REQ=I 0.1ID:=W#16#1....

Programa no S7-400

OB 1

PUT

QB 40IB 0

IW 4 QW 42

IW 30 QW 12

S7-400

S7-300

CPU

MPI=2

CPU

1

GET

Page 33: Siemens - S7

Exercício 10.3: Comunicação com os SFBs START/STOP

S7-400MPI=3

S7-300

Conexão S7 lógica(mão única)

CALL SFB20,DB20REQ= I 28.0ID:=W#16#1PI_NAME:= P#M100.0 Byte 9

CALL SFB 19,DB19REQ=I 28.1ID:=W#16#1PI_NAME:= P#M100.0 Byte 9 ...

Programa no S7-400

MPI=2

OB 1

CPU

MPI=2

CPU

MPI=2

1

ID Local


Top Related