Mostrar Mensajes

Esta sección te permite ver todos los mensajes hechos por este usuario, recuerda que solo puedes ver los mensajes en áreas en donde tu tienes acceso.


Mensajes - PabloGa

Páginas: 1 2 [3] 4 5 ... 7
31
VirtualHMI - Terminal HMI Remoto / VirtualHMI por TCP en vez de UDP
« : septiembre 02, 2016, 18:48:40 pm »
Hola Boris, buenas tardes !

Sería factible "migrar" el mecanismo de comunicación de VirtualHMI de UDP a TCP ?

El motivo es que a medida en que uno usa más VirtualHMI se da cuenta de que es el mejor medio de visualizar información del sistema. Es espectacular. Pero lamentablemente, al ser UDP solo puede funcionar dentro de la misma red LAN donde está el PLC. Si fuera TCP, podríamos acceder "desde afuera" como hago actualmente mediante ModBUS. Pero ModBUS es extremadamente limitado y lerdo !

Muchas gracias,
Pablo.

32
STX8081 / Re:Consulta de sintaxis sobre uso de nLcdPrintf
« : julio 03, 2016, 15:32:47 pm »
Anduvo perfecto, Muchas gracias !!!


Buenos días Pablo,

Podes probar dividiendo la variable entera por una constante tipo float, para que el resultado este en float y sea bien interpretado por "%f":

nLcdPrintf(0, 1, LCD_NONE, "TEMP= %02.1f, Temp/10.0)

Saludos

33
STX8081 / Consulta de sintaxis sobre uso de nLcdPrintf
« : julio 03, 2016, 13:59:50 pm »
Hola buen día,

Quisiera saber si es posible "mostrar" una variable INTEGER como si fuera una FLOAT con 1 decimal.

O sea: Yo tengo en una variable INTEGER un valor (de temperatura) = 154, pero que en realidad es 15.4 grados.
En todo el software, las temperaturas las proceso de esa manera: multiplicadas por 10. Pero al mostrarlas, debería mostrar los grados y los decimales con el punto.

La consulta es si en el momento de "mostrar" ese valor en el display o en VirtualHMI es posible "simular" como si fuera una float (sin covertirla a float), tal que se muestre "15.4".

Estuve probando con
nLcdPrintf(0,1,0,"TEMP= %03.1d, Temp)
nLcdPrintf(0,1,0,"TEMP= %02.1f, Temp/10)
y varias más, pero ninguna me anduvo.

Muchas gracias desde ya,
Pablo.

34
STX8081 / Re:Enviar datos a Thingspeak.com con PLC (IoT)
« : junio 18, 2016, 20:29:48 pm »
Hola Boris buenas noches !

Gracias por tu feedback.
No se me había ocurrido hacer ThingspeakInit() periódicamente.
Como transmito 1 vez por minuto, en vez de ejecutar ThingspeakInit()  cada vez que voy a transmitir (me parece mucho), lo metí dentro de una función que se ejecuta cada una hora. Vamos a ver qué pasa.

Por otro lado, con respecto a incorporar soporte ThingSpeak de forma nativa... te parece necesario?  El viejo refrán dice " Si funciona, mejor no lo arregles !! "

ACTUALIZACIÓN 19/06/16: Luego de haber incorporado la inicialización ThingspeakInit() una vez por hora, y luego lo pasé a 1 vez a la medianoche, en ambos casos, cuando se re-inicializa ThingSpeak ... deja de funcionar. Por lo tanto lo eliminé, y volví a dejar todo como estaba antes. La forma como lo había agregado creo que fue correcta, porque hice la verificación de que no hubiera una conexión abierta:

   // Esto se ejecuta cada 1 hora, o bien a medianoche... pero no anduvo
   if(ThingspeakCheckWaitResponse() == 0)
   {
        ThingSpeakInit()
        }


Muchas gracias.
Saludos,
Pablo.


35
STX8081 / Re:Enviar datos a Thingspeak.com con PLC (IoT)
« : junio 09, 2016, 12:56:55 pm »
Hola !

La forma en que yo subo los valores es de la siguiente manera (una instrucción para armar un string, y luego una para subirlo):

StrFormat(ThingSpeak_String, 100, false, "field1=%d.%d&field2=%d.%d&field3=%d&field4=%d&field5=%d&field6=%d&field7=%d.%d&field8=%d.%d", Temp,Temp_d,Hume,Hume_d,Lumi,Nivel,TC,TPIR,Temp2,Temp2_d,Hume2,Hume2_d)
         
ThingspeakSendFields(ThingSpeak_String)

Como podrás ver, los valores pueden ser decimales, y anda perfecto. Ejemplo:
"field1=%d.%d"  arma en el string una parte entera, el punto decimal, y luego la parte decimal, y cuando ves el gráfico en ThingSpeak lo tomó como un número real perfectamente.

No sé cuáles son los valores máximos y mínimos permitidos, habría que buscar en ThingSpeak.com, pero intuyo que son valores reales muy grandes; me parece que es algo que no tiene muchas restricciones.

APROVECHO para reportarte una nueva situación, derivada de lo de ThingSpeak:
Ya me pasó varias veces que de pronto el PLC "deja" de subir la información a ThingSpeak (esto ya ocurre desde varias versiones de firmware atrás, no es nuevo). Sin embargo, la conectividad Ethernet no está "colgada", porque sigue funcionando por ejemplo Modbus y el VirtualHMI.
Pero deja de funcionar la subida de datos (y eso que el acceso a ThingSpeak está con un número de IP fijo, por lo tanto no habría resolución de nombres DNS, que sería un factor más).

Estuve haciendo varias pruebas para tratar de encontrar el asunto, y detecté que el problema se resuelve haciendo un REINICIO del PLC a partir de VirtualHMI Android. O sea: no necesita ser desenergizado. Solo con un reinicio del PLC es suficiente. Lamentablemente, con esta acción pierdo los valores de todas las variables y acumuladores; es como si hubiera desenergizado.

Habría que ver qué funciones de red se "reparan" al hacer un reinicio del PLC, y ver si sería factible tener alguna instrucción Pawn para que el software cada X tiempo, o cuando detecta que estas funciones no andan, hacerse a sí mismo un reinicio de las funcionalidades TCP (o lo que corresponda), y con eso se resucita solo. Me explico? Quizá algo así como la SMTPInit(), que tenía una funcionalidad para reiniciar cuál era el servidor y número de IP que tiene que usar, si no me equivoco.

Muchas gracias, saludos!
Pablo.





Perfecto,

Una consulta, para enviar los 8 campos usas la función de la siguiente forma?:

Código: (Pawn) [Seleccionar]
ThingspeakSendFields("field1=%d&field2=%d&field3=%d&field4=%d&field5=%d&field6=%d&field7=%d&field8=%d", Value[0],Value[1],Value[2],Value[3],Value[4],Value[5],Value[6],Value[7])
Por otro lado, los valores son enteros ? Que máximo y mínimo ?.

Es para saber la cantidad de caracteres que podrías emplear en la conexión.

Gracias.

36
STX8081 / Re:Enviar datos a Thingspeak.com con PLC (IoT)
« : junio 06, 2016, 09:37:26 am »
Anduvo perfecto !!!
(y estoy subiendo los 8 canales juntos)
Muchísimas gracias !
Pablo.


Hola Pablo,

No, necesitas el firmware "D2" para el modelo de PLC que tenes.

No recordaba tu modelo. Te lo adjunto al correcto.

Saludos.

37
STX8081 / Re:Enviar datos a Thingspeak.com con PLC (IoT)
« : junio 04, 2016, 16:20:26 pm »
Hola Boris,

Estoy por hacer el upgrade de firmware, pero me detuve por un detalle que me llamó la atención:
El firmware que me citás para hacer el upgrade incluye "D1" en su nombre, y mi modelo de equipo es "D2" (no me acuerdo qué significaba la diferencia), pero me temo que si hago el upgrade puedo planchar el PLC.
Me podés confirmar si prosigo o no ?

Gracias !
Pablo


Buenos días Pablo,

Te paso el proyecto modificado para que acepte mas parámetros, yo lo probé hasta con 6 campos.

También debes actualizar la versión de firmware a la V220 que te adjunto.

Avísame si te funciona bien.

Saludos!

38
STX8081 / Re:Enviar datos a Thingspeak.com con PLC (IoT)
« : junio 01, 2016, 15:12:35 pm »
Excelente Boris,

En estos días hago la prueba. Yo necesito subir las 8 variables de un Channel de ThingSpeak al mismo tiempo. Vamos a ver si funciona y te aviso.

Gracias !
Pablo.

Buenos días Pablo,

Te paso el proyecto modificado para que acepte mas parámetros, yo lo probé hasta con 6 campos.

También debes actualizar la versión de firmware a la V220 que te adjunto.

Avísame si te funciona bien.

Saludos!

39
STX8081 / Re:Enviar datos a Thingspeak.com con PLC (IoT)
« : mayo 30, 2016, 08:20:13 am »
Fantástico Boris,
Cuando se puede reproducir un problema, ya tenemos el 50% de la solución... !
Saludos,
Pablo.


Hola Pablo,

Te comento que estoy viendo este tema.
Por ahora pude determinar que efectivamente, es un tema de recorte de caracteres, ya que estoy simulando con la PC el servidor web y leyendo los datos enviados por el PLC.
A partir de cierta cantidad de "fields", los datos se recortan y no llegan en su totalidad.

Te comento cuando tenga mas novedades.

Saludos.

40
STX8081 / Re:Enviar datos a Thingspeak.com con PLC (IoT)
« : mayo 21, 2016, 16:37:31 pm »
Hola Boris como te va?

Estuve haciendo unas pruebas a ampliar el tamaño del buffer string FieldStr, que en tu archivo original estaba programado en 160 bytes, y lo pasé a 300. Sin embargo, no me modificó el resultado, y siempre se repite que solo puedo grabar hasta 4 &fields en ThingSpeak.

Fijate por favor en los 2 archivos que te adjunto (el original tuyo, y el modificado por mí), para ver dónde hice los cambios.

Era a estos "buffers" a los que vos te referías en un comentario anterior??  O es el tamaño de otro buffer que sería necesario modificar ?

Saludos y muchas gracias,
Pablo.



Hola Pablo,

Si por supuesto, lo tengo en mente, solo que ultimamente estuve centrado en nuevos productos y se me pasó.

Pero déjame que me arme un tiempito y lo encaro.

Estamos en contacto.

Saludos

41
STX8081 / Re:Enviar datos a Thingspeak.com con PLC (IoT)
« : abril 17, 2016, 15:53:33 pm »
Hola Boris qué tal ?

Alguna posibilidad de retomar este tema??

Saludos !
Pablo.


Hola Pablo,

Ok, dejame que modifique un poco el código para optimizar el buffer y hacer unas pruebas para ver de enviar más campos.

Luego te comento.

Saludos

42
Hola Boris,
Actualizados el firmware y StxLadder y ... funciona bien !!  ModBus volvió a responder inmediatamente como siempre !!

Excelente trabajo como siempre.

Quizá es el turno de los buffers de ThingSpeak ??  http://www.slicetex.com/foro/smf/index.php?topic=160.0  ...   ;)

Muchas gracias !
Pablo.

Hola Pablo,

Ya están disponible las versiones corregidas para instalar:


Recorda agregar al incio del porgrama:

Código: (Pawn) [Seleccionar]
 
   // Desactivar TCP split en stack TCP/IP.
   NetTcpSplitOff()

Cualquier cosa, avisame.

Saludos

43
Lo suponía. Muchas gracias !


Hola Pablo,

Tenes razón, en este caso hay un error de tipeo interno en StxLadder 1.7.3 qué hace qué no se llame la función correctamente, pero no es un error de firmware.

Luego te aviso cuando suba la actualización.

Saludos

Enviado desde un dispositivo móvil usando Taptalk.

44
Hola Boris,

Hice los 3 pasos (actualizar StxLadder + actualizar a Firmware 216 + agregar  NetTcpSplitOff()) y el problema con ModBus volvió a aparecer exactamente igual que antes.

Volví a la versión 216 beta (seguí con StxLadder 1.7.3 pero eliminé la instrucción NetTcpSplitOff), y volvió a funcionar bien de nuevo.

Quizá tenés algún error en la implementación de NetTcpSplitOff ???  Porque el tema ya lo tenías resuelto en FW 216 beta...

Saludos !
Pablo.


Hola Pablo,

La versión 216 de firmware liberada para la STX8081 arregla la parte de ModBus TCP que tiene el comportamiento extraño que indicas con la App Android.

Para que te funcione, instala tambien StxLadder v1.7.3 y ejecuta la siguiente linea al inicio del tu proyecto:

Código: (Pawn) [Seleccionar]

   // Desactivar TCP split en stack TCP/IP.
   NetTcpSplitOff()


Luego proba el ModBus TCP con el programa Android.

Solo hace falta llamar una sola vez a la función en todo el proyecto.

Esa linea mantiene la compatibilidad en funcionamiento TCP como lo hacia en versiones previas.

Con NetTcpSplitOn() se vuelve a la versión actual (que es activada por defecto) y que mejora el desempeño del Servidor Web con navegadores en Windows solamente.

Avísame si la probas.

Saludos

45
Hola Boris,

Bueno, instalé el firmware 216 beta y ... todo volvió a la normalidad en materia de comunicaciones ModBus !! Excelente.
O sea: todo está tal cual como siempre (bien!).

Me hice ilusiones de que esto podría interferir o tener que ver con el otro problema de que no suben todos los fields a thingspeak, asi que me puse a probar de nuevo ese tema con el nuevo firmware. Pero no, no influye en nada. Se comporta exactamente igual que como te describí en el otro hilo específico del tema.

Me parece que en materia de firmware, el beta está OK. Cuando lo pases a definitivo avisame y reinstalo la versión definitiva (si es que le vas a hacer algun cambio más).

Por último, te recuerdo si fuera posible que el HMI Android pueda mostrar líneas más largas que 37 caracteres, estaría muy bueno. Lo ideal sería que haga line wrap a un determinado número de caracteres (o cuando llega al final de la pantalla), y pase automáticamente a la línea siguiente. Hoy en día no hay forma de mostrar un string largo (como la URL que mando a ThingSpeak por ejemplo).

Muchas gracias, excelente trabajo como siempre !
Pablo.

Hola Pablo,

Mi dispositivo Android no es compatible con esa aplicación (debe requerir un Android más moderno), así que no pude probarla.

Pero te adjunto un firmware 216-beta1 con el funcionamiento original del TCP (como en la version 208), pero con las nuevas
características añadidas (Servidor Web, etc).

Fíjate instalarlo y decime si te funciona correctamente, ya que pienso que esa parte es la que puede darte problemas.

Saludos

Páginas: 1 2 [3] 4 5 ... 7