Está en la página 1de 27

2015 CFGS

Automatizacin y
/ 2016 Robtica Industrial

Comunicaciones
Industriales

Redes MPI con Simatic S7-300


Maricruz Pacheco Tejuelo
Roberto lvarez Sindn
Revisin 0.9
Noviembre 2015
ndice
1. Introduccin ......................................................................................................................................... 1
2. Especificaciones tcnicas...................................................................................................................... 2
3. Comunicacin GD (Datos globales) ...................................................................................................... 4
Reduction ratio (factor de scan) ........................................................................................................ 4
Enlaces y estructura de los paquetes GD ........................................................................................... 5
SFCs para la comunicacin con datos globales GD ............................................................................ 6
4. Comunicacin bsica S7 ....................................................................................................................... 7
Comunicacin con funcin de recepcin (SFC65 y SFC66) ................................................................ 8
Comunicacin sin funcin de recepcin (SFC67 y SFC68) .................................................................. 9
Interrupcin de un enlace con un interlocutor existente (SFC69) ................................................... 10
5. Comunicacin S7 ................................................................................................................................ 11
6. Ejemplos de aplicacin ....................................................................................................................... 14
Configuracin de una red MPI ......................................................................................................... 14
Comunicacin mediante Datos Globales (GD) ................................................................................. 17
Comunicacin bsica S7 (X_PUT y X_GET) ....................................................................................... 21
Comunicacin bsica S7 (X_SEND y X_RCV)..................................................................................... 24

Documentacin de referencia:
EWA 4NEB 7106075-04 03 Comunicacin con SIMATIC
A5E00105477-08 S7-300 CPU 31xC y CPU 31x, Datos tcnicos
A5E00709337-01 Software de sistema para S7-300 y S7-400
Funciones estndar y funciones de sistema

Disponibles en la web del fabricante del producto:


http://swe.siemens.com
http://support.automation.siemens.com/

Este trabajo se distribuye bajo licencia Creative Commons BY-NC-SA


http://creativecommons.org/licenses/by-nc-sa/4.0/
IES Cavanilles. Alicante Comunicaciones Industriales

1. Introduccin

Este sistema de bus propietario de Siemens fue principalmente desarrollado cono interfaz de
programacin para los Simatic S7. Multi Point Interface (MPI) sirve como medio de comunicacin
homognea entre dispositivos de automatizacin Siemens y, especialmente, como medio de
comunicacin en la interfaz hombre mquina (HMI). La gran ventaja es que se incorpora de serie en
todos los equipos S7, por lo que resulta muy econmica, ya que no requiere, a diferencia de las otras
comunicaciones, una tarjeta adicional (CP).

La interfaz MPI es la base que inspir el desarrollo posterior del protocolo y especificaciones de
ProfiBus. De hecho, los conectores, cableado y repetidores que se utilizan son los mismos (conector DB9
con resistencia incorporada y cable de 2 hilos apantallado con cubierta morada). Por tanto, la red puede
configurarse como estructura lineal o en estructura rbol, con la ayuda de repetidores.

Indica resistencia ON

La red MPI debe tener la resistencia al final de la lnea generalmente incluida en el


conector, que permite conectarla o desconectarla mediante un interruptor, en funcin
de la topologa.

En general MPI se reserva para redes pequeas, con poca extensin, pocos
interlocutores y un volumen de datos a intercambiar reducido.

Comunicacin Siemens MPI 1


IES Cavanilles. Alicante Comunicaciones Industriales

2. Especificaciones tcnicas

MPI est basado en el estndar RS485 (actualmente EIA 485), trabajando a una velocidad estndar de
187,5 kbit/s, aunque puede alcanzar un mximo de 12 Mbit/s. Sus principales caractersticas:

Soporte fsico: RS485. Hasta 32 participantes en la red MPI.


Velocidad de transmisin de datos desde 187.5 kbit/s hasta 12 Mbit/s
Distancia hasta 50 m (entre el primer y ltimo nodo) y utilizando repetidores hasta 1000 m.,
siempre y cuando el repetidor est colocado en el centro del segmento a amplificar. Se pueden
colocar hasta 10 repetidores, lo que da una longitud de cableado mxima de 10km.
Componentes (cable, conectores y repetidores) son los mismos que los utilizados en una red
Profibus
Cada CPU tiene la posibilidad de un mximo de 8 conexiones de comunicacin dinmica para la
comunicacin bsica con un SIMATIC S7 300/400.
Posibilidades flexibles de configuracin en el bus o estructura en rbol (con repetidores).

Precauciones:

Para que todos los nodos puedan comunicarse en la red MPI, se deber tener en cuenta:

Cada equipo debe contener una direccin MPI, una direccin MPI mxima y una velocidad de
comunicacin.
Todas las direcciones MPI deben ser diferentes.
La direccin MPI ms alta debe de ser mayor o igual a la direccin MPI del ltimo nodo, y la
velocidad de transmisin debe de ser igual en todos los nodos.
En las CPU SIMATIC S7-300, se debe de tener en cuenta que los mdulos de comunicacin (CPs) y
mdulos de funcin (FMs) tienen una direccin MPI nica. Esta direccin es asignada
automticamente en la CPU, segn como se encuentren los mdulos colocados a su derecha en el
bastidor. De manera genrica, el direccionamiento de los diferentes mdulos sera:
o CPU: Direccin MPI
o CP/FM1: Direccin MPI + 1
o CP/FM2: Direccin MPI + 2
El acceso directo a los mdulos de expansin se realiza a travs del dispositivo de programacin a
travs de la CPU en el mdulo correspondiente. Este acceso tiene lugar en el S7-300 a travs del
bus interno de comunicaciones (BUS K).

Tipos de comunicacin soportados:

La interface MPI puede utilizarse para uniones simples en redes y permite las siguientes formas de
comunicacin:

Comunicacin bsica S7, utilizando funciones de sistema SFC, se pueden intercambiar hasta 76
byte de datos (84 en el S7-400).
Comunicacin S7, utilizando bloques de funciones SFB, se pueden intercambiar hasta 65534
byte de datos. Este tipo de comunicacin no es relevante en el S7-300, ya que slo se puede
utilizar como servidor en la comunicacin S7 a travs de MPI.

Comunicacin Siemens MPI 2


IES Cavanilles. Alicante Comunicaciones Industriales

Comunicacin de Datos Globales, las CPUs interconectadas en red pueden intercambiar datos
cclicamente unas con otras. Una CPU S7-300 puede intercambiar un mximo de 4 paquetes con
al menos 22 bytes y un mximo 15 CPUs.
La Programacin y Diagnosis de Errores puede ejecutarse va MPI desde otros elementos de
programacin/PCs a todos los PLCs conectados a la red. La interface MPI de la CPU esta
directamente conectada al bus interno de comunicaciones (BUS K) del S7-300.
La conexin desde los paneles de operador/estaciones de operador PG/OP al PLC SIMATIC S7 es
muy simple con MPI estando implementados por defecto.

Especificaciones de cada tipo de comunicacin:

SFC65 "X_SEND" SFC68 X_PUT"


Comunicacin bsica S7
SFC66 "X_RECV" SFC67 X_GET"
84 Bytes (en el S7-400)
Longitud mxima de datos 76 Bytes
76 Bytes (en el S7-300)
Tipo de configuracin No configurado No configurado
Tipo de enlace Enlace Cliente / Cliente dinmico Enlace Cliente / Servidor dinmico / esttico

SFB8 "USEND" SFB12 "BSEND" SFB15 "PUT"


Comunicacin S7
SFB9 "URCV" SFB13 "BRCV" SFB14 "GET"
Put: 160 .. 452 Bytes
Longitud mxima de datos 160 .. 453 Bytes 32768 .. 65534 Bytes
Get: 160 .. 462 Bytes
Tipo de configuracin Configurado bilateralmente Configurado unilateralmente
Tipo de enlace Enlace Cliente / Cliente esttico Enlace Cliente / Servidor esttico

Comunicacin de datos globales Valores


22 Bytes (S7-300)
Longitud mxima de datos 54 Bytes (S7-400)
22 Bytes (S7-300/S7-400)
Tipo de configuracin Ningn enlace configurado
Tipo de enlace Broadcast (ningn enlace en este sentido)

Referencia ms informacin en la web de Siemens:

https://support.industry.siemens.com/cs/document/21537047/posibilidades-de-comunicaci%C3%B3n-
a-trav%C3%A9s-de-mpi?dti=0&dl=es&lc=en-WW

Comunicacin Siemens MPI 3


IES Cavanilles. Alicante Comunicaciones Industriales

3. Comunicacin GD (Datos globales)

La comunicacin de datos globales (comunicacin GD) es un mtodo de comunicacin simple integrado


en el sistema operativo de las CPUs S7-300/S7-400, que permite intercambiar datos cclicamente entre
CPUs a travs del interface MPI. Los datos globales (GD) pueden ser:

Entradas y salidas
Marcas
Datos de mdulos de datos
Funciones de contador y tiempo

El intercambio cclico de datos se lleva a cabo con la imagen normal del proceso. La comunicacin de
datos globales se configura con STEP 7; donde se indican qu datos se intercambian y entre qu
participantes. La transferencia de los datos globales est integrada en el sistema, por lo que no se tiene
que programar, una vez configurada se realiza cclicamente de forma automtica.

Un inconveniente de este sistema es, que no hay acuse de recibo de los datos globales. El emisor no
recibe informacin alguna acerca de si hay un receptor que ha recibido los datos globales enviados y, en
caso de haberlo, cul es.

El intercambio cclico de datos tiene lugar justo en el punto en que se produce el intercambio de
imgenes de proceso. La CPU enva los datos globales al final del ciclo y lee los datos a inicio del ciclo.
Por tanto, una CPU S7-300/400 enva los datos simultneamente con todas las otras CPUs conectadas a
la red MPI (Broadcast).

Para comunicar las CPUs a travs de la red MPI debemos configurar una tabla llamada Tabla de Datos
Globales. Dicha tabla est diseada para cantidades de datos reducidos. Estos datos se transmiten
cclicamente entre CPUs. En la tabla de datos globales se puede introducir hasta 15 estaciones o nodos
diferentes. El intercambio de datos globales se realiza de la siguiente forma:

CPU emisora: Enva datos al final de un ciclo cada X ciclos.


CPU receptora: Recibe datos al inicio de un ciclo cada X ciclos.

Reduction ratio (factor de scan)


Con la ayuda de un factor de scan, introducido en la tabla de datos globales, se puede configurar el
nmero de ciclos de scan necesarios para intercambiar los datos (por defecto ajustado a 8), de esta
forma se reduce la carga de trabajo de la CPU, aunque implica un retraso en la actualizacin de los datos
de la comunicacin, ya que slo se actualiza cada ese nmero de ciclos de scan. Si se ajusta la
comunicacin a actualizar en cada ciclo de scan y la CPU tiene un ciclo muy corto (<60 ms) se podra

Comunicacin Siemens MPI 4


IES Cavanilles. Alicante Comunicaciones Industriales

sobreescribir algn paquete GD antes de ser transmitido. Este tipo de error puede ajustarse par que se
me muestre en la ventana de estado del circuito GD.

Enlaces y estructura de los paquetes GD


El intercambio de datos se produce por medio de paquetes de datos entre las CPUs, las cuales pueden
formar parte de crculos de comunicacin GD de tipo 1:N 1:1. Un crculo de comunicacin GSD est
identificado por medio de un nmero de crculo GD.

Enlace 1:N

Una CPU puede enviar sus paquetes de datos GD a varias CPUs.

Enlace 1:1:

Enlace entre 2 CPUs: Cada CPU puede enviar y recibir un nico paquete GD.

Hay que tener en cuenta que la comunicacin por Datos Globales no se programa, sino que se configura
desde el administrador de redes del proyecto. Se genera una tabla de datos globales con STEP 7, dnde
se especificarn los datos de configuracin para el intercambio de informacin.

Todas las CPUs SIMATIC S7-300/400 que participan en la comunicacin por datos globales deben de
encontrarse en el mismo proyecto STEP 7 y adems se deben configurar formando parte de la misma
red MPI.

La estructura de los datos que se transmiten por la red MPI mediante datos globales est formada por
tres cifras donde la primera indica el crculo GD, la segunda el nmero del paquete GD y la ltima los
datos a enviar en el paquete.

Paquete GD

Los datos globales que tienen el mismo emisor y el mismo receptor se renen en un paquete GD.
El paquete GD se enva en un telegrama. Un paquete GD se identifica mediante un nmero de
paquete GD. Si se sobrepasa la longitud mxima de un paquete de emisin GD se utiliza un nuevo
crculo GD.

Crculo GD

Las CPUs que participan en el intercambio de paquetes GD forman un crculo. Si en una red MPI
existen otras CPUs que intercambian paquetes GD, estas CPUs forman un segundo crculo.
Crculos diferentes pueden acceder a las mismas CPUs superponindose. El crculo GD menor se
compone de dos CPUs, y el mayor de 15. Un crculo GD slo puede contener CPUs conectadas
bien a travs de un bus de comunicaciones (bus K) bien a travs de un cable MPI. No se pueden
utilizar dos medios distintos de comunicacin al mismo tiempo.

Comunicacin Siemens MPI 5


IES Cavanilles. Alicante Comunicaciones Industriales

SFCs para la comunicacin con datos globales GD


En vez de una comunicacin cclica, pueden utilizarse las funciones de sistema Stardard Library >
System Function Blocks SFC60 GD_SND y SFC61 GD_RCV para programar el envo y recepcin de
datos globales. Los paquetes GD se deben haber configurado previamente en Step 7.

Asegurar la coherencia para el paquete GD

Un paquete GD en una CPU de envo, tiene una estructura tal, que no est garantizado de antemano
que los datos acumulados sean coherentes. Son coherentes los tipos de datos sencillos (bit, byte,
palabra y palabra doble) un array de los tipos de datos byte, palabra y palabra doble de hasta una
longitud mxima especfica de CPU receptora.

SFC60 GD_SND SFC61 GD_RCV

Descripcin de parmetros

Cdigos de error

No habr coherencia, por ejemplo, cuando consista de un array de bytes y la cantidad de bytes exceda la
longitud mxima especfica de la CPU.

En el caso de que, sin embargo, se desee coherencia para todo el paquete GD, procdase en el
programa de la siguiente forma:

o bloquese o retrdese la aparicin de eventos de error de alarma o asncronos de mayor prioridad mediante la llamada
de la SFC 39 (DIS_IRT) o la SFC 41 (DIS_AIRT).
o llmese la SFC 60 "GD_SND".
o habiltense los eventos de error de alarma o asncrono mediante la llamada de la SFC 40 (EN_IRT) o SFC 42 (EN_AIRT).

Comunicacin Siemens MPI 6


IES Cavanilles. Alicante Comunicaciones Industriales

4. Comunicacin bsica S7

Para las comunicaciones bsicas S7 no se necesita realizar una configuracin de enlaces. Las funciones
de comunicacin integradas se inician en el programa de usuario usando las SFC. En la comunicacin S7,
la CPU puede ser en principio servidor o cliente: Se distingue entre

Enlaces unilaterales (slo para X_PUT/X_GET)


Enlaces bilaterales (para X_SEND, X_RCV)

La funcionalidad disponible depende de la CPU. Por ello, en determinados casos debe emplearse un CP.

La conexin no se configura, sino que se establece explcitamente cuando el programa de usuario


llama la SFC. Una vez se han transferido los datos a la SFC, la conexin se mantiene o se finaliza, segn
sea la parametrizacin. Si no puede establecerse una conexin, la peticin en cuestin no se enviar.

Slo es posible establecer una conexin con un interlocutor en todo momento. La cantidad de
interlocutores a los que puede accederse uno detrs de otro no est limitada por los recursos de
conexin disponibles.

Como vemos, tenemos dos tipos de funciones principales.

Una con acuse de recibo SFC65 y SFC66, en el que los interlocutores envan y reciben los paquetes de
datos desde y hacia una direccin concreta que deberemos especificar en las funciones y en las que los
datos se van almacenado en un buffer que debe ser ledo. Ambas funciones son necesarias para la
comunicacin.

Por otro lado mediante las SFC67 y SFC68 leeremos o escribiremos en una variable sin necesidad de que
en el interlocutor se llame a ninguna funcin.

Comunicacin Siemens MPI 7


IES Cavanilles. Alicante Comunicaciones Industriales

Comunicacin con funcin de recepcin (SFC65 y SFC66)


La SFC 65 "X_SEND" permite emitir datos a un interlocutor situado fuera del equipo S7 propio. En el
interlocutor, la recepcin de los datos se efecta a travs de la SFC 66 "X_RCV".

Es necesario atender a que el rea de emisin (en la CPU emisora) definida a travs del parmetro SD
sea menor o igual que el rea de recepcin (en el interlocutor) definida mediante el parmetro RD. Si SD
es del tipo BOOL, RD deber ser tambin del mismo tipo.

La SFC 66 "X_RCV" permite recibir datos enviados por uno o varios interlocutores situados fuera del
equipo S7 propio utilizando la SFC 65 "X_SEND".

Con la SFC 66 "X_RCV"

es posible determinar si hay datos recibidos en el momento actual. Dado el caso, estos han
sido colocados en una cola de espera interna por parte del sistema operativo.
es posible copiar en un rea de memoria especificada el paquete de datos ms viejo de los
situados en la cola.

SFC65 (X_SEND) SFC66 (X_RCV)

Con la SFC66 podemos, bien verificar si hay datos nuevos en el buffer de entrada, llamando a la funcin
con EN_DT=0, o aceptar los datos, con EN_DT=1. En la prctica tendremos que hacer un bucle que
permita hacer la evaluacin y de inmediato aceptarlos.

Comunicacin Siemens MPI 8


IES Cavanilles. Alicante Comunicaciones Industriales

Sealizar la recepcin de datos con EN_DT=0

Tan pronto lleguen datos de un interlocutor, el sistema operativo los coloca en la cola siguiendo el
orden de recepcin.

Si se desea verificar si hay disponible como mnimo un paquete de datos, llamar la SFC 66 con EN_DT=0
y evaluar el parmetro de salida NDA:

NDA=0 significa que en la cola no hay registrado ningn paquete de datos. REQ_ID no tiene significado, RET_VAL
incluye W#16#7000.
NDA=1 significa que en la cola hay como mnimo un paquete de datos disponible.

En este caso evaluar tambin los parmetros de salida RET_VAL y, dado el caso, REQ_ID. RET_VAL
incluye la longitud en bytes del paquete de datos; REQ_ID el identificador de peticin del bloque de
emisin. Si en la cola hay varios paquetes de datos, REQ_ID y RET_VAL pertenecen al paquete ms viejo
de los situados en la cola.

Aceptar los datos en el rea de recepcin con EN_DT=1

Si se llama la SFC 66 "X_RCV" con EN_DT=1, entonces el paquete de datos ms viejo de la cola se copia
en el rea de la memoria de trabajo definida por RD. RD debe ser mayor o igual que el rea de emisin
definida mediante SD de la SFC 65 "X_SEND" asociada. Si su parmetro de entrada SD es del tipo BOOL,
RD debe ser tambin del mismo tipo. Si se desea memorizar en diferentes reas los datos recibidos,
basta con observar REQ_ID (llamada de la SFC con EN_DT = 0) y elegir RD adecuadamente en la peticin
sucesiva (con EN_DT = 1).Si al copiar no ha aparecido ningn error, entonces RET_VAL contiene la
longitud, en bytes, del paquete de datos copiado; seguidamente se enva un acuse positivo al emisor.

Comunicacin sin funcin de recepcin (SFC67 y SFC68)


La SFC 68 "X_PUT" permite escribir datos en un interlocutor situado fuera de la estacin S7 propia. En el
interlocutor no existe ninguna SFC asociada.

La escritura se activa tras llamar la SFC con REQ=1. Seguidamente se llama tantas veces la SFC hasta que
se sealice, con BUSY=0, la recepcin del acuse.

Es necesario atender a que el rea de emisin (en la CPU emisora) definido mediante el parmetro SD
tenga la misma longitud que el rea de recepcin (en el interlocutor) definida con el parmetro
VAR_ADDR. Adems deben coincidir los tipos de datos en SD y VAR_ADDR.

La SFC 67 "X_GET" permite leer datos de un interlocutor situado fuera del equipo S7 propio. En el
interlocutor no existe ninguna SFC asociada.

La lectura se activa llamando la SFC con REQ=1. Seguidamente se llama la SFC tantas veces como sea
necesario para que se sealice, con BUSY=0, la recepcin de los datos.

Entonces, RET_VAL incluye la longitud, en bytes, del paquete de datos recibido. Es necesario atender a
que el rea de recepcin (en la CPU receptora) definida mediante el parmetro RD sea como mnimo tan
largo como el rea de lectura (en el interlocutor) definida con el parmetro VAR_ADDR. Adems
debern coincidir los tipos de datos de RD y VAR_ADDR.

Comunicacin Siemens MPI 9


IES Cavanilles. Alicante Comunicaciones Industriales

SFC68 (X_PUT) SFC67 (X_GET)

Interrupcin de un enlace con un interlocutor existente (SFC69)


La SFC 69 "X_ABORT" permite interrumpir el enlace con un interlocutor situado fuera del equipo S7
propio y que fue establecido con una de las SFCs X_SEND, X_GET o X_PUT. En caso de que haya
concluido la peticin correspondiente a X_SEND, X_GET o X_PUT (BUSY = 0), los recursos que haban
estado ocupados por ese enlace quedan libres a ambos lados tras llamar a la SFC 69 "X_ABORT".

En caso de que la peticin correspondiente a X_SEND, X_GET o X_PUT (BUSY = 1) todava no haya
concluido, al terminar la interrupcin del enlace el usuario debe volver a llamar a la correspondiente SFC
especificando REQ = 0 y CONT = 0, y esperar hasta obtener la seal BUSY = 0. Y en el instante en que se
obtenga dicha seal volvern a quedar libres todos los recursos que haban permanecido ocupados por
ese enlace.

La SFC 69 "X_ABORT" slo puede llamarse en el lado dnde corre la SFC "X_SEND", "X_PUT" o "X_GET".
La interrupcin del enlace se activa una vez llamada la SFC con REQ=1.

SFC69 (X_ABORT)

Comunicacin Siemens MPI 10


IES Cavanilles. Alicante Comunicaciones Industriales

5. Comunicacin S7

Los servicios de comunicacin S7 ofrecen un intercambio de datos por medio de bloques de funcin del
sistema para comunicacin (SFBs) y bloques de funcin para comunicacin (FBs) para enlaces S7
configurados.

Todos los controladores SIMATIC S7 y C7 tienen servicios de comunicacin S7 integrados con los que el
programa de usuario puede leer o escribir datos. Los controladores S7-400 utilizan SFBs y los
controladores S7-300 y C7 utilizan FBs. Estas funciones estn disponibles independientemente del
sistema de comunicacin empleado, de modo que puede utilizar la comunicacin S7 a travs de
PROFINET, Industrial Ethernet, PROFIBUS o MPI.

Los servicios de comunicacin S7 ofrecen las siguientes funciones:

En la configuracin del sistema se configuran los enlaces que deben utilizarse en la comunicacin
S7. Estos enlaces permanecen configurados hasta que se carga una nueva configuracin en el
sistema de destino.
Puede configurar varios enlaces con un interlocutor. El nmero de interlocutores disponibles en
un momento determinado est limitado al nmero de recursos de conexin disponibles en la CPU
o en el CP.
Con la comunicacin S7 puede transmitir un bloque de un mximo de 64 KB por llamada del SFB o
del FB. Una S7-400 enva como mximo cuatro variables por cada llamada de bloque. Una S7-300
enva como mximo una variable por cada llamada de bloque.

En la comunicacin S7, la CPU puede ser en principio servidor o cliente: Se distingue entre

Enlaces unilaterales (slo para PUT/GET)


Enlaces bilaterales (para USEND, URCV, BSEND, BRCV, PUT, GET)

La funcionalidad disponible depende de la CPU. Por ello, en determinados casos debe emplearse un CP.
Comunicacin S7 en funcin del tipo de interfaz, el modelo de CPU y la versin de FW.

Comunicacin Siemens MPI 11


IES Cavanilles. Alicante Comunicaciones Industriales

Los servicios de comunicacin disponibles para el S7-300 a travs del interfaz MPI, incluidos los que ya
hemos visto en los puntos anteriores, se resumen en la tabla siguiente:

Enlace S7 como va de comunicacin

Cuando los mdulos S7 se comunican entre S, se establece entre ellos un enlace S7. Este enlace S7 es la
va de comunicacin.

Nota: La comunicacin de datos globales, el acoplamiento punto a punto y la comunicacin va PROFIBUS DP,
PROFINET CBA, PROFINET IO, TCP/IP, ISO on TCP, UDP, servidor web y SNMP no requieren enlaces S7.

Todo enlace requiere recursos de enlace S7 en la CPU mientras dure esta comunicacin. Por ello, en
todas las CPUs S7 existe un determinado nmero de enlaces S7 ocupados por distintos servicios de
comunicacin (comunicacin PG y OP, comunicacin S7 o comunicacin bsica S7).

En la CPU se reserva automticamente un recurso de enlace para la comunicacin con la PC y uno para
la comunicacin con el OP. Si necesita ms recursos de enlace (p. ej. al conectar varios OPs), aumente la
cantidad en el cuadro de dilogo de propiedades de la CPU, en STEP 7.

Tambin deben configurarse enlaces para utilizar la comunicacin S7 (con NetPro). Para ello debe haber
enlaces disponibles que No estn ocupados por enlaces PG/OP o por otros enlaces. Los enlaces S7
necesarios se ocuparn al cargar la configuracin en la CPU para la comunicacin S7.

En S7-300, S7-400 y sistemas C7, los siguientes bloques de comunicacin se encargan de la


comunicacin S7 mediante enlaces S7 configurados:

o BSEND (SFB12 / FB12) y BRCV (SFB13 / FB13)


o USEND (SFB8 / FB8) y URCV (SFB9 / FB9)
o GET (SFB14 / FB14) y PUT (SFB15 / FB15)
o SFBs y SFCs de alarma (ALARM_R y ALARM_S)

Las CPU de la serie S7-300 son limitadas en cuanto a las posibilidades de comunicacin S7 por MPI, tanto
por la capacidad de la CPU como por las especificaciones de esta comunicacin limitadas a 187.5 kb/s
(hasta 12 Mb/s en la serie S7-400 y en algunas CPU 300 de gama alta). En la prctica es ms adecuado
trabajar con las funciones de comunicacin bsica, si no hay un interlocutor S7-400 en la red.

Comunicacin Siemens MPI 12


IES Cavanilles. Alicante Comunicaciones Industriales

Disponibilidad de recurso de conexin y reservados, en funcin de la CPU:

En los S7-300 slo se puede configurar la comunicacin S7 como servidor, pero no como cliente, lo que
en la prctica no permite interconectar dos o ms S7-300 entre s por este tipo de comunicacin a
menos de que se disponga de unidades de comunicacin (CP) en los equipos cliente.

Ms informacin en la web de Siemens: Comunicaciones en red MPI - Profibus, con ejemplos:

https://support.industry.siemens.com/cs/document/23847972/%C2%BFqu%C3%A9-posibilidades-
existen-para-intercambiar-datos-entre-varias-cpus-a-trav%C3%A9s-una-red-mpi-profibus-
dp?dti=0&dl=es&lc=en-WW

Comunicacin Siemens MPI 13


IES Cavanilles. Alicante Comunicaciones Industriales

6. Ejemplos de aplicacin

Configuracin de una red MPI


Para cualquier tipo de comunicacin en red MPI, lo primero que tendremos que hacer es configurar los
dispositivos y la red.

Desde el Administrador Simatic crearemos un proyecto en el que se incluyan todos los PLC que van a
participar en la comunicacin y haremos la configuracin del HW de cada uno de ellos.

Una vez configurados los equipos, pasaremos a configurar la red MPI con el programa NetPro, al que
podemos acceder de diversas maneras:

La configuracin pude hacerse bien desde NetPro o tambin podramos haberla hecho directamente
desde la ventana de HW de cada uno de los PLC indicando la direccin MPI nica que tendrn en la red.

Comunicacin Siemens MPI 14


IES Cavanilles. Alicante Comunicaciones Industriales

Por defecto todos los PLC tienen la misma direccin MPI (2), por lo que deberemos ajustar una diferente
para cada uno de ellos y conectarlos a la red. Por ejemplo, ajustaremos las direcciones 2, 3 y 5.

Haciendo doble clic sobre la interfaz MPI (el cuadrado rojo), editamos sus propiedades y

Comprobaremos como han cambiado las direcciones de cada uno de ellos y que adems aparece una
lnea roja que indica que la estacin est conectada a la red MPI.

Guardaremos y compilaremos la configuracin antes de cargarla en los equipos.

Comunicacin Siemens MPI 15


IES Cavanilles. Alicante Comunicaciones Industriales

Seleccionaremos cada uno de los equipos y cargaremos su configuracin, conectando el cable de


comunicacin MPI cada vez en el equipo correspondiente.

Podramos haberlo hecho tambin directamente desde la configuracin HW de cada equipo y


transferirlo junto con el resto de la configuracin.

Una vez cargadas las configuraciones conectaremos el puerto MPI de cada PLC con el
cable morado usado en ProfiBus, asegurndonos de que el interruptor de los conectores
de los extremos estn en ON (en este caso los PLC con direccin 2 y 5), mientras que el
conector del PLC intermedio (con direccin 3 en nuestro ejemplo), est en la posicin
OFF.

Nota: Si en los PLC existe un mdulo de comunicacin (un CP 342-5, por ejemplo), ser necesario asignar a estos
una direccin MPI unvoca (aunque no se utilice en la comunicacin) ya que por defecto todos tienen la direccin
MPI 3, dando un error por ser utilizada ms de una vez. Basta con asignar una direccin a cada uno de estos
mdulos que sea diferente.

Comunicacin Siemens MPI 16


IES Cavanilles. Alicante Comunicaciones Industriales

Comunicacin mediante Datos Globales (GD)


Partimos de una red MPI correctamente configurada en la que tenemos conectados 3 PLC con
direcciones MPI 2, 3 y 5.

Accederemos a la vista de redes NetPro y seleccionaremos la red MPI (pinchar sobre la barra roja a la
que estn conectados los puertos MPI de los PLC), despus, sobre Herramientas > Definir datos globales.

Nos aparecer una ventana en la que se procede a la configuracin de los datos globales del sistema.
Sobre una columna, pinchando con el botn derecho del ratn, nos permitir elegir la CPU relacionada
con esos datos.

Se abrir entonces una ventana en la que podremos seleccionar de entre todas las CPU del proyecto a la
que configuraremos esos datos. Hay que tener en cuenta que la configuracin se hace directamente
sobre la CPU, por lo que deberemos hacer doble clic y acceder a la CPU de ese PLC

Comunicacin Siemens MPI 17


IES Cavanilles. Alicante Comunicaciones Industriales

Repetiremos el proceso y agregaremos las CPU que van a participar en la comunicacin, tendremos
entonces en nuestro ejemplo 3 columnas, una con cada PLC.

Ahora ya podemos proceder a indicar qu datos van a intercambiar los PLC. Primeramente tendremos
que especificar quin va a ser el PLC emisor de los datos ye despus el o los receptores de los mismos.
Bien seleccionndolo con el botn derecho del ratn o con la combinacin de teclas CTRL+D, indicamos
la celda del emisor, que quedar coloreada en verde y con la indicacin (>) en la celda.

Ahora deberemos introducir los datos a enviar. Recordemos que podemos enviar hasta 8 bytes y que el
conjunto de la comunicacin GD (todos los datos envidos por todos los participantes) no pueden
exceder de 22 bytes en total.

La sintaxis a utilizar comprende la direccin a enviar (en el caso de datos BOOL) o el byte, palabra, doble
palabra o bloque de datos inicial que se enva y la longitud del mismo (con el lmite de 8 byte). En caso
de necesitar editar una entrada, pulsar F2.

Comunicacin Siemens MPI 18


IES Cavanilles. Alicante Comunicaciones Industriales

Una vez editada la tabla, pulsaremos en el icono o con CTRL+B para compilar los datos y verificar que no
haya errores en la tabla

Por ejemplo, en este caso tendremos 4 crculos (cada crculo es una conexin diferente entre CPUs), el
primero entre el PLC_1 y el PLC_3 (con dos paquetes GD), el segundo incluye al PLC_1 con los PLC_2 y
PLC_3, el tercero los PLC_2 y PLC_3 y por ltimo el cuarto crculo comprende el PLC_2 con el PLC_1.

Tendremos que:

GD 1.1.1 El PLC_1 transfiere la M10.0 al PLC_3 en M20.5


GD 1.2.1 El PLC_2 transfiere el byte de entradas EB124 al byte de salidas AB125 del PLC_1
GD 2.1.1 El PLC_1 Trasfiere los bytes de entradas EB124 y EB125 a las salidas AB124 y AB125 de ambos PLC_2 y PLC_3
GD 3.1.1 El PLC_2 transfiere 2 palabras de DB1.DBW0 a 2 palabras a partir de DB3.DW5 en el PLC_3
GD 4.1.1 El PLC_2 transfiere su byte de entradas EB124 al byte de salidas AB124 del PLC_1

Recordemos que: Paquete GD


Los datos globales que tienen el mismo emisor y el mismo receptor se renen en un paquete
GD. El paquete GD se enva en un telegrama. Un paquete GD se identifica mediante un nmero
de paquete GD. Si se sobrepasa la longitud mxima de un paquete de emisin GD se utiliza un
nuevo crculo GD.
Crculo GD
Las CPUs que participan en el intercambio de paquetes GD forman un crculo. Si en una red
MPI existen otras CPUs que intercambian paquetes GD, estas CPUs forman un segundo crculo.
Crculos diferentes pueden acceder a las mismas CPUs superponindose. El crculo GD menor
se compone de dos CPUs, y el mayor de 15. Un crculo GD slo puede contener CPUs
conectadas bien a travs de un bus de comunicaciones (bus K) bien a travs de un cable MPI.
No se pueden utilizar dos medios distintos de comunicacin al mismo tiempo.

Comunicacin Siemens MPI 19


IES Cavanilles. Alicante Comunicaciones Industriales

Desde la ventana Ver > Factores de ciclo, podemos ver y modificar cada cuantos ciclos se mandan los
paquetes en cada crculo (por defecto 8, reducirlo con precaucin para evitar la prdida de paquetes en
tiempos de ciclo cortos o en comunicaciones las que participen CPU lentas).

Una vez editada la tabla correctamente, se compilar y se deber cargar en los PLC lo que se hace
directamente desde el editor GD Nos dar un aviso respecto a los factores de ciclo establecidos y
proceder a la carga de los datos en cada CPU.

Si estamos conectados a los


PLC mediante un cable por
MPI, deberemos realizar la
carga uno a uno,
desconectando y conectando
alternativamente el cable a
cada PLC.

Ya slo queda probar que el sistema funciona correctamente activando las entradas de los PLC y
comprobando que se reflejan en los otros. Para monitorizar las marcas y los DB podemos usar una tabla
de variables y conectarnos a cada PLC por el cable MPI para ver que sucede.

Nota:
En caso de transferir bloques de datos, como en el ejemplo, se deben crear en los PLC implicados las DB
direccionadas, con una estructura ARRAY de suficientes bytes.

Comunicacin Siemens MPI 20


IES Cavanilles. Alicante Comunicaciones Industriales

Comunicacin bsica S7 (X_PUT y X_GET)


Partimos de una red de 3 PLC correctamente configurada. Si usamos la del ejemplo anterior, tomar la
precaucin de borrar la tabla de datos globales y transferir la configuracin para evitar un mal
funcionamiento.

En este ejemplo vamos a usar las funciones X_PUT y X_GET para mover las entradas del PLC_1 a las
salidas de los otros dos. Moveremos el EB124 del PLC_1 al AB124 del PLC_2 y el EB125 del PLC_1 al
AB124 del PLC_3. Opcionalmente adems, pondremos la EB124 de los PLC_2 y PLC_3 en las salidas
AB_124 y AB_125 en el PLC_1.

Trabajaremos directamente en el OB1, pero podramos hacerlo desde cualquier FC. Necesitamos un
trigger o disparador de la transmisin de datos, por lo que haremos un apao del siguiente tipo.
Comparamos el EB124 y el EB125 (el EW124, en definitiva), con una palabra de marcas (la MW en este
ejemplo). Si no coinciden, se activar una marca que mover las entradas al byte de marcas y activar el
disparo de las funciones de transferencia. De esta forma, cada cambio en el estado de las entradas
provocar la transmisin de los nuevos datos.

Condicin de disparo:

Programa de transferencia para el PLC_1:

Usamos la funcin SFC68 (X_PUT) para mover el byte de entradas E124 del PLC_1 al byte de salidas A124
del PLC_2 (direccin W#16#3) y el byte de entradas E125 del PLC_1 al byte de salidas A124 del PLC_3
(direccin W#16#5). Por coherencia de los datos realmente transferimos los datos que se encuentran en
el rea de marcas a los que los hemos movido previamente.

El sistema as configurado cerrar la conexin una vez transferidos los datos y no lo volver a abrir hasta
que se modifique el estado de las entradas del PLC_1.

Comunicacin Siemens MPI 21


IES Cavanilles. Alicante Comunicaciones Industriales

El problema para saber si los PLC_2 y PLC_3 tienen datos que transferir es que no tenemos nada que nos
lo indique. Lo que haremos es abrir un canal de comunicacin con cada PLC con la funcin SFC67
(X_GET) y lo mantendremos abierto, de forma que la comunicacin entre ellos quedar abierta y se
refrescar cclicamente.

Como la instruccin necesita una condicin de disparo, usaremos en este ejemplo la entrada fsica
E126.0 del PLC_1 y con la E126.1 activada mantendremos el canal de comunicacin abierto.

Comunicacin Siemens MPI 22


IES Cavanilles. Alicante Comunicaciones Industriales

Vamos a aadir una funcin que me permita interrumpir la comunicacin X_GET con los PLC_2 y PLC_3,
para lo que usamos la SFC69 (X_ABORT). Como disparador uso la entrada del PLC_1 E126.1 (la misma
que he usado para mantener el estado activo), de forma que cuando la desconecte se interrumpa la
comunicacin.

Comprobar qu si mantenemos la entrada E126.0 conectada de forma permanente ya no se


envan los datos a las salidas de los PLC_2 y PLC_3, aunque s que se reciben las modificaciones en
las entradas de los mismos. Recordemos que slo se puede mantener abierto un enlace entre
dos PLC al mismo tiempo por este mtodo. Al mantener abierto la peticin X_GET, las
modificaciones de las entradas del PLC_1 ya no se transmiten a los otros dos PLC, pero s que se
reciben los datos de sus entradas.

Verificar cmo X_ABORT permite interrumpir la comunicacin.

Como ejercicios se propone:

o Reflejar el valor de la entrada analgica 1 del PLC_1 en las salidas analgicas de los PLC_2 y
PLC_3 (usar marcas ya que no se pueden transferir directamente a unidades de periferia).
o Intercambiar los interlocutores, de forma que sean los PLC_2 y PLC_3 los que accedan a los
datos del PLC_1.
o Hacer que la comunicacin no sea cclica, esto es que los datos se manden slo cuando haya
modificaciones en los estados de las entradas.

Comunicacin Siemens MPI 23


IES Cavanilles. Alicante Comunicaciones Industriales

Comunicacin bsica S7 (X_SEND y X_RCV)


Nuevamente partimos de una red de 3 PLC correctamente configurada. Si usamos alguno de los
ejemplos anteriores, tomar la precaucin de borrar la tabla de datos globales y/o los bloques de
programa y transferir la configuracin limpia para evitar un mal funcionamiento.

El problema con estas funciones es que no slo hemos de usar un disparador para enviar los datos, sino
que adems hemos de recepcionarlos.

Los datos recibidos se almacenan en un buffer de datos y han de ser evaluados en funcin del emisor
para decidir si se descargan y a qu rea de memoria. Un problema aadido es que en una llamada
inicial a (X_RCV) slo se avisa de si hay datos nuevos en espera y si los hay, habr que evaluarlos (ver de
qu interlocutor proceden) y descargarlos al rea deseada con otra llamada a la misma funcin
activando.

El ejemplo que se propone implica que el PLC_2 y el PLC_3 enviarn el estado de sus entradas AB124 al
PLC_1 y este las recepcionar y colocar las entradas del PLC_2 en sus salidas AB124 y las del PLC_3 en
las salidas AB125.

Para cada uno de los PLC_2 y PLC_3 haremos el mismo programa, que enva las entradas AB124 cuando
hay un cambio en su estado. Como la comparacin requiere una palabra, haremos dos movimientos,
primero el byte de entradas a una marca y despus, si hay cambios a otra, comparando estas dos
marcas.

La nica diferencia ser el identificador de envo en X_SEND, que en el PLC_2 ser DW#16#3 (su
direccin MPI en hexadecimal) y para el PLC_3 ser DW#16#5 (su direccin MPI).

Comunicacin Siemens MPI 24


IES Cavanilles. Alicante Comunicaciones Industriales

Ahora en el PLC_1 crearemos la funcin que se encargar de recibir los datos, los evaluaremos y los
llevaremos al byte de salidas correspondiente, los que vengan de PLC_2 al AB124 y los que vengan del
PLC_3 al AB125.

Como ejercicio, se propone hacer que adems se muestre el valor de una entrada analgica de un PLC
en la salida de otro PLC, usando en este caso las funciones X_PUT o X_GET. Comprobar qu sucede
cuando se intentan mantener dos comunicaciones de forma simultnea entre ellos (una por X_SEND y la
otra mediante X_PUT o X_GET).

Comunicacin Siemens MPI 25

También podría gustarte