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.


Temas - pboero

Páginas: [1]
1
Buenas,
Necesitaría saber cómo saber el estado de una determinada salida en la STX570.
La función Stx570_DoutReadAll(Addr, DoutState) lee todas las salidas y retorna el estado en DoutState, pero no encontré en el manual de dicha placa como hacer para, a partir de DoutState consultar el estado de una determinada salida.

Para el caso de las entradas está claro, primero utilizamos Stx570_DinReadAll(Addr, DinState) y luego con Stx570_DinRead(DinState, EDIN1) consultamos por ejemplo el estado de la entrada 1.

Muchas gracias,
Pablo

2
STX8081 - Familia Power I/O Board / Escribiendo en la EEPROM
« : enero 04, 2015, 01:22:30 am »
Buenas,
La funcion EepromWrite no me esta funcionando, la variable de retorno arroja el valor -9.
De acuerdo al manual, eso entraria en la categoria "Código de error del bus I2C. Verifique hardware y/o conflicto de recursos."
Lo extranio es que antes andaba.
Aguardo directivas.
Saludos y muchas gracias,

3
Buenas,
Para un proyecto de domotica, tengo una Stx8081 conectada a 8 Stx570s. La idea es que las entradas de las placas de expansion detecten los cambios en las teclas de iluminacion de la casa. Ya en las primeras pruebas tuve problemas con la deteccion de eventos de las stx570, mi programa no respondio de acuerdo a lo esperado, por lo que hice un programa bien simple para ver que esta pasando:

static A = 0

PlcMain()
{
       ExPortSetEvent()                   //Habilito el evento OnExPort
       for (new i = 0; i <= 7; i++)      //Inicializo las 8 placas Stx570
             {
             Stx570_Init(i)
             }
       for(;;)                                 //Loop que trae por default el programa base
            {
            }
       return 0
}

@OnExPort()                              //Evento que detecta el cambio de estado en una placa de expansion
{
   A = A + 1                          //Incrementar en uno nuestra variable
   LcdClear()                         //Limpiar el Lcd
   LcdPrintf(0, 0, "%d", A)       //Imprimir el valor de nuestra variable
   PauseMS(200)                   // Esto es para evitar un rebote en la tecla
}


Conecte una tecla en una entrada de una de las placas. Cuando prendo la tecla se enciende el led testigo de dicha entrada, cuando apago la tecla lo mismo sucede con el led. Digamos que electricamente esta todo bien.

Si no entiendo mal, se supone que cada vez que la tecla cambia de estado, este programa deberia actualizar el LCD mostrando un numero que se incrementa en 1. Prendo la tecla, se muestra un 1, apago, se muestra un 2, prendo nuevamente, se muestra un 3....

Sin embargo, lo que sucede es que cuando la tecla cambia a posicion ON nuestra variable se incrementa en 2 unidades y cuando pasa a OFF el evento no se dispara.

Aclaro que ya verifique que cada placa tiene su respectiva direccion I2C, todas con el jumper en Multiple, menos la ultima que es Single. Tambien hice el proceso de alta de las placas en el software de acuerdo al manual.

Estoy un tanto perdido con lo que esta pasando.

Aguardo comentarios.

Muchas gracias,
Pablo

Páginas: [1]