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 - Soporte

Páginas: 1 ... 50 51 [52] 53 54 ... 58
766
Buen dia Jose,

Fíjate en el siguiente link, subimos un ejemplo en Ladder para utilizar la EEPROM:

http://slicetex.com/ladder/examples/files/EepromBasic.zip

Cuando abras el proyecto en StxLadder, mira los comentarios para comprender como funciona.
También lee el archivo info.txt que se incluye dentro del ejemplo.

Podes cargar el ejemplo al PLC y probarlo.

Básicamente guarda un array de 4 elementos en la memoria EEPROM cuando DIN2=1 y
luego con DIN3=1 podes recuperar los valores de la EEPROM y mostrarlos en el display.

Dichos valores permanecen si desconectas la energía del PLC.

Con DIN1=1, podes incrementar los valores del array para probar almacenar diferentes valores.

Cualquier duda, avísame.

767
Buen dia Jose, eso podes realizarlo utilizando las funciones para almacenar datos de variables en la memoria EEPROM (no volatil)
y luego recuperandolos en variables nuevamente cuando lo necesites.

No estoy en mi oficina, pero en el transcurso del dia te paso un ejemplo.

Que estas utilizando, lenguaje Ladder o lenguaje Pawn ?.

768
STX8081 / Re: Envío de emails
« : febrero 04, 2014, 20:22:22 pm »
Buenas tardes Pablo,

Adjunto a este mensaje, tenes dos proyectos en Ladder como referencia para descargar y
utilizar con Arnet y AOL, ya que no me dieron error como en el caso de Yahoo (que cambio el método de autentificación).

En el caso de Arnet, funciona sin problemas, lo probe en mi cuenta.

En el caso de AOL, debes de vez en cuando acceder al webmail en http://webmail.aol.com y
enviarte un mail de prueba (seguro que te pide que verifiques con un código de imágenes) para que
compruebe que no sos un spamer.
Luego de enviar el mail, verifica con el PLC.

Fíjate en los ejemplos, en los componentes SmtpInit y SmtpMailSend, como están configurados para que sean coherentes.

Por ejemplo, en Arnet utilizo esta configuracion para componente SmtpInit:

LocalHost: arnet.com.ar
SMTP: smtp.arnet.com.ar
Puerto: 25
Usuario: usuario@arnet.com.ar
Clave: XXX


Luego en componente SmtpMailSend:

From: usuario@arnet.com.ar
To: alguien@dominio.com


Para AOL:

Componente SmtpInit:

LocalHost: aol.com
SMTP: smtp.aol.com
Puerto: 587
Usuario: usuario
Clave: XXX


Componente SmtpMailSend:

From: usuario@aol.com
To: alguien@dominio.com


En el caso del dominio de tu empresa, si me pasas la dirección del servidor SMTP y el puerto
que utilizas (puede ser por privado), podria ver si el PLC lo soporta.


Finalmente, no creo que debas actualizar el firmware porque según la base de datos tenes la
versión 192, la cual respecto a la ultima (versión 193) no ha cambiado en cuanto a la lógica
para enviar emails.

Si decidis actualizar, es un proceso muy simple, podes leer la siguiente nota de aplicación para actualizar firmware:

http://slicetex.com/ladder/docs/files/STXLADDER-FU.pdf

Cualquier duda, o error que se te presente para enviar los mails como te indique, avísanos y envía
todos los datos que creas necesario para analizarlo (por ejemplo los códigos de error, etc).

Quedo a disposición.

PD: Si necesitas el ejemplo en Pawn, avísame, pero con esto podes probar si te funciona.


769
STX8081 / Re: Envío de emails
« : febrero 03, 2014, 06:54:58 am »
Buen dia Pablo,

Efectivamente, recien pruebo, Yahoo cambio el metodo de autenticacion a tipo TLS encriptado. El cual no es soportado.
La ultima vez que probe fue en Diciembre.

Sin embargo, AOL continua con el otro metodo, pero me da un error (-8), el cual en Diciembre
tambien funcionaba sin problemas.

Deben haber adoptado nuevas medidas de seguridad.

Te pido un poco de tiempo asi veo en esta semana para solucionar el envio de mail por AOL y subo
una version actualizada para el firmware.

Una pregunta, en su empresa tienen para el dominio de internet soporte de mail? En general los servicios
pagos admiten envio de mail sin encriptacion. En ese caso tenes que ves el puerto del servidor SMTP.

En la ventana de Mensajes, en StxLadder, cuando compilas te dice el tamaño de codigo utilizado. No dice cuanto le queda libre, pero
podemos implementarlo en la proxima version de acuerdo al PLC utilizado.

Te comento que le dimos acceso al PLC con VirtualHMI a traves de internet como nos habias pedido.
Para ello debes actualizar el firmware a la ultima version, y bajar las ultimas versiones
de software de VirtualHMI y StxLadder.

Fijate de leer este documento:

http://www.slicetex.com/virtualhmi/docs/files/VIRTUALHMI-UM.pdf

Y utilizar este ejemplo para el PLC:

http://www.slicetex.com/virtualhmi/examples/files/VirtualHmiInternet.zip

Cualquier duda que tengas sobre como actualizar firmware o lo que sea, avisanos.

Estamos en contacto.





770
STX8081 / Re: Sensores Analogicos con placa STX8081
« : enero 23, 2014, 20:24:10 pm »
Otra alternativa es algún sensor similar a este:

http://articulo.mercadolibre.com.ar/MLA-487776846-dht22-sensor-de-temperatura-y-humedad-arduino-_JM

En ese caso, deberíamos crear los drivers para que pueda utilizarlo la
placa por el puerto de expansión, podríamos ver de cotizar el trabajo.

Si encontras algún sensor humedad/temperartura compatible con protocolo I2C que te sirva,
avísame, porque seria mas conveniente para adaptarlo (son tipo chip y económicos).

Acá te paso un sensor para humedad del suelo:

http://articulo.mercadolibre.com.ar/MLA-488823374-modulo-sensor-de-humedad-de-suelo-tierra-arduino-pic-avr-atm-_JM

771
STX8081 / Re: Sensores Analogicos con placa STX8081
« : enero 22, 2014, 20:29:32 pm »
Para humedad y temperatura podes utilizar el sensor del sig. link:

http://www.se-controles.com.ar/Humedad%20y%20Temperatura.htm
http://www.se-controles.com.ar/Manual%20uHT.pdf

También podrías buscar alguno compatible con ModBus TCP.

Pero no se si estas buscando algo mas económico y simple.

Quedo a disposición.

772
STX8081 / Re: Soluciones al Ruido eléctrico.
« : noviembre 06, 2013, 18:36:19 pm »
Perfecto Pablo, muchas gracias por tu aporte!.

773
VirtualHMI - Terminal HMI Remoto / Re: implementacion de virtual HMI
« : octubre 30, 2013, 16:09:31 pm »
Buenas tardes Daniel, ya actualizamos VirtualHMI con los cambios que nos solicitaste:

  • Con el Numpad podes utilizar el teclado numerico, con enter envias el numero.
  • Las teclas F1, F2, F3 ... ya estan asociadas a los botones respectivos.
  • Los botones del menu M1, M2, M3, ... estan asociados a las teclas 1, 2, 3, ... (no del Numpad).

La nueva version es la 1.1.2 y la podes descargar de:

http://www.slicetex.com/virtualhmi

Cualquier duda o error que encuentres, avisanos.

774
VirtualHMI - Terminal HMI Remoto / Re: implementacion de virtual HMI
« : octubre 29, 2013, 15:42:33 pm »
Ok, entonces necesitarias que el teclado numerico de la PC, este asociado al del programa VirtualHMI ?.

775
VirtualHMI - Terminal HMI Remoto / Re: implementacion de virtual HMI
« : octubre 29, 2013, 14:22:50 pm »
Nos parece buena idea lo de asociar las teclas del teclado F1,F2 ... a los botones del VirtualHMI, asi que te avisamos por este medio cuando lo actualicemos (en el transcurso de esta semana).

Por otro lado, te consulto, a que te referis con: "se podria implementar el teclado numerico para el ingreso de datos y variables" ?.
Amplianos asi lo tenemos en cuenta tambiem.

Estamos a disposicion.

776
STX570 / Re: Modulo de Expansion STX570 y RS232
« : octubre 28, 2013, 11:14:11 am »
Buen día Florian,

Lamentablemente no se puede, la STX570 utiliza un bus de datos diferente al RS232, que no es compatible funcionalmente desde el punto
de vista de software/hardware y protocolo eléctrico.

Para esa distancia, quizás te conviene comunicarte con una STX8060 vía ModBus TCP (ethernet). La STX8081 podria escribir o leer en los registros de la STX8060 para que ejecute alguna acción.

Cualquier consulta, quedo a disposición.

777
Si, aunque como ArrayEscritura es un array, en la definicion de la funcion debes escribirlo como ArrayEscritura[] :

Código: [Seleccionar]
EepromBufferAdd(ArrayEscritura[],Count)
{
   if(EepromWriteCells(UltimaAdress(), Count, ArrayEscritura) == 0)
{
return 0;
}
else //Error al procesar el comando
{
return 1;
}
}

Pero tambien recorda que en esta funcion debes comprobar antes si tenes espacio en EEPROM, la direccion libre a donde escribir, etc.
La funcion debe ser lo mas transparente posible, asi no te preocupas cuando la llames desde otro script o diagrama.

Quedo a disposicion.

778
Perfecto Pablo buena implementacion.

Adicionalmente, recorda que en Pawn podes crear funciones para estructurar mejor el código.

Por ejemplo, en StxLadder agrega al proyecto un script que se llame datalog.p (por ejemplo) y adentro
de ese archivo podes escribir funciones Pawn para fácil manejo del buffer, por ejemplo:

EepromBufferAdd(item)
{
   // Agregar item a buffer
}

EepromBufferRead()
{
   // Leer ultimo item agregado al buffer.

   // Retornar 1 si se retorno un item o 0 si el buffer esta vacío.
}

EepromBufferIsFull()
{
   // Comprobar si el buffer esta lleno (retornar 1 o 0).
}

EepromBufferFlush()
{
   // Vaciar buffer
}

EepromBufferReadArray(Array[], Count)
{
   // Leer "Count" items del buffer y almacenar en "Array"

   // Aqui podrias llamas a la funcion EepromBufferRead() para leer los items del buffer.
}


Luego desde Ladder u otro script Pawn haces uso de estas funciones llamándolas y manteniendo el código ordenado.

Ademas te permite abstraerte de las particularidades del hardware y/o implementacion en caso que necesites modificar a futuro.

Quedo a disposición.

779
Aca hay un ejemplo sencillo en C, deberias adaptarlo a Pawn, pero es para que veas la idea.
Deberias definir la direccion de escritura en EEPROM internamente en las funciones.

Código: [Seleccionar]
#define BUFSIZE 128
char buf[BUFSIZE];
char *pIn, *pOut, *pEnd;
char full;

// init
void buf_init()
{
    pIn = pOut = buf;       // init to any slot in buffer
    pEnd = &buf[BUFSIZE];   // past last valid slot in buffer
    full = 0;               // buffer is empty
}

// add char 'c' to buffer
int buf_put(char c)
{
    if (pIn == pOut  &&  full)
        return 0;           // buffer overrun

    *pIn++ = c;             // insert c into buffer
    if (pIn >= pEnd)        // end of circular buffer?
        pIn = buf;          // wrap around

    if (pIn == pOut)        // did we run into the output ptr?
        full = 1;           // can't add any more data into buffer
    return 1;               // all OK
}

// get a char from circular buffer
int buf_get(char *pc)
{
    if (pIn == pOut  &&  !full)
        return 0;           // buffer empty  FAIL

    *pc = *pOut++;              // pick up next char to be returned
    if (pOut >= pEnd)       // end of circular buffer?
        pOut = buf;         // wrap around

    full = 0;               // there is at least 1 slot
    return 1;               // *pc has the data to be returned
}

780
Lo mejor para ese caso es implementar un buffer circular (ring buffer), que es un sistema FIFO. El principio de funcionamiento lo podes ver en el siguiente link:

http://es.wikipedia.org/wiki/Buffer_circular

http://www.embedded.com/electronics-blogs/embedded-round-table/4419407/The-ring-buffer

Hay bastante codigo en la red.

La idea es previamente implementar una serie de funciones que te permiten escribir en el buffer o leer en el mismo. No lo haces directamente.

Las muestras se van escribiendo en el buffer circular en las posiciones libres  (no te preocupas en que direccion) y luego cuando las necesitas, las lees.

Por cada lectura, vas liberando posiciones del buffer circular.

Entonces, cuando debes enviarlas via UDP, lees el buffer circular y lo almacenas en un array intermedio para enviar.

Las funciones que implementes, si deben comprobar internamente que almacenas en una posicion correcta de EEPROM, pero luego te olvidas.

En Pawn no hay punteros, por ello los ejemplos que veas en la red utilizan direcciones de memoria.
Debes reemplazarlas por una variable en Pawn que almacene la proxima direccion libre.

Fijate de leer un poco del tema de los buffer circulares e intentar realizar las funciones basicas para manipularlo.

Si vas teniendo dudas, consultanos.

Páginas: 1 ... 50 51 [52] 53 54 ... 58