comunicación ethernet con fb´s put / get

Anuncio
How to do: Comunicación ETH con PUT/GET
COMUNICACIÓN ETHERNET CON FB´S PUT / GET
INTRODUCCIÓN
La presente guía indica como comunicar varias cpu´s en ethernet usando los FB´s
PUT/GET. Este tipo de comunicación es especialmente útil porque sólo es necesario
disponer de una cpu con cp 343 para gestionar la comunicación. Las demás pueden
tener sólo puerto ethernet pasivo (comunicación PG/OP).
COMUNICACIÓN ETHERNET CON PUT/GET
GENERACIÓN DE ENLACES S7
Los enlaces se generan en la cpu
que tiene la cp 343. En las demás
no hay que hacerlo. Los enlaces
son del tipo S7 y hay que tener
en cuenta marcar en la opción
“Punto final local del enlace” =>
“Unilateral”
1
How to do: Comunicación ETH con PUT/GET
CONFIGURACIÓN HARDWARE
Las cpu´s se configuran normalmente. Simplemente hay que asignarles sus
direcciones IP correspondientes y colgarlas de una red Ethernet.
ESTRUCTURA DE PROGRAMA
La programación de la gestión de la comunicación de los enlaces sólo se hace en la
cpu que lleva la cp 343. En las demás no hay que hacer nada, tan sólo preparar los
DB´s de datos que se quieran enviar y recibir.
Desde el OB1 se llaman a los FB´s (en este caso 100 y 101 asociados a los DB100 y
101 respectivamente) de VIPA que gestionan el intercambio de datos de entre las
diferentes Cpu´s. Estos FB´s a su vez llaman a los SFB 14 (GET) y SFB 15 (PUT)
(FB´s de sistema, los cuales tienen asociados los DB 14, 15, 16 y 17). El usuario sólo
tiene que parametrizar los bloques de gestión de intercambio FB 1XX (uno por cada
enlace). El bloque FB 1XX que gestiona el enlace con “ID 1” tendría la siguiente
estructura por ej.:
CALL "PUT_GET" , DB100
Verbind_ID:=W#16#1 // ID del enlace
ADDR_1_GET:=P#DB11.DBX 0.0 BYTE 100 // El puntero señala a la 1ª áreas de la CPU interlocutora que deben leerse.
ADDR_2_GET:=P#DB11.DBX 100.0 BYTE 50 //El puntero señala a la 2ª áreas de la CPU interlocutora que deben leerse.
RD_1_GET :=P#DB10.DBX0.0 BYTE 100 // El puntero señala aquella áreas de la CPU propia en las que se depositan los
datos leídos de la 1º area.
RD_2_GET :=P#DB10.DBX100.0 BYTE 50 // El puntero señala aquella áreas de la CPU propia en las que se depositan los
datos leídos de la 2º area.
ADDR_1_PUT:=P#DB12.DBX 0.0 BYTE 100 // Puntero señala a la 1ª áreas de la CPU interlocutora en la que se debe
escribir.
ADDR_2_PUT:=P#DB12.DBX 100.0 BYTE 50 // Puntero señala a la 2º áreas de la CPU interlocutora en la que se debe
escribir.
RD_1_PUT :=P#DB13.DBX0.0 BYTE 100 //El puntero señala a la 1ª áreas de la CPU propia en las que se depositan los
datos que se van a enviar
RD_2_PUT :=P#DB13.DBX100.0 BYTE 50 //El puntero señala a la 2ª áreas de la CPU propia en las que se depositan los
datos que se van a enviar
Start_GET :=M1.0
// Inicio función GET
Start_PUT :=M1.1
// Inicio función PUT
El DB 100 contiene los parámetros de control de este FB. Sólo hay que tener en
cuenta que para el control se utilizarán los bits DB1XX.DBX 104.1 y DB1XX.DBX
104.2, aparte de los de Start GET del FB. Por ej:
2
How to do: Comunicación ETH con PUT/GET
CALL FB 101 , DB101
Verbind_ID:=W#16#2
ADDR_1_GET:=P#DB20.DBX 0.0 BYTE 100
ADDR_2_GET:=P#DB20.DBX 100.0 BYTE 50
RD_1_GET :=P#DB18.DBX0.0 BYTE 100
RD_2_GET :=P#DB18.DBX100.0 BYTE 50
ADDR_1_PUT:=P#DB21.DBX 0.0 BYTE 100
ADDR_2_PUT:=P#DB21.DBX 100.0 BYTE 50
RD_1_PUT :=P#DB19.DBX0.0 BYTE 100
RD_2_PUT :=P#DB19.DBX100.0 BYTE 50
Start_GET :=M1.2
Start_PUT :=M1.3
ON DB101.DBX 104.1
ON DB101.DBX 104.2
SPB ende
ende: NOP 0
U
DB101.DBX 104.1
U
DB101.DBX 104.2
SPB loes
BEA
loes: NOP 0
SET
R
DB101.DBX 104.1
R
DB101.DBX 104.2
S
M
1.2
3
How to do: Comunicación ETH con PUT/GET
4
Descargar