Buenos días Pablo,
Te quería consultar donde puedo leer para comprender mejor el significado y uso de las nueva funciones que veo has desarrollado. Hay una nueva versiòn del Manual de Pawn? Particularmente, las siguientes funcionalidades:
Las actualizaciones de software suelen ir más rápidas que la documentación cuando no son fundamentales, o están en documentos que aún son borradores. Sin embargo algunas son heredadas de otros modelos en desarrollo y están en concepto de "compatibilidad".
Igualmente, no hay ningún problema que consultes por información sobre cualquier nueva función que veas, ya que a veces al no tener carácter urgente pasa tiempo hasta que se actualiza la documentación.
En el Firmware version 224:
+ Funcion ResolvLookUp() permite "forzar" resolver nombre con opcion RESOLV_OPT_FORCE en tercer argumento.
Para entender opción
RESOLV_OPT_FORCE, hay que comprender antes que cuando
ResolvLookUp() intenta resolver un nombre de dominio, primero busca en una tabla caché interna si el dominio fue resuelto con anterioridad y ya tiene la dirección IP. Si no fue resulto con anterioridad, lanza un "query" a la red para intentar resolverlo, lo cual tarda más tiempo porque implica una conexión y espera de servidores.
Con la opción
RESOLV_OPT_FORCE lo que hacemos es, por cada llamada de
ResolvLookUp() se lance un "query" a la red para intentar resolver el nombre, sin importar si esta en la tabla.
Ejemplo:
ResolvLookUp(Hostname, Ip, RESOLV_OPT_FORCE)
El tercer argumento es opcional, y si no se invoca, esta desactivado (esa es la lógica).
Sin embargo, para las últimas versiones de firmware de este modelo
STX8081, la tabla interna de "hosts" es igual a "1", por lo que
solo tiene relevancia si intentamos resolver el mismo nombre de dominio siempre, pero si queremos resolver dos nombres diferentes, enviará un "query" a la red para buscar el nombre, ya que la tabla solo contiene un registro..
En otros modelos que están bajo desarrollo, este argumento cobra mayor significado.
En Lenguaje Ladder 1.8.5:
+ Se agrega componente Network Split, para configurar opción de division de paquetes en conexiones TCP.
Esto solo se aplica a Lenguaje ladder, ya que en realidad es un nuevo componente gráfico para llamar a las funciones Pawn:
- NetTcpSplitOff()
- NetTcpSplitOn()
Si mal no recuerdo, las venias utilizado. En Pawn no esta documentado aún (solo en el foro) pero si para ladder dentro del
StxLadder.
Te copio la descripción de las funciones:Permiten dividir los paquetes de datos en las conexiones con protocolo TCP que el PLC realice a través del puerto Ethernet.
Una vez llamada
NetTcpSplitOn(), los paquetes de datos de las conexiones TCP salientes o entrantes, serán divididos en dos fragmentos. Esto mejora el desempeño cuando un cliente TCP corriendo en sistema operativo Windows se intenta conectar a algún servidor activado en el PLC que use el protocolo TCP (como servidor Web, servidor TCP o servidor ModBus TCP).
Por defecto el PLC tiene activada esta opción.Sin embargo, no se recomienda la división de paquetes TCP, cuando el PLC deba conectarse con otro PLC de la marca
Slicetex en la misma red usando protocolo TCP, o con algún dispositivo que no soporte este tipo de comunicación. En este caso, se recomienda usar la función
NetTcpSplitOff().
La división de paquetes de datos es interna y no requiere intervención del usuario.
Muchas gracias y felices fiestas !
Pablo.
Gracias, ¡Que tengás también felices fiestas y muy buen comienzo de 2018!
Saludos