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 ... 4 5 [6]
76
Muchísimas gracias Boris.

Apenas haga el upgrade de firmware veo como funciona y te aviso.

Saludos,
Pablo.

77
Hola Boris, qué tal ?   Tengo un par de consultas relativas a programación Pawn:

1) Las operaciones AND y OR tienen algun tipo de precedencia entre sí?
   Concretamente: La operación AND (&&) parece tener precedencia sobre la OR (||):

   if( (Condicion1) && (Condicion2) ||
       (Condicion3) && (Condicion4) ||   
       (Condicion5) && (Condicion6) ||
       (Condicion7) && (Condicion8) )
   {
      Accion
   }

   Si es como a mí me parece, entonces la expresión anterior se evaluará  "renglón por renglón", sin tener que ponerle un paréntesis a cada renglón, de la siguiente forma:

   if( ((Condicion1) && (Condicion2)) ||
       ((Condicion3) && (Condicion4)) ||   
       ((Condicion5) && (Condicion6)) ||
       ((Condicion7) && (Condicion8)) )
   {
      Accion
   }

   O sea que sería igual hacerlo de cualquiera de las dos formas. Es correcto ??


2) Estoy teniendo un problema con los temporizadores tipo Timeout, por el hecho de que todos los Timeouts "comparten" la misma función de servicio @OnTimeout(). El esquema es el siguiente:

Al comienzo del programa:

   // Inicializar los temporizadores tipo Timeout
   TimeoutInitEvent()
   
   // Lanzar el Timeout1 para enviar el primer email al cabo de 10 segundos
   Timeout1SetEvent(10)


En otra parte del programa:

   // En ciertas condiciones, prende una luz en RELAY3, temporizada con Timeout2
   if (Sensor_PIR == 1)
   {
      Forzar_RELAY3 = 1
      Timeout2SetEvent(60)
   }


Y esta es la función de servicio de todos los timeout:

@OnTimeout()
{
   // Comprobar si Timeout1 ha expirado: enviar el email de Power-On
   if(Timeout1Check() == 1)
   {
      email_accion = "ENVIAR EMAIL"
      SendMail = 1
      
      // Borrar el Timeout1 para que no se repita
      Timeout1ClrEvent()                    [1]
   }

   // Comprobar si Timeout2 ha expirado: Apagar la luz en RELAY3
   if(Timeout2Check() == 1)
   {
      Forzar_RELAY3 = 0
      
      // Borrar el Timeout2 para que no se repita
      Timeout2ClrEvent()                    [2]
   }

   return 0
}

Al principio, no tenía colocada ninguna de las 2 instrucciones [1] y [2], con lo cual se producía el siguiente efecto: al cabo del primer Timeout1, se enviaba el mail (bien), pero con cada disparo del Timeout2, además de prenderse (y apagarse) la luz en RELAY3, también
se despachaba un email (mal), debido a que Timeout1Check() quedó en "1".

Leyendo el manual, deduzco que cuando un TimeoutX finaliza, la función TimeoutXCheck() retorna "1" en forma permanente de ahí en más, hasta que se lo resetee.

Entonces agregué en ambos lugares [1] y [2] los correspondientes reseteos de los temporizadores, para que cada uno se ejecute solo una vez hasta que se lo regenere de nuevo. El problema que me hace ahora es que cuando se da la condición de prender la luz en RELAY3, ésta se prende bien, pero no se apaga más.

Es como que hay alguna interacción rara entre las funciones TimeoutXClrEvent().  No logro discernir si una influye sobre la otra, pero pareciera que Timeout1ClrEvent() borra Timeout1 y también el Timeout2, y viceversa.

Puede ser que haya un error de firmware ??

Desde ya muchas gracias y un gran saludo,
Pablo.

78
Hola Boris,

Gracias por tu respuesta. Me demoré en responder porque probé muchos softwares tipo mini-SCADA sobre ModBus bajo Android.

El mejor de todo es Tesla Modbus Scada (https://play.google.com/store/apps/details?id=modbus.tesla.scada). Realmente espectacular, y muy fácil de configurar. Podés armar una página con un diseño propio que refleje un mímico del equipo bajo monitoreo.
El único problema es que es pago, y cuesta como U$S 170 (!!).
Lo tengo funcionando en mi Android y es un espectáculo. Lamentablemente dentro de 60 días dejará de funcionar.

El otro que tengo en la mira es el UNIGO Evolution (https://play.google.com/store/search?q=unigo&c=apps), que también es pago, pero solo cuesta $ 57. Todavía no lo probé, pero tengo intenciones de probar con éste.

Un comentario aparte:
Así como tenemos una función SMTP, se te ocurrió alguna vez implementar una función POP3 para poder enviar comandos a un PLC via email ? Yo la estuve pensando, y me parece que tendría que ser algo muy muy básico, tal como: ver si haciendo POP3 a una cuenta de email, aparece un mail que contenga un cierto TEXTO en el SUBJECT. Si al parsear el subject está presente dicho texto, la función POP3 da un resultado positivo, y es responsabilidad del programador "parsear" ese texto y tomar las acciones correspondientes.

Saludos !
Pablo.

79
STX8081 - Familia Power I/O Board / Consultas sobre uso del ModBus
« : febrero 27, 2014, 10:24:44 am »
Hola Boris, buen día,

Activé en mi aplicación las funcionalidades de ModBus, para poder hacer la lectura/escritura de parámetros al sistema en forma remota desde el celular. Por el momento hice las pruebas con el cliente ModBus que viene en el entorno windows, y anduvo de entrada.

Tengo las siguientes consultas:

a) No encontré an la AN22 las instrucciones necesarias para "Read Coils". Sí encontré las necesarias para leer GPCoils. De todas formas, pude convertir el estado de los RELAYx a variables, y leerlos a través de GPCoils. Pero me parece que está faltando la función que lee las Coils directamente ( direcciones 1 a 8 ). O yo estoy entendiendo mal...?

b) Como el objetivo buscado era el monitoreo y control via android desde el celular, instelé la aplicación sugerida, Modbus-Droid. La verdad es que es malísima (por algo es gratis). Solo permite leer las secuencias de registros, pero no tiene la posibilidad de asignarles una etiqueta a cada uno, no permite crear una pantalla con los registros que a uno le interesa, etc. Y lo peor de todo es que en la configuración solo se le puede asignar un número de IP. Pero cuando el IP es dinámico (como en mi caso), lo que yo necesito es poder cargar una dirección tal como: micasa.dyndns.org:puerto. Y eso no se puede hacer.
En síntesis: conocés algún otro cliente Android ModBus mejor?  Has experimentado algo desde el celular?
El que yo vi en Play Store y aparentemente es mejor es el "ModBus Master", pero es pago, y no hay forma de probarlo antes, para ver si funciona:
<https://play.google.com/store/apps/details?id=se.inux.android.mbmaster>

Saludos y muchas gracias desde ya,
Pablo.

80
STX8081 - Familia Power I/O Board / Re: Envío de emails
« : febrero 09, 2014, 22:33:04 pm »
Anduvo con Arnet !!!

El problema era el anti-spam de Gmail. Marqué los emails como "no spam", y a partir de entonces llegan correctamente.

Muchas gracias !!

Pablo.

81
STX8081 - Familia Power I/O Board / Re: Envío de emails
« : febrero 08, 2014, 19:53:33 pm »
Hola Boris,
Volví a hacer las pruebas con el tema de los mails, sin éxito. Muy raro.

Aquí te paso la info de cómo hago las instrucciones en Pawn:

USANDO ARNET:
Inicializacion del SMTP:
SmtpInit("arnet.com.ar", "smtp.arnet.com.ar", 25, "micuenta@arnet.com.ar", "mipassword", SMTP_OPT_DEFAULT)

Y el envío del mail:
if(SmtpSend("otracuenta@gmail.com", "otracuenta@hotmail.com", "paggps@arnet.com.ar", "Mensaje del PLC", "CUERPO"))

En este caso, retorna SmtpGetStatus = 0   (email enviado con éxito ... pero nunca sale!)

USANDO AOL:
Inicializacion del SMTP:
SmtpInit("aol.com", "smtp.aol.com", 25, "micuenta@aol.com", "mipassword", SMTP_OPT_DEFAULT)

Y el envío del mail:
if(SmtpSend("otracuenta@gmail.com", "otracuenta@hotmail.com", "micuenta@aol.com", "Mensaje del PLC", "CUERPO"))

En este caso, retorna SmtpGetStatus = -11  (Error al enviar "." para finalizar mensaje).

Avisame cualquir idea. Muchas gracias!
Pablo.

82
STX8081 - Familia Power I/O Board / Re: Envío de emails
« : febrero 07, 2014, 12:08:23 pm »
Hola buenas tardes,

Hice las pruebas exhaustivamente con Arnet, y no anduvo.
En realidad yo ya estaba configurando los SMTPs de Arnet de la misma manera que vos indicás.
Y pruebo a enviar desde el webmail.arnet.com.ar y los mails salen (o sea que el usuario y clave son correctos).

Ya estoy pensando si puede haber algún otro bloqueo a nivel de Arnet con respecto al acceso del puerto 25, no sé.

Probé a hacerle el upgrade de firmware al PLC, por las dudas. Salió todo bien, pero no cambió nada con respecto al tema de los mails, tal como vos anticipabas.

Bueno, si se te ocurre algo nuevo, avisame.
Muchas gracias y saludos,
Pablo.

83
STX8081 - Familia Power I/O Board / Re: Envío de emails
« : febrero 03, 2014, 11:47:05 am »
Hola Boris, muchas gracias por tu rapidísima respuesta.

Bueno, me alegro que hayas podido reproducir el inconveniente con los emails.
Te paso un dato adicional (extraño): cuando pruebo a sacar los mails por el SMTP de Arnet, desde una conexión Arnet, el resultado de la operación es 00 (email enviado con éxito).
Sin embargo, el mail nunca llega. Probé muchísimas veces y siempre pasa igual.
Es como que hay "algo" que inclusive engaña a la la función SmtpStatus, y "cree" que el mail salió correctamente, pero no. Si disponés de una conexión Arnet lo vas a poder duplicar fácilmente.
También probé a hacer la salida con el SMTP de mi propio dominio, y no pude lograr que la autenticación no de error.

Muchas gracias por acordarte lo del VirtualHMI desde Internet. Voy a ver cuándo me puedo armar de valor para hacer el upgrade de firmware.

Y por supuesto, tomate tu tiempo.
Saludos,
Pablo.

84
STX8081 - Familia Power I/O Board / Envío de emails
« : febrero 02, 2014, 18:17:27 pm »
Hola Boris, buenas tardes,

Antes que nada te cuento que el PLC que adquirí hace unos 45 días atrás funciona espectacular !  Es realmente una maravilla. Toda la programación la estoy haciendo en Pawn, ya que me resultó más agil que hacerla en el diagrama ladder. Aquí van las consultas que quisiera hacerte:

El único problema se me ha planteado ahora con las funcionalidades del envío de emails, que no las puedo hacer funcionar.
Primero hice un programa con 2 líneas: el SmtpInit, y SmtpSend, y no logré que nunca un email salga.
Probé con distintas cuentas: Yahoo, Arnet, y finalmente abrí una cuenta en AOL como se sugiere en el manual, pero siempre obtengo errores -4 (Error en proceso de Auth) o bien -11 (Error al enviar “.” para finalizar mensaje).
A continuación, por las dudas, utilicé el Ejemplo2.zip, al que le ajusté los parámetros de mis cuentas de email ... y tampoco logré que los emails salgan. Alguna sugerencia?  Has probado recientemente si funciona con Yahoo por ejemplo (me parece que Yahoo cambió sus mecanismos de autenticación recientemente, por eso probé con AOL, pero tampoco me funcionó).

Otra consultita: cómo sabés cuál es el tamaño del programa que uno ha implementado, y cuánta memoria de programa le queda libre al PLC?

Muchas gracias desde ya y nuevamente felicitaciones por tan buen producto.
Pablo.

Páginas: 1 ... 4 5 [6]