Comunicación entre la CIAA y una PC/PLC

130 views
Skip to first unread message

Peña Fernando

unread,
Sep 8, 2014, 9:14:57 AM9/8/14
to embeb...@googlegroups.com
Buen día,
Estoy encarando el desarrollo de un controlador de limpieza de filtros con la CIAA. Este sistema forma parte de un equipo mas grande y lo que se pretende es empezar a descentralizar el control que actualmente se hace en una PC industrial, lo que obliga a llevar todo el cableado hasta la misma y en caso de falla que deje de funcionar todo el sistema.
Lo que estoy definiendo es como voy a realizar la comunicación entre la CIAA y la PC (también puede ser un PLC dependiendo el modelo del equipo). La comunicación tiene que ser bidireccional ya que tengo que poder enviar parámetros, setear setpoints, definir intervalos de tiempo... desde la PC y tengo que informar el estado de las alarmas y las diferentes variables en sentido inverso.
No tengo experiencia en el tema, me gustaría saber que interfaz y protocolo recomiendan para realizar esta comunicación y si recomiendan alguna bibliografía. Se que la interfaz va a depender de lo que tenga disponible, desde el lado de la CIAA no hay muchas limitaciones, ahora me parece que lo mas universal para comunicarme con cualquier PC/PLC sin necesidad de un módulo externo es utilizar Ethernet. Quizá pueda usar el protocolo Modbus/TCP sobre esa interfaz, pero me gustaría escuchar la opinión de gente con más experiencia.

Saludos,
Fernando

Pablo Ridolfi

unread,
Sep 8, 2014, 9:24:03 AM9/8/14
to embeb...@googlegroups.com
Hola Fernando,

En mi opinión tenés dos opciones:

1) RS485: Simple porque es como una UART, aunque half-dúplex. Vas a necesitar un adaptador USB-RS485 para la PC (como por ejemplo este). Además tenés el módulo Modbus en el CIAA-Firmware, que ya se puede usar.

2) Ethernet: Simple a nivel de la conexión, pero necesitás un stack TCP/IP en el micro. Actualmente CIAA-Firmware tiene un ejemplo con lwip que estamos probando y parece andar bien, pero no hicimos todas las pruebas todavía. A nivel de software podés implementar Modbus/TCP (que no está implementado en CIAA-Firmware) o usar una conexión directa con un socket TCP o UDP.

Creo que lo mejor y más rápido es ir por la 1) aunque la 2) te va a asegurar mayor escalabilidad a largo plazo, si es que la necesitás. Sino, definitivamente la 1).

Saludos.
Pablo



--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Fernando Lichtschein

unread,
Sep 8, 2014, 9:36:48 AM9/8/14
to embeb...@googlegroups.com

Gustavo Muro

unread,
Sep 8, 2014, 2:30:58 PM9/8/14
to embeb...@googlegroups.com
Hola Fernando.
No se de cuanto tiempo dispones para el desarrollo. Si estas muy ajustado, la opción 1 es la más rápida.
El protocolo Modbus implementado en la ciaa (branch master) se puede utilizar perfectamente. Actualmente estamos trabajando en un branch (modbus) que tiene como finalidad mejorar la implementación del protocolo.
En pocos días va a estar definida la nueva api.
Lo bueno que tiene trabajar sobre modbus es que si más adelante te querés comunicar por Modbus TCP, no tenes que volver a empezar, reutilizas gran parte de la aplicación (o toda).
Saludos!
Gustavo

Peña Fernando

unread,
Sep 8, 2014, 4:38:11 PM9/8/14
to embebidos32@
Hola,
Gracias a todos por la rápida respuesta. Desde la empresa definieron que la interfaz a utilizar va a ser Ethernet porque les facilita el cableado y prefieren invertir un poco mas de tiempo si ganan escalabilidad a futuro. Es muy probable que después tengamos varias CIAA en la misma red. 
Ahora ellos desde la PC no están manejando un server Modbus con lo cual no me da ninguna utilidad programar el cliente por ahora. En una primera etapa voy a realizar una conexión directa con un socket TCP o UDP utilizando la librería lwIP. 

Saludos,
Fernando

Has recibido este mensaje porque estás suscrito a un tema del grupo "Embebidos32" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/embebidos32/cToFC_QumlU/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un correo electrónico a embebidos32...@googlegroups.com.

Fernando Lichtschein

unread,
Sep 8, 2014, 4:42:06 PM9/8/14
to embeb...@googlegroups.com
Fernando,

Si van a usar Ethernet, pueden usar Modbus/TCP y si quieren probar https://www.inductiveautomation.com/scada-software, el demo viene con ese protocolo nativo.

Saludos,

Fernando
Reply all
Reply to author
Forward
0 new messages