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 ... 7
1
STX8081 / Re:Problema con las últimas versiones (packed string)
« : agosto 13, 2018, 12:56:55 pm »
Clarísimo. Muchas gracias !

2
STX8081 / Re:Problema con las últimas versiones (packed string)
« : agosto 12, 2018, 20:52:28 pm »
Hola Boris,

Muchas gracias de nuevo por tu excelente soporte.

Me quedan 2 consultas:

- El tema ese de los emails que te llegan "por rebote", cuando los emails enviados por mi sistema son tomados como spam. Es posible que sean enviados a otra dirección que no sea @slicetex.com ?? Es esto configurable?
De todas formas acabo de modificar el SUBJECT de los mails, como vos me indicaste, y espero que con esto ya no te lleguen más emails rebotados, pero la verdad es que este punto me dejó un tanto preocupado.

- La habilitación de los "Packed Strings" que ahora tengo implementada, tiene alguna consecuencia para la identificación de los bytes dentro del buffer de recepción de datos por UDP ? Concretamente yo tengo algo más o menos así:

@OnUdpRx()
{
      // Leer 10 bytes del array y almacenarlos en RxData[].
      UdpRxDataRead(RxData,0,10,false)

      // Y Luego voy extrayendo los datos que hay en cada byte de la trama UDP...
      if (RxData[0] == 122)

     etc.

Me parece que en esto no debería haber ninguna influencia porque son arrays, pero no strings...

Saludos !
Pablo.


3
STX8081 / Re:Problema con las últimas versiones (packed string)
« : agosto 12, 2018, 18:08:07 pm »
Hola Boris,

Impecable. Ya lo tengo andando.

Te cuento lo que hice, siguiendo tus indicaciones:

1) Actualicé firmware y StxLadder.
2) Modifiqué las 2 funciones que usaban direccionamiento a caracteres dentro de un string nLcdPrintMultLines() y ReemplazarEspacios(), cambiando los corchetes por llaves.

Con estos 2 cambios, compila OK, y la memoria consumida baja de 19668 bytes a 11640 (!!).

Pruebo a ejecutar, y todo parece funcionar bien, pero en un sitio donde muestro strings a través de VirtualHMI, no salen bien. Entonces recorro el fuente hasta encontrar todos los lugares donde haya StrFormat(), y cambio "false" por "true" (primero cambié por "packed", pero tiró error al compilar, entonces le puse "true").

Con esto último, aparentemente todo está funcionando bien de nuevo, con software actualizado a lo último.
Si algo no quedó bien, en los próximos días me voy a dar cuenta.

De paso. Debo esperar algún cambio o mejora derivado de las siguientes mejoras del firmware?:
      + Se amplia de 6 a 10 la cantidad de conexiones abiertas
        simultáneas TCP.
      + Se amplia de 12 a 20 la cantidad de puertos disponibles para
        escucha de paquetes TCP.
      + Se amplia de 2 a 4 la cantidad de conexiones abiertas
        simultáneas ModBus TCP (esto se conoce en documentación
        como parámetro "NumberMaxOfTransactions").

Muchas gracias por tu ayuda como siempre !
Saludos,
Pablo.

4
STX8081 / Re:Problema con las últimas versiones
« : agosto 07, 2018, 14:40:20 pm »
Clarísimo ! Muchas gracias por la ayuda !
Ya voy a ver qué camino sigo.
Saludos !
Pablo.

5
STX8081 / Re:Problema con las últimas versiones
« : agosto 06, 2018, 12:36:39 pm »
Hola Boris buen día,

Muchas gracias por tus explicaciones.
La verdad es que tenía la sensación de que estaba super-holgado de memoria en mi PLC, pero evidentemente no es así (probablemente esté holgado de memoria flash para almacenar el programa en sí, pero jugado con la cantidad de RAM usada para variables).

Voy a tener que revisar bien el código antes de hacer cualquier upgrade de versiones, porque me parece que sí uso strings via subíndice en alguna parte, y me podría dar cualquier resultado. Fijate en las siguientes 2 funciones, que me parece que vos me las pasaste prehechas en algún momento, y las vengo utilizando. No tengo claro qué hacer con esas funciones para que sean compatibles con ese switch de compilación:

// ********************************************************************************
// Funcion     : ReemplazarEspacios()
// Descripcion : Al string que viene, se le reemplazan todos los ESPACIOS.
//
// ********************************************************************************

ReemplazarEspacios(const String[])
{
   new Buffer[30]
   new i=0
   
   // Hacer un lazo que parsea el string
   while(TRUE)
   {
      // Copiar una línea de String[] en Buffer[].
      if(String != ' ' && String != '\0')
      {
         Buffer = String
      }

      // Viene un ESPACIO en String ?
      if (String == ' ')
      {
         // Si, reemplazar por otro caracter
         Buffer = '_'
      }     
     
      // Fin de caracteres en String ?
      if (String == '\0')
      {
         Buffer = '\0'
         return Buffer
      }
      i = i+1
   }
}



// ********************************************************************************
// Funcion     : nLcdPrintMultLines()
// Descripcion : Imprime una cadena con múltiples líneas en VirtualHMI.
//               Soporta \n, que de otra manera no funciona
// ********************************************************************************

nLcdPrintMultLines(x, y, const String[])
{
   new Buffer[160]
   new i=0, j=0
   new Stop = FALSE
   
   // Parsear cadena.
   while(Stop == FALSE)
   {
      // Copiar una línea de String[] en Buffer[].
      while(String != '\n' && String != '\0')
      {
         Buffer[j++] = String[i++]
      }
     
      // Si hay carateres en Buffer[], imprimir.
      if (j != 0)
      {
         // Agregar terminador de fin de cadena.
         Buffer[j] = '\0'
         
         // Imprimir en VirtualHMI Buffer[] e incrementar numero de línea.
         nLcdPrintf(x, y, LCD_CLRLINE, "%s", Buffer)       
      }
     
      // Fin de caracteres en String[] ?
      if (String == '\0')
      {
         // Si, parar Loop.
         Stop = TRUE
      }
      else
      {
         // No, ajustar variables para próxima línea.
         j=0
         i++
         y++
      }
   }
}

Así como están ya no funcionarían, verdad ?
Gracias!
Pablo.

6
STX8081 / Problema con las últimas versiones (packed string)
« : agosto 04, 2018, 20:05:27 pm »
Hola Boris que tal?

Hoy me dispuse a hacer una modificación al programa de mi PLC, y -como hago siempre- primero actualizo el StxLadder a la última versión disponible, y lo mismo con el firmware del PLC (el mío es un 8081-D2). Luego de la actualizaciòn tuve problemas; te paso la info:

Lo que tenía antes de actualizar era:
StxLadder 1.8.8
Firmware 227

Luego de actualizar pasé a:
Stxladder 1.9.2
Firmware 229

El problema se manifiesta así: al compilar el programa (ya con el nuevo entorno), me tira el siguiente error:

Error de Memoria: Insuficiente memoria RAM: El proyecto requiere 19668 bytes y el dispositivo tiene disponible 16384 bytes. Disminuya variables globales, variables locales inicializadas, comparta/reutilice variables globales, utilice packed strings, agrupe datos, etc.


Entonces voy a ver en el PLC qué marca, y en el display tiene el siguiente cartel:
PLC Return Code C:200 R:0

Pensé que habría un problema con el firmware, asi que lo volví para atrás a la V227. Pruebo a compilar con F6, y me da el mismo error. Entonces volví para atrás también el entorno StxLadder, y todo volvió a la normalidad (me apareció un cartel diciendo que el programa había sido construído con una versión de StxLadder superior, y que podría haber pérdidad de datos, pero seguí adelante y todo anduvo normal).

Aclaro que al grabar el firmware me aseguré de elegir la versión correcta del archivo, de acuerdo al modelo de PLC que uso: stx8081-d2.sff

En conclusión, no me queda claro si el problema está en el firmware o en el entorno.
Por lo pronto, tengo todo funcionando a la perfección, por lo que no hay ningún apuro en resolver nada.

Saludos y muchas gracias !
Pablo.

7
STX8081 / Re:Duda con recepción de paquetes UDP
« : julio 31, 2018, 08:14:26 am »
OK, gracias por la info.

Entonces como lo vengo haciendo es lo correcto (para recibir 10 bytes de payload estoy poniendo 0B en CMDIN_ARGSIZE0_OFFSET). O sea que no tengo error de protocolo.
La recepción de paquetes UDP la estoy haciendo desde 3 dispositivos ubicados en mi red LAN, via WiFi. De dos de ellos anda 100% perfecto siempre (son módulos ESP8266). Pero desde el tercer dispositivo (mi celular), es errático. Ya voy a investigar pero es como que en algún punto "alguien" está filtrando los paquetes UDP.

Muchas gracias !
Pablo.

8
STX8081 / Re:Duda con respecto a "prevención de cortocircuitos"
« : julio 31, 2018, 08:10:08 am »
Entendido Boris.
Si, supongo que si hay una pista en el PLC, ésta va a cortarse.
Poner los fusibles en serie es la mejor opción, pero no es tan sencillo por el cableado. Igual voy a tratar de hacerlo.
Muchas gracias !
Pablo.

9
STX8081 / Duda con respecto a "prevención de cortocircuitos"
« : julio 27, 2018, 20:44:49 pm »
Hola Boris de nuevo,

Tengo otra duda desde hace mucho que quiero consultarte, y tiene que ver con la "protección" contra sobrecargas en los contactos de las salidas de relé.

Concretamente la cuestión es esta: varias de mis salidas de relé tienen cargas que son a 220 Volts (luces principalmente). Funciona perfectamente desde hace años y nunca hubo un problema.
Pero me agarró la siguiente preocupación: qué pasa si en alguna de las luces que enciendo con el PLC se produjera (por ejemplo) un cortocircuito en el portalámparas. El PLC tiene previsto pistas que vuelen como protección para estas circunstancias ?

Mi miedo es que por un cortocircuito estúpido en una lámpara se me prenda fuego la casa en algún momento en que no estoy.

Muchas gracias !
Pablo.


10
STX8081 / Duda con recepción de paquetes UDP
« : julio 27, 2018, 20:35:16 pm »
Hola Boris como estas?

Te consulto una duda que me surgió con relación a la recepción de paquetes UDP, que en algunos momentos me anda medio errático (hay paquetes que llegan, y otros que no llegan).

La duda es sobre los parámetros del protocolo CSP. Supongamos que yo tengo que enviar 10 bytes de payload, cuáles son los valores correctos para los bytes "CMDIN_ARGSIZEx" del array?

Offset  Parameters          Value
06      CMDIN_ARGSIZE0     03  -- Aquí tengo que poner 03, o tengo que poner 0B
07      CMDIN_ARGSIZE1     00  -- Este siempre lo dejo en cero
09      CMDIN_ARGS            0A  -- Aquí le pongo siempre 0A porque envío 10 bytes de payload.

En realidad no entiendo el significado de los parámetros CMDIN_ARGSIZE0 y CMDIN_ARGSIZE1, puesto que en realidad el tamaño de la payload ya va en CMDIN_ARGS. Es como que tienen la misma función.

Lo curioso es que analizando esta cuestión he probado con el valor "03", y con el "0B", y en ambos casos anda (pero con fallos). Los paquetes los estoy enviando de un dispositivo no-pc, en el que yo programo completa la secuencia de la trama UDP a enviar hacia el PLC.

Desde ya muchas gracias !
Pablo.

11
STX8081 / Re:Entendiendo las novedades
« : diciembre 26, 2017, 14:18:15 pm »
Entendido !
Muchas gracias y ... excelente 2018 !

12
STX8081 / Entendiendo las novedades
« : diciembre 23, 2017, 20:55:50 pm »
Hola Boris, como estas ?

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:

En el Firmware version 224:
+ Funcion ResolvLookUp() permite "forzar" resolver nombre con opcion RESOLV_OPT_FORCE en tercer argumento.

En Lenguaje Ladder 1.8.5:
+ Se agrega componente Network Split, para configurar opción de division de paquetes en conexiones TCP.

No entiendo bien qué son estos dos ítems, pero intuitivamente me parece que me podrían ser de utilidad.

Muchas gracias y felices fiestas !
Pablo.

13
STX8081 / Re:Consulta por emails (nuevo firmware)
« : julio 03, 2017, 16:07:00 pm »
Hola,

Si, efectivamente, estoy usando SMTPSIMPLE.

Enconces el cambio ocurrió con el último firmware, por el tema del spam. No tenía claro de dónde venía ese texto...

Muchas gracias,
Pablo.

14
STX8081 / Consulta por emails (nuevo firmware)
« : junio 29, 2017, 13:24:32 pm »
Hola Boris buenas tardes,

Hace unos días trás actualicé la versión de firmware de mi PLC (estaba en 223 y pasé a 224). Todo estaba funcionando bien, y sigue funcionando bien después de la actualización. Actualicé simplemente para tener instalado "lo último".

Lo único que encontré de diferente es que los emails ahora me llegan con un "pie de email", con el siguiente formato:

AQUI VIENE MI TEXTO DEL MAIL.
y lo que sigue lo agrega el PLC ???
--

PLC
miemail@gmail.com


Aparentemente, la nueva versión de Fw le agrega este "pie de email", o se me está agregando por algún otro lado (Gmail?). Tendrá que ver con lo incluído en Build 224 "Correción para envio de mails con función SmtpSimple(), adaptado para mejorar calidad del mail y no ser considerado SPAM."

La verdad es que me gustaba más antes (sin el agregado...). O yo puedo configurar para que el "pie" salga o no salga?

Saludos !
Pablo.


15
Hola Boris,
La nueva versión de firmware 223 funciona excelente !
Con respecto a al superposición de emails+http, te cuento que ese tema no me es problema, porque la lógica que tengo implementada en los 3 servicios (email + thingspeak + pushingbox), cuando uno debe "actuar", verifica que los otros no estén en proceso. Y recién cuando finalice el servicio "en curso", se activa el siguiente.
Acabo de instalar el nuevo firmware, hice unos ajustes al software, y hasta ahora anda un espectáculo.
Queda en producción. Voy a ver qué pasa en los próximos días; cualquier cosa te aviso.

Muchísimas gracias por atender mis requerimientos !
Pablo.

PD: Te debo otro café !

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