Usando Ethernet, dos de los protocolos más usados a lo largo y ancho de internet son TCP y UDP.
Se usan para multitud de otros protocolos:
- TCP se usan en HTTP o Telnet entre otros.
- UDP se usan en DHCP o VoIP, entre otros también.
Y cómo no, ambos los podemos usar con nuestros PLC Siemens.
Pero empecemos por el principio con algunas definiciones y aclaraciones.
¿Qué es TCP?
TCP es el acrónimo de Transmission Control Protocol.
Se usa para enviar y recibir mensajes entre dos equipos en una red.
Como bien dice en la wikipedia: [..] El protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron[..]
Esto es una grandísima diferencia entre TCP y UDP como luego veremos.
A grandes rasgos, la conexión TCP necesita el establecimiento de una conexión entre ambas máquinas.
El solicitante de la comunicación será el cliente y el receptor de dicha comunicación el servidor. Por eso se le suele llamar entorno Cliente-Servidor.
La comunicación se realiza en ambas direcciones enviando datos desde el cliente al servidor y del servidor al cliente.
Cuando visitas este blog, tu PC sería el cliente, y la máquina donde está alojado el blog, el servidor (por eso se le llama servidor).
Es decir, tú, a través del navegador del PC, solicitas una conexión con el servidor donde está alojada la web, y esta responde enviándote la página que estás leyendo en estos momentos.
Esto es una tremenda simplificación que se aleja bastante de la realidad.
Hay muchísimos más equipos que juegan en esta comunicación, conectados entre sí haciendo de intermediarios.
Vamos, que no te conectas directamente, pero para el ejemplo, nos vale.
Espero que se entienda el concepto.
Nos es válido porque cuando realices una comunicación TCP y UDP en TIA Portal, normalmente será entre dos equipos directamente.
A lo sumo, colocarás un switch donde concentrar todas las conexiones. Así, todos los equipos podrán comunicar entre sí, si fuera necesario.
Si quieres tener información más técnica sobre TCP, puedes consultar la documentación especializada sobre el protocolo TCP.
¿Qué es UDP?
Tomando la wikipedia como referencia:
User Datagram Protocol (UDP) es un protocolo del nivel de transporte basado en el intercambio de datagramas (Encapsulado de capa 4 o de Transporte del Modelo OSI). Permite el envío de datagramas a través de la red sin que se haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera. Tampoco tiene confirmación ni control de flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado correctamente, ya que no hay confirmación de entrega o recepción.
Es decir, un poco más en cristiano:
- Es un lujo de datos unidireccional.
- El envío de los datos de una máquina a la otra, se hace sin que haya habido una conexión previa entre ambas máquinas.
- La máquina receptora de la información, no dará cuenta sobre esta recepción al emisor.
- El emisor no tiene ni idea si los datos están llegando, o si llegan correctamente.
Podrías pensar que menuda joyita de comunicación.
El emisor lanza los datos, y literalmente se desentiende de si llegan o no al receptor.
Luego veremos que puede tener múltiples aplicaciones para nuestros autómatas Siemens.
Comunicación TCP y UDP en TIA Portal
Vale.
Todo esto está muy bien, pero ¿qué hay de mis PLC? ¿Para qué me va a servir la comuniación TCP y UDP en TIA Portal?
Imagino que el TCP lo tienes claro: comunicación entre dos PLC que se envían datos entre ellos.
Guay. Puedes comunicar dos autómatas S7-1200 (por ejemplo) sin más que tirar un cable de ethernet entre ellos.
Ojo porque no es una comunicación maestro-esclavo, sino una simple comunicación entre dos iguales.
¿Es genial o no?
Las aplicaciones son las típicas de comunicar dos máquinas que estén en la misma línea y se tengan que mandar datos de producción, por ejemplo.
Pero ojo, porque puedes realizar una comunicación TCP con un PC perfectamente creando una aplicación en .Net.
Para mi gusto es mucho más engorroso que hacerlo a través de un OPC, pero puedes hacerlo con tiempo y una caña.
Y te ahorras una licencia de OPC.
Eso sí, con el coste de oportunidad que supone, creo que usar el OPC es la mejor opción.
Por algo lo inventaron.
Volviendo a la comunicación entre dos PLC, esta será usando una serie de bloques para crear esta comunicación.
Podrás usar las librerías Open User Comunication de TIA Portal para intercambiar datos.
Hay muchas funciones, cada una con sus peculiaridades (TSEND_C, TSEND, TUSEND...) unas que necesitan del bloque TCONT para establecer la comunicación, y otras no.
Además, podrás realizar en función del bloque usado, multicast o broadcast si tu PLC o tarjeta lo soportan.
¿Qué es broadcast?
El broadcast no es más que un método de transmisión de datos de uno a muchos.
En este caso de uno a todos los participantes de la red.
¿Y el multicast?
El multicast, es un método de comunicación de uno a varios.
Tienes más información sobre ambos métodos en esta página de métodos de transmisión
¿Para qué usamos UDP en TIA Portal?
Hemos visto más arriba que UDP es una comunicación peculiar. Pero muy útil en algunos casos para nuestras automatizaciones.
Por ejemplo, podemos usarla en registros (temperaturas, presiones etc) entre el PC y un Scada.
No hace falta que nuestro PC esté encendido o no para que el PLC envíe los datos de una temperatura.
Si la aplicación del PC está activa, pues registraremos la temperatura, y si no, pues el PLC seguirá enviando este dato de forma continua, le estén oyendo o no.
Otra posible aplicación es si no tienes un servidor de hora.
Puedes usar una comunicación UDP para que uno de los PLC haga este servicio, mandando en broadcast la hora cada minuto por ejemplo.
De esta forma, los PLC que estén escuchando, podrán actualizar su hora.
De tal forma que cambiando la hora de un PLC, actualizas la de todos.
Como ves, no vas a usar UDP para información super sensible.
Si ambas máquinas tienen que saber lo que la otra está haciendo, usarás TCP u otros métodos de comunicación.
Pero para cosas más sencillas y menos trascendentes, UDP puede ser una buena y simple solución.
¿Qué te ha parecido?
Espero que si no estás muy puesto en comunicaciones esta breve introducción te haya servido de aperitivo.
Recuerda que todos estos conceptos son tratados en el bloque 7 del curso de TIA Portal.
Si necesitas que alguien te eche una mano, puede que este bloque sea lo que estás buscando.
Recuerda que puedes apuntarte en Guorker.com donde por una cuota mensual, tendrás tarifa plana en todos los cursos disponibles en la plataforma.

Comentarios (20)