communication s7200 to s7300

M

Thread Starter

me

bonjour,
have you a program exemple, communication s7 200 to s7 300 by MPI. I would like use NETR.
 
<p>Hello,

<p>Using X_GET and X_PUT I was success communicating S7-400 to S7-200 using MPI. The S7-400 must be master and S7-200 must be slave. It is the same for S7-300.
There is nothing to do at the slave side and at the master side some like:
<pre>
FUNCTION "MPI COMS" : VOID
TITLE =
AUTHOR :
VERSION : 0.1


VAR_TEMP
AuxRet : INT ;
AuxBusy : BOOL ;
END_VAR
BEGIN
NETWORK
TITLE =
//Verificar St
//
L "StComMPI";
L 0;
<>I ;
SPB FBW;
NETWORK
TITLE =
//Comunicaciones (dirección MPI 5): Read
//
U "Fijo_1";
= L 3.0;
BLD 103;
U "Fijo_0";
= L 3.1;
BLD 103;
CALL "X_GET" (
REQ := L 3.0,
CONT := L 3.1,
DEST_ID := W#16#5,
VAR_ADDR := MB 30,
RET_VAL := #AuxRet,
BUSY := #AuxBusy,
RD := "ReadBlock");
NOP 0;
NETWORK
TITLE =
//Copia de datos
L "ReadBlock";
T DB1.DBB 0;
NOP 0;
NETWORK
TITLE =
//Error de Read
U( ;
L #AuxRet;
L 0;
<=I ;
) ;
UN #AuxBusy;
S "_Block".ErrorComRd;
U( ;
L #AuxRet;
L 1;
==I ;
) ;
UN #AuxBusy;
R "_Block".ErrorComRd;
NOP 0;
NETWORK
TITLE =
//Completada una Read, cambiar a Write
UN #AuxBusy;
SPBNB _001;
L 1;
T "StComMPI";
_001: NOP 0;
NETWORK
TITLE =
//Salir del bloque
U "Fijo_1";
SAVE ;
BEB ;
NETWORK
TITLE =
//Verificar St
//
FBW: L "StComMPI";
L 1;
<>I ;
SPB CRR;
NETWORK
TITLE =
//Copia de Datos
L DB1.DBB 1;
T "WriteBlock";
NOP 0;
NETWORK
TITLE =
//Comunicaciones (dirección MPI 5): Write
//
U M 1.4;
= L 3.0;
BLD 103;
U "Fijo_0";
= L 3.1;
BLD 103;
CALL "X_PUT" (
REQ := L 3.0,
CONT := L 3.1,
DEST_ID := W#16#5,
VAR_ADDR := MB 31,
SD := "WriteBlock",
RET_VAL := #AuxRet,
BUSY := #AuxBusy);
NOP 0;
NETWORK
TITLE =
//Error de Write
U( ;
L #AuxRet;
L 0;
<I ;
) ;
UN #AuxBusy;
S "_Block".ErrorComWr;
U( ;
L #AuxRet;
L 0;
==I ;
) ;
UN #AuxBusy;
R "_Block".ErrorComWr;
NOP 0;
</pre>

<p>Hope this help.
 
Top