Tecnológico nacional de México
Instituto tecnológico de Tehuacán
DESARROLLO DE UN PROTOCOLO DE RED PROFINET (PROCESS FIELD
NETWORK) PARA UN SISTEMA INDUSTRIAL
Presenta:
Pedro Montalvo Montalvo
Carrera:
Ingeniería Electrónica
Producto:
Manual de comunicación profinet
Asesor Interno:
Dr. Bonfilio Javier Arango Perdomo
Asesor Externo:
M.C. Héctor Islas Torres
Profinet comunicación con PLC LOGO S71500 Y S71200
QUE ES LA RED PROFINET
PROFINET (PROcess FIeld NETwork) es un protocolo de comunicación desarrollado por la
organización PROFIBUS & PROFINET International (PI). Está diseñado para conectar dispositivos
industriales con varios tipos de equipamiento productivo, como motores, sensores y otros
dispositivos electrónicos. El protocolo fue diseñado para ser independiente del fabricante, lo que
significa que los dispositivos de diferentes marcas pueden funcionar juntos sin problemas.
Además, el protocolo se ha optimizado para proporcionar un rendimiento óptimo a través de
soluciones innovadoras como la detección automática de equipamiento, herramientas de
diagnóstico avanzadas y recuperación rápida en caso de fallas. Estas características hacen que las
redes basadas en PROFINET sean ideales para los entornos industriales modernos.
TOPOLOGIA
PROFINET le ofrece flexibilidad para el diseño de la red. PROFINET es compatible con topologías de
línea, árbol, anillo y estrella. Además, es compatible con conexiones inalámbricas mediante
Bluetooth o Wi-Fi (no vamos a cubrir el tema de redes inalámbricas en este artículo, pero puede
ver un resumen en este seminario web: Seminario web sobre redes inalámbricas).
TOPOLOGIA EN ESTRELLA
En una topología en estrella, el Switch central se conecta a todos los demás
autómatas creando una estrella. Como se muestra a continuación…
Donde los principales autómatas y el monitoreo están conectadas a un mismo
switch central.
8.3.-CONFIGURACION DE LA COMUNICACIÓN
8.3.1.- Programación del servidor PLC S7-1500
Dentro del programa TIA Portal creamos un nuevo proyecto al que nombraremos
como ‘’S71500 servidor’’ figura 8.3.1
Figura 8.3.1 nuevo proyecto
En el siguiente paso configuramos un dispositivo figura 8.3.2
Figura 8.3.2
Añadimos un nuevo dispositivo figura 8.3.3
Figura 8.3.3
En controladores agregaremos el equipo S7 (CPU 1511-1 PN 6ES7511-1AK02-
0AB0) y el módulo de entradas y salidas digitales (523-1BL00-0AA0). Figura 8.3.4
Figura 8.3.4
Nota: ya que este es una actividad para todos, no requeriremos de protección ni
seguridad para los programas por lo que en el siguiente paso desactivamos las
protecciones. Figura 8.3.5 y 8.3.6
Figura 8.3.5.-desactivar
2
Figura 8.3.6- total acceso sin protección
Para el módulo de entradas y salidas digitales (523-1BL00-0AA0). Se insertan de
la siguiente manera. figura 8.3.7
1.- nos dirigimos en la opción DI/DQ
2.-de ahí se abrirá la opción DI 16/DQ 16x24VDC/0.5A BA
3.- arrastramos al lado del PLC, el módulo 6ES7 523-1BL00-0AA0
1
Figura 8.3.7
8.3.2 Agregar una nueva conexión S7
En el primer paso (Figura 8.4.1), se creará la Configuración del Dispositivo donde
se insertará el S7 correspondiente del catálogo de hardware.
1. Haga doble clic en la interfaz Ethernet (1) para acceder a las propiedades de
la
interfaz correspondiente de la CPU (Figura 8.4.2).
Figura 8.4.1: Creación de la configuración del dispositivo
2. Seleccione una nueva subred para la conexión a través de la interfaz Ethernet.
3. Asigne una dirección IP y una máscara de subred para el controlador (1). En
este caso asigne [Link]
Figura 8.4.2: Configuración de dirección IP y máscara de subred
4. Agregue una nueva conexión en la Vista de red (Figura 8.4.3).
5. Seleccione como protocolo "Conexión S7".
6. Al hacer clic derecho en el módulo…
[Link] la nueva conexión a través del menú.
5
4
6
Figura 8.4.3: Agregar nueva conexión – configuración
8. Agregue la conexión con la siguiente configuración.
Los valores muestran la configuración predeterminada (Figura 8.4.4).
Figura 8.4.4: Agregar nueva conexión – Finalizar
8.3.3 Configurar la conexión S7 para el plc Logo como servidor
En "General" (Figura 8.5.1), proceder de la siguiente:
1. Nombre el interlocutor con el nombre "LOGO!8".
2. Introduzca la dirección IP del interlocutor "[Link]".
Figura 8.5.1: Configuración de conexión S7 – General
3. La ID local se utiliza para identificar una conexión. Seleccione o deje aquí el
valor hexadecimal "100". Figura 8.5.6
Figura 8.5.6
4. Para esta comunicación deberá desactivar el “Establecimiento de conexión
activa” figura 8.5-7, pero primero recibirá la siguiente información, que le llevará al
paso 5.
– Si el TSAP asociado tiene en los detalles de la dirección el valor "3", no se
puede desactivar el establecimiento de conexión activo.
Figura 8.5.7
5. Desactive "SIMATIC-ACC".
De la figura 8.5.8
6. Elija hexadecimal. "10" como recurso de conexión para el S7-1200.
7. Introduzca hexadecimal. "20" para el logotipo! compañero de comunicación.
6
7
Figura 8.5.8
Vuelva a los parámetros "Propiedades de conexión especiales" y elimine la marca
de verificación para el establecimiento de conexión activa.
La configuración de la conexión ya está completa en las páginas del "TIA Portal
STEP7".
8.3.4 Ajustes en LOGO!Soft Comfort
¡Configuración de IP para LOGO!
1. En el menú de LOGO!Soft Comfort V8.x, seleccione "Archivo" →
"Configuración".
¡Haga clic en “General” y configure la dirección IP y la máscara de subred para el
LOGO! unidad base. Figura 8.6.1
Figura 8.6.1: Configuración sin conexión – General
¡Configurar la conexión S7 para LOGO! como cliente figura 8.6.2
1. Seleccione en el menú LSC "Herramientas" → "Conexiones Ethernet" y cree
una nueva
conexión S7 con LOGO! actuando como cliente.
2. Haga clic derecho en Conexiones Ethernet...
3. …y seleccione la conexión de cliente para LOGO!
4. Seleccione el protocolo S7 para la conexión.
2
Figura 8.6.2: Seleccionar la conexión Ethernet – (protocolo de conexión S7)
Figura 8.6.3, el TSAP para el cliente (¡LOGO!) se establece en "20" en las
propiedades de la conexión local.
5. Seleccione "10" como TSAP para el servidor (S7-1500) y seleccione la dirección
IP del
interlocutor, en este caso IP [Link]
¡Indique en la tabla de transferencia de datos qué datos del LOGO! La unidad
base debe
transferirse al S7.
La descripción se puede encontrar en la Sección8.1, En particular (Figura 8.6.2).
5
IB
Figura 8.6.2: Propiedades de conexión local
los datos de trasferencia. Dirigirse al apartado de la imagen 8.6.2, ajustando los
parámetros
Donde:
• Dirección (remota) establece la dirección de destino, un bloque de datos en
el servidor S7 (DB1).
• Sentido, donde se observan dos tipos de flechas, establecen si los datos
son de lectura o escritura para el servidor.
• Los tipos de direcciones son: VM = VariableByte; MB = MarkerByte; QB =
OutputByte; IB = InputByte.
ID 1 (VB “4”): direcciones para las salidas del LOGO! (Q1-Q4).
• Del bloque de datos (DB1) del S7-1500, dato con un tamaño de 1 byte es
leído del DB1 (Byte “1”) y escrito a la VariableByte “4” del LOGO.
ID 2 (IB “0”): direcciones para las entradas del LOGO! (I1-I8).
• El byte de entradas (I1-I8) es escrito dentro del DB1 (Byte 0) del el S7-1500.
8.3.5 LOGO! como cliente de la conexión S7
¡El programa establece la comunicación entre el servidor y el cliente, permitiendo
que la conexión S7 controle las entradas y salidas digitales del LOGO! Figura
8.7.1
[Link] 8 bloques de entradas digitales y 8 bloques de conectores abiertos
(¡estos representan las entradas digitales del LOGO!).
[Link] 4 bloques de entrada de red y 4 bloques de salidas (¡estos representan
las salidas digitales del LOGO!).
Figura 8.7.1 conexión entradas y salidas del LOGO
[Link] la variable de memoria local, dar doble clic sobre los bloques de
entrada de red asignando la dirección 4.0, 4.1, 4.2, y 4.3 respectivamente al orden
de las salidas. Figura 8.7.2
Figura 8.7.2 variable de memoria local
8.3.6 S7-1500 como servidor para la conexión S7
¡Al igual que en el caso de LOGO!, con su memoria variable, la comunicación de
datos en el lado S7 también requiere espacio de memoria separado para el
almacenamiento y procesamiento de datos. ¡En STEP 7, los datos de LOGO! se
almacena como variables en direcciones de bloques de datos. Las variables de las
entradas y salidas del S7 están guardadas en el ejemplo de aplicación como
"variables de PLC".
¡Comunicación entre LOGO! y S7 requiere acceso absoluto a la dirección como se
describe en Figura 8.8.1., 8.8.2 y 8.8.3
1. Inserte un nuevo bloque de datos [DB1] como "Global DB" en la carpeta del
proyecto "Bloques de programa" y cámbiele el nombre a "LOGO_Input_Output".
2. Haga clic derecho en [DB1].
3. Abra sus propiedades.
4. Abrir en atributos
4. Desactive el "Acceso al bloque optimizado".
De este modo se garantiza que las direcciones sean direccionadas absolutamente
y no gestionadas ni reorganizadas por el TIA Portal.
Figura 8.8.1: Proyecto STEP 7: incluir bloque de datos sin acceso optimizado
Figura 8.8.2
5
Figura 8.8.3
En el bloque de datos se deben crear las variables individuales según la tabla de
transferencia de datos en la Figura 8.8.4. ¡Las variables para las entradas y
salidas digitales de LOGO! se almacenan como variables booleanas. Las entradas
analógicas se crean como variables del tipo "Word". El título "Offset" muestra las
direcciones iniciales absolutas de las variables en el [DB1]
Figura 8.8.4
En este paso es recomendable compilar para que las entradas y salidas sean
registradas
Nota: no olvidar activar la configuración Put-Get del plc s71500 como se muestra
en la siguiente figura. figura 8.8.5
Figura 8.8.4 acceso con PUT/GET
Incluya en el proyecto S7 los bloques de los comandos "GET" y "PUT" de S7 de la
lista de comandos.
El S7 es responsable del establecimiento activo de la conexión. Para ello, en
Conexión S7 > "General" >
"Configuración de conexión especial" debe estar marcada la casilla
correspondiente, siempre que
estén disponibles la configuración IP y los detalles de la dirección.
palabras clave "PUT, GET, comunicación S7".
8.4 conexión s71500 y s71200 en una sola subred, Dentro de este
programa utilizaremos TSEND_C Y TRCV_C
¡En el ejemplo de aplicación, para el plc s71200 está preajustada la dirección IP
[Link]
La dirección IP predeterminada de S7 es: [Link]
¡LOGO!, S7 y su PC deben estar en la misma subred: [Link]
La comunicación S7 se puede utilizar, por ejemplo, para la transferencia de datos
a
través de la interfaz PROFINET integrada y la interfaz Industrial Ethernet de las
CPU
S7-1500 y S7-1200. Figura 8.9.1
1.-Vamos a network view del programa realizado anteriormente
2.- agregaremos otro nuevo dispositivo
Figura 8.9.1
Agregamos El equipo S71200 (CPU 1212C DC/DC/DC 6ES7 212-1AE40-0XB0)
(DE LA VERSION 4.3). Figura 8.9.2
Figura 8.9.2
En el primer paso (Figura 8.9.3), se creará la Configuración del Dispositivo y se
insertará el S7 correspondiente del catálogo de hardware.
1. Haga doble clic en la interfaz Ethernet (1) para acceder a las propiedades de
la
interfaz correspondiente de la CPU (Figura 8.9.3).
Figura 8.9.3
Figura 8.9.4
2. Seleccione una nueva subred para la conexión a través de la interfaz Ethernet.
3. Asigne una dirección IP y una máscara de subred para su controlador (2). En
este caso asigne [Link]
Figura 8.9.4
1.-Vamos nuevamente a network view del programa realizado anteriormente figura
8.9.5
Figura 8.9.5
Si se observa al estar ambos autómatas en la misma subred en enlace ya este
hecho por lo que faltaría es realizar una conexión s7 por lo que de la figura 8.9.6
1.- ir en la parte de conexiones
2.-elegir conexión S7
3.-dentro del segundo autómata dar click derecho y agregamos una nueva
conexión
4.- elegir conexión con PLC_1 (CPU 1511-1 PN)
1 2
4
Figura 8.9.6
Figura 8.9.7 Se crea un enlace S7 configurado por ambos lados.
• La ruta de conexión se muestra resaltada en el área gráfica de la vista donde
S7_conexion_1 pertenece a la conexión del servidor logo y el Plc s7 1500 como
cliente
S7_conexion_2 es la conexión de los dos autómatas PLc s71500 y plc s7 1200
Figura 8.9.7
8.4.1 Configuración de los parámetros de conexión
1. Marque en la tabla de conexiones las conexiones S7 que tienen como punto
final
local la CPU S7-1500.
En la ventana de inspección se muestran las propiedades de la conexión S7.
2. En "General", la pestaña "General" muestra los parámetros de conexión
generales que identifican el punto final local.
Figura 8.10.1 Puede asignar la ruta de conexión y especificar la ruta de conexión
en su totalidad.
Figura 8.10.1
Figura 8.10.2 en propiedades especiales de conexión, desactive la opción de
establecimiento de conexión activa
Figura 8.10.2
8.4.2 Permitir acceso con comunicación TSEND Y TRCV desde un socio
remoto
El plc s7 1500 será el encargado de enviar información al plc s71200, por lo
que TSEND se configurará en el bloque de programación del 1500
TSEND
TRCV
1.-De la figura 8.9.5 daremos doble clic a la opción main OB1
2.- dentro del bloque de programación nos dirigiremos a la opción “open user
comunicación figura 8.10.3
3 elegir la opción TSEN_C es la que permitirá enviar los datos del 1500 hacia el
1200
Figura 8.10.3
8.4.3 Configuración TSEND_C EN OB1 DEL PLC_1
Figura 8.11.1
De la figura 8.11.1 anterior mencionaremos cada una de las conexiones que se
tienen que realizar en el TSEND
En: es la entrada
REQ: para que la comunicación funcione debemos colocarle las marcas de ciclo
este para que la información sea enviada a un flanco de subida figura 8.11.2
1.- para esto nos dirigimos a la configuración del plc S71500
2.-dandole doble clic al plc nos dirigimos a memorias del sistema
3.- habilitamos los bits de la memoria de reloj
2
3
Figura 8.11.2
Ya habilitados agregamos en REQ la memoria M0.0 (reloj_10Hz) es decir cada
100ms lo va a estar registrando
CONECT: realizaremos la configuración del PLC es decir en esta parte
asignaremos el plc del cual se quiere enviar los datos para ello en el TSEND le
daremos clic en la opción “start configuratión” figura 8.11.3
Start configuration
Figura 8.11.3
Donde se nos abrirá la siguiente opción figura 8.11.4 en el cual
1.- damos clic en conexión
2.-en pareja asignaremos la conexión con el ´plc2 s71200
3.-en dato de conexión le daremos nuevo y automáticamente se aparecerá el plc1
el cual es la que envía los datos
4.-en el otro dato de conexión le daremos nuevo y automáticamente se aparecerá
el plc 2 el cual recibirá los datos
5.- la conexión siempre debe ser de tipo TCP
2
1
5
4
Figura 8.11.4
También como nota el plc que envía los datos es el que va a establecer la
conexión activa, es decir el que va a controlar el bus de comunicaciones. El
TSEND estará de la siguiente forma figura 8.11.5
Figura 8.11.5 PLC_1 SEND
DATA
en esta opción agregaremos los datos que enviaremos del plc 1 al plc 2 por lo que
en este caso enviaremos datos de memoria o marcas
en all tags del plc 1 se agregarán. %MB2 (memory byte 2) lo nombraremos como.
“DATOS A ENVIAR” este contendrá los datos de las marcas que se enviaran al
otro plc, como, por ejemplo
%M2.0
.
.
.
%M2.7
Como se muestra en la figura 8.11.6
Figura 8.11.6 datos a enviar
Entonces en el TSEND se agrega. %MB2 DATOS A ENVIAR, figura 8.11.7
Figura 8.11.7 datos a enviar
Este será la configuración del TSEND_C
8.4.4 El plc s7 1200 será el encargado de recibir información del plc s71500, por lo
que TRCV_C se configurará en el bloque de programación del 1200
1.- dentro del bloque de programación del S71200 nos dirigiremos a la opción
“open user comunication figura 8.12.1
2.- elegir la opción TRCV_C es la que permitirá recibir los datos del 1500
Figura 8.12.1
8.4.5 Configuración TRCV_C EN OB1 DEL PLC_2
Figura 8.13.1
De la figura 8.13.1 mencionaremos cada una de las conexiones que se tienen que
realizar en el TRCV
EN esta es la entrada de nuestro DB
EN_R para que la comunicación funcione debemos colocarle las marcas de ciclo
este para que la información sea enviada a un flanco de subida, lo realizado
anteriormente con el TSEND
1.- para esto nos dirigimos a la configuración del plc S71200
2.-dandole doble clic al plc nos dirigimos a memorias del sistema
3.- habilitamos los bits de la memoria de reloj
Ya habilitados agregamos en EN_R la memoria M0.0 (reloj_10Hz) es decir cada
100ms lo va a estar registrando
CONNECT realizaremos la configuración del PLC es decir en esta parte
asignaremos el plc del cual se quiere recibir los datos para ello en el TRCV le
daremos clic en la opción “start configuratión” figura 8.13.2
Start configuration
Figura 8.13.2
Donde se nos abrirá la siguiente opción figura 8.13.3 en el cual
1.- damos clic en conexión
2.-en pareja asignaremos la conexión con el ´plc1 s71500
3.-en dato de conexión le daremos PLC_2_Receive_DB la cual es la que recibirá
los datos
4.-en el otro dato de conexión le daremos PLC_1_Send_DB la cual enviara los
datos
5.- la conexión siempre debe ser de tipo TCP
Figura 8.13.3
También como nota el plc que envía los datos es el que va a establecer la
conexión activa, es decir el que va a controlar el bus de comunicaciones.
DATA
en esta opción agregaremos los datos que recibirá el plc 2 por lo que en este caso
también se recibirán datos de memoria o marcas
en all tags del plc 2 se agregarán. %MB2 (memory byte 2) lo nombraremos como.
“DATOS A RECIBIR” este contendrá los datos de las marcas que recibira el plc 2
por ejemplo
%M2.0
.
.
.
%M2.7
Como se muestra en la figura 8.13.4
Figura 8.13.4
Entonces en el TSEND se agrega. %MB2 DATOS A RECIBIR, figura 8.13.5
Figura 8.13.5 datos a recibir
Este será la configuración del TRCV_C
2. Implementar y probar programas en los lenguajes FUP y KOP para los
PLCs de la familia Siemens, asegurando que cumplan con los
requerimientos operativos de la red industrial.
Como primer paso, se verificaron las señales de entrada y salida mediante el
desarrollo del siguiente programa, permitiendo analizar el funcionamiento
correcto de la comunicación.
Cambio de giro de un motor
Al presionar el botón de inicio hacia adelante (FWD), el motor girará en sentido de
las manecillas del reloj durante 10 segundos. Una vez transcurrido este tiempo, el
motor se detendrá. Al presionar el botón de retroceso (REW), el motor comenzará
a girar en sentido contrario a las manecillas del reloj durante 10 segundos, y al
finalizar el tiempo, el motor también se detendrá.
Mientras el motor esté en movimiento hacia adelante (FWD), el botón de retroceso
(REW) quedará inhabilitado, y viceversa: si el motor está girando en sentido
inverso (REW), el botón de avance (FWD) quedará inhabilitado. El proceso
completo puede detenerse en cualquier momento utilizando el botón de paro
(STOP)."
Agregar indicadores que se muestren el giro hacia adelante, el cambio de giro
hacia atrás y el paro de ese mismo motor
1.- Las entradas para los botones serán
FWD I0.0 DEL PLC S71500
REW I0.1 DEL PLC S71500
PARO I0.2 DEL PLC S71500
2.- La salida para el giro será
Q1 del giro REW DEL PLC LOGO
Q2 del giro FWD DEL PLC LOGO
3.- Indicadores de paro del motor y dirección de giro serán
Indicador de paro O0.0 DEL PLC S71200
Indicador REW O0.1 DEL PLC S71200
Indicador FWD O0.2 DEL PLC s71200
El programa se desarrolló en el lenguaje de programación FUP, y se presenta de la siguiente
manera. No obstante, como estudiantes, pueden optar por el lenguaje con el que se sientan más
cómodos.
Como sabemos este serán las entradas y salidas del plc LOGO la cual se estará
comunicando con los dos autómatas S7
Abriremos el bloque de programación del s71500 (MAIN OB1) El programa
queda de la siguiente forma (imagen 8.14.1)
Imagen 8.14.1
En el programa se muestra las entradas y salidas establecidas anteriormente
también muestra las consideraciones que se deben de cumplir.
Y donde
Tenemos un SR en el cual el Set es activado por la señal de entrada I0.0
(FWD)
Donde activa un temporizador de pulsos la cual con un pulso se activa e
inicia el conteo como en nuestro programa, esta activado durante 10s
Dicho SR será desactivado por la señal I0.2 (PARO) también con la señal
generado por el siguiente paso
El siguiente paso tenemos un SR en el cual el set es activado por la señal de
entrada I0.0 (REW)
Donde activa un temporizador de pulsos la cual con un pulso se activa e
inicia el conteo como en nuestro programa esta activado durante 10s
Dicho SR será desactivado por la señal I0.2 (PARO) también con la señal
generado por el paso anterior
En la siguiente analizaremos como enviar los datos hacia el plc2 la cual
serán para los indicadores paro y cambios de giro del motor
En el programa anterior se pueden observar los bloques MB2 (memory byte
2) que serán los encargados de enviar los datos que se generan en el s71500
y así poder visualizarlos en el s71200
El siguiente paso es abrir el 0B1 del PLC_2 programa en el s71200 será de
la siguiente forma
Las salidas se estarán comunicando con los datos recibidos del s71500 por
lo cual que son almacenados en el MB2 es decir en los memory byte 2
Si se tenía duda del lenguaje Ladder este será la forma de representarlo,
Como se observa es el mismo programa, pero en esta es en lenguaje Ladder
o también conocida como KOP
La utilización de cada lenguaje es criterio de cada estudiante, solo con el fin
de respetar cada norma.
Resultado de la comunicación…