Hola Boris,
Muchas gracias por tu respuesta.
Desde ya te anticipo que
ya lo hice andar !! (al menos, lo básico). Igualmente, aquí van las respuestas punto por punto.
1) Sí, estoy usando
PawnudpTx.exe que está en el CD que vino con el equipo. Quizá no es la última versión. Pero al final sí me comenzó a funcionar. No sé qué fue lo que cambió, pero ya no me tira más el error que te mencioné mas arriba.
2) Ahora reimplementé las funcionalidades UDP utilizando
@OnUdpRx(), o sea por eventos, porque veo que así parece ser el método preferido. Creo que este fue el punto o el punto 3) hicoeron que empiece a funcionar.
3) Con respecto a la función
UdpRxBufUnread(), creo que la utilicé mal, porque seguí el ejemplo del manual que dice (página 209), quizá está mal ejemplo en el manual:
// Comprobar si el buffer tiene nuevos datos sin leer.
if(UdpRxBufUnread() == 0)
{
// Leer datos del Rx Buffer.
}
4)
Sobre el tema del formato de los paquetes UDP. Ahora entiendo !!! Por eso es que no me funciona enviando paquetes UDP desde un "programita cualquiera" que envía paquetes UDP. Es porque hay que enviarlos con cierto preámbulo o formato. Y por eso es que SI funciona si envío el paquete desde PawnudpTx.exe.
Efectivamente: yo voy a enviar paquetes UDP desde un dispositivo ESP8266, y por lo tanto sí necesitaría pedirte los datos de cómo hay que armar el "formato" de paquetes UDP, porque si no no lo voy a poder comunicar nunca

.
Encontré el siguiente thread, pero no sé si tenés alguna documentación más específica del protocolo CSP:
http://www.slicetex.com/foro/smf/index.php?topic=34.0Por otro lado, el PLC recibe datos UDP con un cierto "formato" que incluyen el password del PLC, asi el mismo puede aceptarlos.
Pero si lo haces desde algún otro programa o lenguaje, podes enviar al PLC pero debes agregar 10 bytes al paquete con informacion.
¿ Eso queres hacer ?
Decime y te paso el formato para el envio si no estas utilizando nuestra librería para C#.
Muchísimas gracias,
Pablo.