Comunicação Básica e Expandida 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
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
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
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
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
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
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
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
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
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
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
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
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
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 ---
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
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
Configuração de Redes de Comunicação com NETPRO
Duplo click
Inserir estações de HW
Duplo click Duplo click
Configuração de Conexões S7
Selecionar
Inserir conexão
CPU Remota
Estação Remota
Estabelecendo Propriedades de Conexão
Compilando e Transferindo os Dados de Configuração
Salva e Compila
Transferência
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
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
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
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
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
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
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''
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
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
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
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
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