Virgilio Vásquez López

Principal
Arriba

 

 

 

 

vlopez@itesm.mx

Interface MPI

MPI (Multi Point Interface) es la interfase de comunicación más sencilla que existe entre los equipos S7, y la más económica, ya que no requiere a diferencia de las otras comunicaciones una tarjeta adicional (CP).

Se puede transferir o acceder a cualquier zona del mapa de memoria del PLC con el que deseamos comunicarnos, y tan sólo es necesario indicar donde queremos que se nos dejen los datos leídos o cuales es la fuente de datos a enviar.

Características más importantes

bullet

Soporte físico: RS485

bullet

187.5 kbit/s hasta 12 Mbit/s

bullet

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

bullet

Componentes (cable, conectores y repetidores) son los mismos que los utilizados en una red Profibus

La interfase MPI sólo permite que una PC o PG, los cuales son dispositivos de  programación de  las estaciones que integran la red, tenga el acceso a la vez. Las direcciones  MPI de la red se disponen de la siguiente manera:

 

Dirección

Dispositivo

Descripción

0

OP

Panel de Operación

1

PC / PG

PC o Dispositivo Programador

2 hasta 31

CPU

PLC’s

 Tabla 1 Direcciones en MPI

Las direcciones  0 y 1 están reservadas como direcciones fijas y no se programan, sin embargo, si se conectan dos PC de manera simultánea en la red, esta falla, a menos que de manera directa se configure la dirección de la otra PC en la dirección 0.

 

Comunicación por datos globales (GD)

Las CPU´s S7 tienen integradas en el sistema operativo funciones de comunicación simples como la "comunicación por GD". De esta forma una CPU puede intercambiar datos con otras CPU´s a través del interface MPI sin necesidad de programación.

Se entiende bajo datos globales (comunes) las entradas, salidas, marcas y áreas en bloques de datos que se intercambian vía MPI entre dos o más CPU´s S7-300/400.

Opcionalmente es posible definir un factor de ciclo que especifica tras cuántos ciclos de programa deben emitirse / recibirse los datos. Por ejemplo para un factor de 8 (SR 8), la transferencia de datos toma lugar cada 8 ciclos del procesador. El factor puede ser de 1 a 255 (dependiendo del CPU).

Todos los datos globales que van del mismo emisor al mismo receptor se agrupan en un paquete GD. Este se envía dentro de un telegrama. El paquete GD se identifica por un número de paquete GD. Si se supera la longitud máxima de un paquete GD de emisión, se utiliza un nuevo círculo GD.

Las CPU´s que participan en el intercambio de datos de un determinado paquete GD forman un círculo GD. Si en una subred MPI hay otras CPU´s que intercambian otros paquetes GD, éstas forman un segundo círculo GD. Varios círculos pueden acceder a la misma CPU, es decir tiene la capacidad de pertenecer a varios círculos GD, como se muestra en la figura 1.

   

 

Fig. 1 Ejemplo del circulo GD y de paquete GD

 

Nota. Es posible especificar el que tan frecuente deseas transferir los paquetes de datos al modificar el scan rate. Para un factor de 8, la transferencia tiene lugar cada 8 ciclos. El factor puede ser entre 1 a 255 (dependiendo del CPU). Para acceder al scan rate, seleccione en la tabla de datos globales el menu View y posteriormente el item Scan Rate.

 

Desventajas

bulletNúmero máximo de equipos en una red MPI es de 32 participantes, pero únicamente 5 CPU´s pueden intercambiar datos
bulletCada CPU de un S7-300 puede participar hasta en 4 diferentes círculos de GD
bulletLa información se maneja en bloques de pequeñas cantidades, de hasta 22 bytes para el caso del PLC S7-300
bulletÚnicamente es para equipo SIEMENS.

 

 

 

Comunicación SFC. Bloques X_SEND y X_RCV.

Otras forma de intercambiar datos entre CPU´s S7 es por medio de las funciones especiales SFC 65 (Bloque X_SEND) y SFC 66 (X_RCV). Los elementos a comunicarse deben de estar conectadas por medio de la red MPI.

El número de datos máximos que pueden ser transferidos es de 76 bytes

SEND

Parámetro TIPO de DATO Área de Memoria Descripción
REQ INPUT BOOL I, Q, M, D, L Activa la transferencia para una señal de 1
CONT INPUT BOOL I, Q, M, D, L, CONT=0 Conexión deshabilitada

CONT=1 Conexión habilitada

DEST_ID INPUT WORD I, Q, M, D, L, Dirección MPI del PLC a donde se envía la información
REQ_ID  INPUT DWORD I, Q, M, D, L Pedimento del ID del PLC a donde se envía la información
SD INPUT ANY I, Q, M, D Área de los datos de envío
RET_VAL OUTPUT INT I, Q, M, D, Regresa el código de error
BUSY OUTPUT BOOL I, Q, M, D, L BUSY=1 Envio no completo aún

BUSY=0 Envío completo

 

 

RCV BLOCK

Parámetro TIPO de DATO Área de Memoria Descripción
EN_DT INPUT BOOL I, Q, M, D, L Parámetro de control que permite la transferencia
RET_VAL OUTPUT INT Q, M, D, L, Entrega el código de error
REQ_ID OUTPUT DWORD I, Q, M, D, L, Identificador del bloque de envío X_SEND
NDA OUTPUT BOOL I, Q, M, D, L Estatus de recepción de datos

NDA=0 No hay datos presentes

NDA=1 Al menos un bloque se encuentra presente

RD OUTPUT ANY I, Q, M, D Área de los datos de recepción