Você está na página 1de 33

Comunicao Bsica e Expandida S7

Sub-redes em SIMATIC
P G 7 2 0

OPs Rede MPI Ethernet Industrial PROFIBUS

PC, OS

PG

Ponto a Ponto

Nvel de Clula

SIMATIC S5 PROFIBUS DP

S7-400

M7-400

S7-300

-SINUMERIK, RCM -TI 505 -Outros PLC

Nvel de Campo
DP/AS-I Link ET 200C ASI (Actuator Sensor Interface) ET 200B/L

Nvel AS-I
Sub mdule AS-I

Fonte de Alimentao AS-I Equipamentos de campo com AS-I ASIC Sensores e Atuadores

Servios de Comunicao para SIMATIC


Comunicao SIMATIC S7
Dados Globais Funes PG e IHM Comun. S7 Bsica Comunicao S7 Expandida

Comun. Conf. Padres

FDL

ISO-Transport ISO-on-TCP

Comunic. aberta

FMS DP MPI Profibus

MAP 3.0

Ethernet

Servios de Comunicao S7 para S7-300/400


Dados Globais Dados Globais Sistemas Sistemas operac. operac. CPUs CPUs Programas controlados e/ou cclicos atravs da MPI ou K-Bus Sistemas Sistemas operac. operac. CPUs CPUs

Funes PG ee IHM Funes PG IHM Sistemas Sistemas operac. operac. CPUs CPUs Controle atravs sistema operacional pela MPI, K-Bus, Profibus e Ethernet Industrial Comunicao Expandida atravs Comunicao Expandida atravs de conexes configuradas de conexes configuradas SFB SFB
Programa controlado via MPI, K-Bus, Profibus ou Ethernet Industrial
P G 7 20

Comunicao Bsica sem Comunicao Bsica sem configurao de conexo configurao de conexo SFC SFC
Programa controlado via MPI ou K-Bus

SFC SFC

SFB SFB

Conexes entre Participantes da Comunicao


PROFIBUS

S7-400
CPU 1 CP

Ethernet Industrial

Conexo S7 atravs de Ethernet


Ethernet Industrial

CP CPU 2

CP

S7-300

MPI PROFIBUS Conexo S7 atravs de MPI Ethernet Industrial Conexo S7 atravs de PROFIBUS

Conexo PG atravs de MPI


P G 7 20

Conexo OP atravs de PROFIBUS

Atribuio de Recursos de Conexo para Comunicao S7


S7-300/400: MPI ou interface PROFIBUS DP interno

CPU

S7-300: PROFIBUS DP interno

CPU

FM

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

CPU

CP

S7-300: interface MPI

CPU

FM

recurso livre p/ conexo recurso de conexo ocupada

S7-400: MPI ou PROFIBUS DP interno

CPU

FM

Dados Caractersticos das CPUs S7 - Comunicao

CPU 312 1 PG 1 OP 2 p/fun. S7

IFM CPU 313 1 PG 1 OP 2 p/fun. S7 4 para SFCs

CPU 314 1 PG 1 OP 2 p/fun. S7 8 para SFCs

CPU 315/-2 DP 1 PG 1 OP 2 p/fun. S7 8 para SFCs

CPU 316

CPU 318-2

1 PG 1 PG 1 OP 1 OP 2 p/fun. S7 30 p/fun. S7 8 para SFCs ou 30 para SFCs

CPU 412-1 1 PG 1 OP 14 p/fun. S7 ou 14 para SFCs

CPU 413-1/2 DP 1 PG 1 OP 14 p/fun. S7 ou 14 para SFCs

CPU 414-1/2 DP 1 PG 1 OP 30 p/fun. S7 ou 30 para SFCs

CPU 416-1/2DP 1 PG 1 OP 62 p/fun. S7 ou 62 para SFCs

CPU 417-4 1 PG 1 OP 62 p/fun. S7 ou 62 para SFCs

SFCs de Comunicao: Vista Geral


q q

Troca de dados utilizando a sub-rede MPI ou com a estao Nenhuma configurao de conexo necessria em comparao a comunicao com uso dos SFBs A conexo com o parceiro dinamicamente configurada e disconectada Dados do usurio at 76 bytes Pode ser utilizada em todas as CPUs S7-300/400 Variveis tambm podem ser lidas e escritas no S7-200 atravs do PROFIBUS DP (X_GET, X_PUT) Os parceiros de comunicao tambm podem ser encontrados em outro projeto S7

q q q q

SFCs de Comunicao: Vista Geral dos Blocos

SFC
SFC 65 SFC 66 SFC 67 SFC 68 SFC 69 SFC 72 SFC 73 SFC 74

NAME
X_SEND X_RCV X_GET X_PUT X_ABORT I_GET I_PUT I_ABORT

Short Description
Bloco Send para envio de dados para o bloco X_RCV (Client) Bloco Receive para recebimento de dados p/o bloco X_SEND L dados do PLC parceiro Escreve dados do PLC parceiro Aborta conexo existente L dados da CPU parceira Escreve dados da CPU parceira Aborta conexo da CPU parceira

SFCs de Comunicao: Bloco X_GET (SFC 67)

Representao STL
Exemplo com parmetros atribudos

Representao LAD/FBD

SFC65 (X_GET)
CALL SFC 67 REQ:= I 0.4 //Gatilho CONT:= FALSE //Disc. conexo DEST_ID:= W#16#3 //Endereo MPI VAR_ADDR:= P#M20.0 BYTE 10 //Var. Remota RET_VAL:= MW100 //Cdigo de erro BUSY:= M 4.1 //SFC ativa SD:= P#M0.0 BYTE 10 //Varivel Local

REQ CONT DEST_ID

RET_VAL BUSY RD

VAR_ADDR

SFCs de Comunicao: Bloco X_PUT (SFC 68)

Representao STL
Exemplo com parmetros atribudos

Representao LAD/FBD

SFC68 (X_PUT)
CALL SFC 68 REQ:= I 0.5 //Gatilho CONT:= FALSE //Disc. conexo DEST_ID:= W#16#3 //Endereo MPI VAR_ADDR:= P#M20.0 BYTE 10 //Var. Remota SD:= P#M0.0 BYTE 10 //Varivel Local RET_VAL:= MW100 //Cdigo de erro BUSY:= M 4.1 //SFC ativo

REQ CONT DEST_ID

RET_VAL BUSY

VAR_ADDR SD

SFCs de Comunicao: Bloco X_SEND (SFC 65)

Representao STL
Exemplo com parmetros atribudos

Representao LAD/FBD
SFC65 (X_SEND) REQ RET_VAL BUSY CONT DEST_ID REQ_ID SD

CALL SFC 65 REQ:= M4.0 CONT:= FALSE DEST_ID:= W#16#4 REQ_ID:= DW#16#1 SD:= P#M20.0 BYTE 10 RET_VAL:= MW40 BUSY:= M 4.1

//Gatilho //Disc. conexo //Ender. MPI //Identificador //Varivel //Cdigo de erro //SFC activa

SFCs de Comunicao: Bloco X_RCV (SFC 66)

Representao STL
Exemplo com parmetros atribudos

Representao LAD/FBD
SFC66 (X_RSV) EN_DT RET_VAL REQ_ID NDA RD

CALL SFC 66 EN_DT:= TRUE RET_VAL:= MW 50 REQ_ID:= MD52 NDA:= M40.0 RD:= P#M20.0 BYTE 10

//Gatilho trans. dados //Cdigo de erro // ID do Job //Dados disponveis //Varivel

SFBs de Comunicao: Vista Geral


q q q q q q q q

Troca de dados utilizando MPI, K-Bus, Profibus ou Ethernet Industrial Configurao das conexes atravs da tabela de conexo As conexes so configuradas durante o restart completo e existem permanentemente (exceto no modo STOP) Tamanho dos dados do usurio at 64 KBytes Servios de comunicaes tambm para controle (Stop, Start) do parceiro SFBs existem para todas CPUs S7-400 Dados tambm podem ser lidos e escritos por um S7-300 (GET/PUT) Diferentes tarefas podem ser manipuladas atravs de uma conexo

SFBs de Comunicao: Vista Geral dos Blocos


SFB/SFC
SFB 8 SFB 9 SFB 12 SFB 13 SFB 14 SFB 15 SFB 16 SFB 19 SFB 20 SFB 21 SFB 22 SFB 23 SFC 62

NOME
USEND URCV BSEND BRCV GET PUT PRINT START STOP RESUME STATUS USTATUS CONTROL

Tipo de Com. Descrio abreviada


mo dupla mo dupla mo dupla mo dupla mo nica mo nica mo nica mo nica mo nica mo nica mo nica mo nica --Bloco de Envio p/envio de dados ao bloco URCV (Client) Bloco de Recebimento p/recebimento de dados do bloco USEND Bloco de Envio p/envio de grandes blocos de dados p/ bloco BRCV (at 64 KByte) Bloco de Recebimento p/recebimento de grandes blocos de dados (at 64 Kbyte) Leitura de dados do PLC parceiro Escrita de dados para o PLC parceiro Envio de dados para impressora remota Realiza restart completo no parceiro Coloca o parceiro em modo Stop Realiza restart no parceiro Verifica o estado do parceiro (RUN, STOP, start-up, hold) Recebe menssagens de estado do parceiro verifica o estado interno de uma conexo S7 + SFB

Servios de Comunicao de mo nica utilizando Conexes S7

Conexo S7 Lgica (mo nica ou mo dupla)

S7-300/400 CPU
MPI=2 MPI=3

S7-400 CPU
1 ID Local MPI=2 MPI=2

conexo fsica, p.ex. MPI

SFB:

- GET - PUT - STOP - START - STATUS

Sistema Operacional das CPUs

Servios de Comunicao de mo dupla utilizando Conexes S7


S7-400 CPU
1 MPI=2

Conexo S7 Lgica (mo dupla)

S7-400 CPU
2 ID Local MPI=2 MPI=2 Conexo fsica, p.ex. MPI

MPI=3

SFB:

- USEND - URCV - BSEND - BRCV

SFBs

- URCV - USEND - BRCV - BSEND

Configurao de Redes de Comunicao com NETPRO

Inserir estaes de HW

Duplo click

Duplo click

Duplo click

Configurao de Conexes S7
Inserir conexo Estao Remota Selecionar

CPU Remota

Estabelecendo Propriedades de Conexo

Compilando e Transferindo os Dados de Configurao


Salva e Compila Transferncia

SFBs de Comunicao: Bloco GET (SFB 14)

Representao STL
Exemplo com parmetros atribudos

Representao LAD
DB14 (DB Instance)
//Com DB Instance //Partida //Nmero da conexo //Novo dado recebido //End. com erro //Inform. adicional //1. var. remota //2. var. remota //3. var. remota //4. var. remota //1. var. local //2. var. local //3. var. local //4. var. local

CALL GET, I_GET REQ:=I 0.2 ID:=W#16#1 NDR:=#NDR_FLAG ERROR:= #ERROR_F STATUS:= #STATUS_W ADDR_1:=P#I 0.0 BYTE 1 ADDR_2:=P#I 4.0 WORD 1 ADDR_3:= ADDR_4:= RD_1:=P#Q 0.0 BYTE 1 RD_2:=P#Q 4.0 WORD 1 RD_3:= RD_4:=

SFB14 (GET) EN ENO REQ NDR ID ERROR ADDR_1 STATUS ADDR_2 ADDR_3 ADDR_4 RD_1 RD_2 RD_3 RD_4

SFBs de Comunicao: Bloco PUT (SFB 15)

Representao STL
Exemplo com parmetros atribudos

Representao LAD
DB15 (DB Instance) SFB15 (PUT) EN ENO REQ DONE ID ERROR ADDR_1 STATUS ADDR_2 ADDR_3 ADDR_4 SD_1 SD_2 SD_3 SD_4

CALL PUT, I_PUT(DB Instance) REQ:=I 0.3 //Partida ID:=W#16#1 //Nmero conexo DONE:= #DONE_F //Trmino c/Sucesso ERROR:= #ERROR_F //Trmino com erro STATUS:= #STATUS_W //Informao trmino 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

SFBs de Comunicao: Bloco USEND (SFB 8)


Representao LAD
DB 8 (DB Instance) SFB 8 (USEND) EN ENO REQ DONE ID ERROR R_ID STATUS SD_1 SD_2 SD_3 SD_4

Representao STL
Exemplo com parmetros atribudos

CALL USEND, I_USEND(DB Instance) REQ:= I 0.4 //Partida ID:=W#16#3 //Nmero conexo R_ID:=DW#16#B1 //Bloco par DONE:= #DONE_F //Trmino c/sucesso ERROR:= #ERROR_F //Trmino com erro STATUS:= #STATUS_W //Informao 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

SFBs de Comunicao: Bloco URCV (SFB 9)


Representao STL
Exemplo com parmetros atribudos

Representao LAD
DB 9 (DB Instance) SFB 9 (URCV) EN ENO EN_R NDR ID ERROR R_ID STATUS RD_1 RD_2 RD_3 RD_4

CALL URCV, I_URCV //com DB Instance EN_R:= I 0.5 //Partida ID:= W#16#3 //Conexo S7 R_ID:= DW#16#B1 //Bloco par NDR:= #NDR_F //Novo dado recebido ERROR:= #ERROR_F //Trmino com erro STATUS:= #STATUS_W //Informao 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.

SFBs de Comunicao: Bloco BSEND (SFB 12)


Representao STL
Exemplo com parmetros atribudos

Representao LAD
DB 12 (DB Instance) SFB 12 (BSEND) EN ENO REQ DONE R ERROR ID STATUS R_ID SD_1 LEN

CALL BSEND, I_BSEND //Com DB Instance REQ:= I 0.4 //Partida R:= I 0.5 //Reseta BSEND ID:=W#16#3 //Conexo S7 R_ID:=DW#16#B2 //Bloco par DONE:= #DONE_F //Trmino c/ sucesso ERROR:= #ERROR_F //Trmino com erro STATUS:= #STATUS_W //Informao adicional SD_1:=P#DB1.DBX0.0 BYTE 40000 //Dado enviado LEN:= #DB_LEN //Comprimento do dado

SFBs de Comunicao : Bloco BRCV (SFB 13)


Representao STL
Exemplo com parmetros atribudos

Representao LAD
DB 13 (DB Instance) SFB 13 (BRCV) EN ENO EN_R NDR ID ERROR R_ID STATUS RD_1 LEN

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

SFBs de Comunicao : Bloco STOP (SFB20)

Representao STL
Exemplo com parmetros atribudos

Representao LAD/FBD
DB20 (DB Instance) SFB20(STOP) EN ENO REQ DONE ID ERROR PI_NAME STATUS IO_STATE
//DB Instance //Degrau de partida //Nmero da conexo //Ver nota de rodap //No usado //Trmino c/sucesso //Trmino com erro //Informaes de erro

CALL "STOP","I_STOP" REQ:= I 0.0 ID:= W#16#1 PI_NAME:= P#M100.0 Byte 9 IO_STATE:= DONE:= #DONE_F_20 ERROR:= #ERROR_F_20 STATUS:= #STATUS_W_20

* Detalhe da posio na memria para o incio do: 'P_PROGRAM''

SFBs de Comunicao : Bloco START (SFB19)

Representao STL
Exemplo com parmetros atribudos

Representao LAD/FBD
DB19 (DB Instance) SFB19 (START) EN ENO REQ DONE ID ERROR PI_NAME STATUS ARG IO_STATE

CALL "START","I_START" REQ:= I 0.1 ID:= W#16#1 PI_NAME:= P#M100.0 Byte 9 ARG:= IO_STATE:= DONE:= #DONE_F_20 ERROR:= #ERROR_F_20 STATUS:= #STATUS_W_20

//Com DB Instance //Degrau de partida //Nmero da conexo //Ver nota de rodap //No usado // No usado //Trmino com sucesso //Trmino com erro //Informaes de erro

* Detalhe da posio na memria para o incio do: 'P_PROGRAM''

SFBs de Comunicao : Bloco controle (SFC 62)

Representao STL
Exemplo com parmetros atribudos

Representao LAD

CALL "controle" EN_R:= I 0. 2 I_DB:= W#16#F OFFSET:= W#16#0 RET_VAL:= MW4 ERROR:= Q 0.4 STATUS:= MW 4 I_TYP:= MB 52 I_STATE:= MB 53 I_CONN:= M 54.0 I_STATUS:= MW102

//Partida //Nmero DB Instance //Para multi-instances //Informaes erro //Trmino com erro //Informao estado //Tipo de SFB //Estado SFB //Estado de conexo //Estado do SFB

SFC 62 (CONTROL) EN ENO EN_R RET_VAL I_DB ERROR OFFSET STATUS IO_STATE I_TYP I_STATE I_CONN I_STATUS

Exerccio 10.1: Configurando uma conexo S7


S7-300
Conexo S7 lgica (mo nica)

CPU
MPI=2 MPI=3

S7-400 CPU
ID Local 1 MPI=2 MPI=2

Cabo PROFIBUS

P G 720

Cabo MPI MPI=0

Exerccio 10.2: Comunicao com os SFBs GET/PUT


S7-300
Programa no S7-400 OB 1
CALL SFB14,DB14 REQ= I 0.0 ID:=W#16#1 . . . CALL SFB 15,DB15 REQ=I 0.1 ID:=W#16#1 . .
. .

S7-400 CPU
1

CPU
MPI=2

QB 40

IB 0

GET

QW 42

IW 4

PUT

IW 30

QW 12

Exerccio 10.3: Comunicao com os SFBs START/STOP

Programa no S7-400 OB 1
CALL SFB20,DB20 REQ= I 28.0 ID:=W#16#1 PI_NAME:= P#M100.0 Byte 9 CALL SFB 19,DB19 REQ=I 28.1 ID:=W#16#1 PI_NAME:= P#M100.0 Byte 9 .
. .

S7-300
Conexo S7 lgica (mo nica)

CPU
MPI=2 MPI=3

S7-400 CPU
1 ID Local MPI=2 MPI=2