Comunicación MPI
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
La interface multipunto MPI (Multi Point Interface) es un protocolo serie, propio de siemens integrado en cada autómata programable SIMATIC S7. Se puede utilizar para interconexiones en red sencillas, permitiendo conectar varios PG’s o autómatas programables.
El método de acceso es de bus token. La comunicación MPI se realiza a través del puerto integrado del PLC. Si queremos conectar un PC con software de programación Step7 y el PLC, se deberá realizar a través del puerto MPI pero por medio de un adaptador. Este adaptador convertirá la señal RS-232 al interface MPI. Si queremos realizar una conexión de varios equipos con un solo PC, deberemos conectar un equipo al PC a través del puerto integrado mediante el adaptador, y mediante un cable de Profibus realizar la conexión entre el resto de los equipos De esa forma, podremos accede a cualquiera de ellos. Para la realización de la práctica hemos utilizado:
2 PLC Siemens IFM314
1 cable de comunicación PROFIBUS
Una vez los tenemos conectados tal y como muestra la figura anterior abriremos el programa Step 7 para realizar la configuración de la comunicación, ya que es importante resaltar que la comunicación no se programa, se configura.
Si ya tenemos nuestros PLCs listos para configurar.
Para poder distinguirlos con mayor facilidad vamos a cambiarles el nombre, para ello haremos click derecho sobre cada uno de ellos y seleccionaremos la opción "Cambiar nombre".
Una vez los tenemos correctamente identificados los PLC haremos click en el icono de "Configurar red" para hacer lo que su nombre indica.
En esta nueva ventana vemos los dos autómatas. Observamos que ninguno esta conectado a la red MPI.
Podemos comprobar que ademas los dos tienen asignada la dirección 2 en su interfaz, esto es debido a que se asigna por defecto cada vez que se crea un autómata. Esto debemos de modificarlo porque no podemos tener varios autómatas conectados a la misma red con la misma dirección, ya que no sabriamos a cual dirigir la información si los dos tienen la misma dirección. Así que cambiaremos la dirección del Equipo B.
Para ello sobre el cuadrado rojo haremos click derecho y seleccionaremos "Propiedades del objeto". Y en la pestaña "Parametros" cambiaremos la dirección a una que no este en eso, por ejemplo, y para usar valores consecutivos le asignaremos la dirección 3.
Para conectar los autómatas a la red MPI, arrastraremos el autómata desde el cuadrado rojo hasta la linea MPI. Repetiremos el proceso para los dos autómatas.
Una vez los tenemos conectados a la misma red MPI, procederemos a ir al menú "Herramientas" y seleccionar la opción "Definir datos globales". Si vemos que esta opción esta en gris y no deja seleccionarla nos aseguraremos de tener seleccionada la red MPI habiendo hecho click previamente en la línea roja superior.
Esta es la ventana de "GD", es decir, datos globales. Aquí es donde definiremos los datos que se transferirán de un autómata a los restantes. Para ello seleccionaremos la primera columna disponible y haremos click derecho en la cabecera de la misma para asignarle una CPU.
Aquí asignaremos la CPU del Equipo A y aceptamos.
Vemos que una vez aceptado se ha cargado en esa columna la CPU del Equipo A. Repetimos el paso para asignarla en la columna contigua la CPU del Equipo B.
Una vez tenemos configurada la tabla de datos globales vamos a proceder a definir en cada linea lo que queremos transmitir de una autómata al otro.
Cada fila de la tabla es una transferencia. Los que están sombreados en verde son los emisores, y por tanto los que estan en blanco los receptores. A la hora de seleccionar lo que vamos a transferir hay que tener mucho cuidado, ya que puede ser que no transfiramos lo que queramos. Lo explicaré más adelante cuando definamos los datos globales. De momento fijémonos que queremos mover 3 datos del Equipo A al B y el valor de las entradas del autómata B a una marca interna del autómata A.
Una vez tenemos la tabla completa hacemos click en "Compilar" y aparecerá una ventana que nos indica si hay o no errores en la tabla. Si no lo hay cerramos la ventana emergente.
Hacemos click en "Cargar" y elegimos si queremos cargar ambos equipos a la vez o de uno en uno. Ahora lo siguiente será definir los DB que hemos mencionado anteriormente.
Para definir los bloques de datos del programa deberemos hacer click en la ventana de bloques del Equipo A y haciendo click derecho "Insertar nuevo objeto --> Bloque de datos"
Se abrirá una nueva ventana, nos aseguramos que estamos definiendo DB de tipo global y aceptamos.
Una vez creado el nuevo bloque hacemos doble click sobre "DB1".
Esta es la ventana para la definición del bloque de datos para el Equipo A.
Como vamos a transferir 3 valores numéricos necesitaremos definir 3 variables de tipo INT y les pondremos los valores a transferir (31, 210, 89). Vemos que la dirección va creciendo de dos en dos, esto es porque cada INT está definido por dos bytes. Esto es muy importante ya que la lógica nos indica que si para representar el número 31 solo necesitamos 8 bits y estamos ocupando 16 pondrá la información en el byte inferior (db1.dbb0) y el superior lo rellenará a 0's (db1.dbb1). Pero esto no es así, es justo al contrario, por eso en la configuración de los datos globales hemos transferido los db1.dbb1, db1.dbb3 y db1.dbb5 que es donde realmente se ha almacenado la información que nos interesa, si cogiésemos los bytes pares nos encontraríamos con que esta a 0 todos. Una vez que tenemos el bloque de datos cerramos esta ventana.
Repetimos la operación para añadir el bloque de datos en el Equipo B.
En este caso solo definiremos la memoria que vamos a utilizar para la recepción de los datos desde el equipo A. Esto es necesario ya que la memoria no se puede crear de forma dinámica, la tenemos que definir a la hora de carga el bloque en el autómata.
Programamos el equipo A para que cuando en la marca intermedia M40.5 encuentre un 1, ponga todas las salidas del canal 124 a 1 durante 5 segundos. Recordemos que la marca intermedia M40 la recibe del Equipo B mediante la conexión MPI.
Programamos el equipo B para que refleje en su canal de salida A124 el último valor transferido mediante los datos globales cuando actuamos sobre su entrada E124.0
Una vez realizados todos los pasos anteriores sólo nos falta carga en cada equipo sus valores correspondientes mediante el botón de cargar en el autómata y comprobar que funciona tal y como esperamos.
Y con esto, si hemos seguido todos los pasos correctamente, ya tendremos dos autómatas Siemens conectados mediante MPI.