Envio datos UDP

  • 6 Respuestas
  • 5404 Vistas

PabloS

  • Novato
  • *
  • Mensajes: 18
Envio datos UDP
« : octubre 17, 2013, 19:27:22 pm »
Hola Boris,

Te quería comentar lo que me sucede, al manejar datos por UDP. Como la PC cliente que ejecuta la interfaz en C#, no siempre tiene la misma IP, en el evento OnUdpRx, guardo la IP en un array. De esta forma puede responder a una ip que no siempre es fija.

Código: [Seleccionar]
UdpRxGetAddr(gai_IpPC[0], gai_IpPC[1], gai_IpPC[2], gai_IpPC[3],gi_PuertoPC)
De acuerdo al dato que recibo, tengo que enviar datos de vuelta y siempre lo hago dentro del evento OnUdpRx, por ejemplo:

Código: [Seleccionar]
UdpSend(gai_IpPC[0], gai_IpPC[1], gai_IpPC[2], gai_IpPC[3], gi_PuertoPC, 4, gai_PaqueteTx, false)
El problema que esta línea de código, no envía el paquete, o al menos no lo recibo ni en mi interfaz ni en el programa de ejemplo del SDK ¿Puedo estar olvidandome de algo?

También me surgieron dos ideas. La primera incluir un componente Ladder para la función UdpRxGetAddr. La segunda que el evento UdpSend, soporte un array como metodo de configuración de la IP (como si se puede asignar una variable al puerto).


Gracias,

Pablo.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2326
  • Soporte Técnico
Re: Envio datos UDP
« Respuesta #1 : octubre 17, 2013, 19:44:41 pm »
Fijate de probar remplazando el valor gi_PuertoPC por un valor constante (con el numero de puerto):

Código: [Seleccionar]
UdpSend(gai_IpPC[0], gai_IpPC[1], gai_IpPC[2], gai_IpPC[3], constante, 4, gai_PaqueteTx, false)

Ya que ese valor lo podes dejar igual en varias PC. Quizas no se este recibiendo correctamente ese valor.

Podriamos agregar el UdpRxGetAddr como componente en Ladder.

Esto no lo entendi:

Citar
La segunda que el evento UdpSend, soporte un array como metodo de configuración de la IP (como si se puede asignar una variable al puerto).

Si podes detallar mas, mejor.  
Quedamos a disposicion.

« Última Modificación: octubre 17, 2013, 19:50:42 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

PabloS

  • Novato
  • *
  • Mensajes: 18
Re: Envio datos UDP
« Respuesta #2 : octubre 17, 2013, 20:54:59 pm »
Gracias, mañana pruebo desde el trabajo.

El componente Ladder UdpSend, puede recibir como configuración del puerto una variable, pero la ip hay que establecerla con un valor fijo. Con lo cual el PLC siempre enviaría los paquetes a una misma ip. Como alternativa se puede hacer mediante Pawn como lo estoy haciendo yo, pero quizas se podría asociar la ip de destino a un array. De esta forma se puede grabar la IP en un array con UdpRxGetAddr y enviar los paquetes a esa misma IP sin necesidad de fijar un valor en el programa del PLC.



Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2326
  • Soporte Técnico
Re: Envio datos UDP
« Respuesta #3 : octubre 17, 2013, 21:45:09 pm »
Ok, poder especificar desde Ladder la IP como una variable en el componente UDP SEND.
Lo tenemos en cuenta para la proxima version.
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

PabloS

  • Novato
  • *
  • Mensajes: 18
Re: Envio datos UDP
« Respuesta #4 : octubre 19, 2013, 11:03:47 am »
Boris,

Solucione el problema dejando el puerto fijo, evidentemente no recupera bien el puerto.

Gracias,

Pablo.


Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2326
  • Soporte Técnico
Re: Envio datos UDP
« Respuesta #5 : octubre 20, 2013, 19:46:02 pm »
Buenas tardes Pablo,

Ya actualizamos StxLadder a la versión 1.4.9, y agregamos lo que nos pediste:

  • Componente en Ladder para obtener IP de recepción UDP (UdpRxGetAddr)
  • Componente UdpSend permite leer IP desde variable

Por otro lado, modificamos el cliente de mail SMTP con algunos de tus pedidos:

  • Se agrega función Pawn: SmtpSetFromName() para especificar nombre de remitente.
  • El Subject para enviar un e-mail se amplia a 30 caracteres.

La nota AN020 para el e-mail fue actualizada también.

Para utilizar las nuevas características del e-mail, debes actualizar el firmware del PLC.

En cuanto a la recuperación correcta del puerto UDP, te lo debemos por ahora.

Quedamos a disposición.
« Última Modificación: octubre 20, 2013, 19:53:30 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

PabloS

  • Novato
  • *
  • Mensajes: 18
Re: Envio datos UDP
« Respuesta #6 : octubre 20, 2013, 23:59:57 pm »
Gracias,

De todas formas lo del pueto UDP no es algo crítico. Simplemente lo puse para completar la sintaxis del comando.