Mensajes recientes

Páginas: 1 [2] 3 4 ... 10
11
STX8180 / Re:Creación de archivo bin de log con fecha en el nombre
« Último mensaje por Soporte agosto 26, 2022, 09:09:19 am »
Buenos días Miguel,

Le paso el proyecto DiskSamplerLog3B.zip actualizado:

http://www.slicetex.com/docs/an/an036/files/examples/DiskSamplerLog3B.zip

El proyecto, ahora, actualiza la lista de links "/web/loglist.htm" a los archivos logs almacenados cuando la fecha cambia mientras está activado el log de datos.

Para ello se creo una nueva función llamada SamplersUpdateLogLinks() en Samplers.p, que se encarga de comprobar si la fecha actual es diferente a la fecha del último log agregado como enlace en el archivo "/web/loglist.htm".

Si la fecha actual ha cambiado desde la última vez que se agregó un link a "/web/loglist.htm", se agrega el link al archivo log.

La función SamplersUpdateLogLinks() es llamada cada "SAMPLERS_UPDATELOGLINK_TIME" segundos desde OnTimeout.p cuando el Timeout2 expira. La constante SAMPLERS_UPDATELOGLINK_TIME se define en Samplers.inc, y tiene un valor por defecto de 30 segundos (se puede cambiar).

Esto quiere decir, que una vez que se produce el cambio de fecha, si el log está funcionando, dentro de SAMPLERS_UPDATELOGLINK_TIME segundos se va a actualizar el archivo de links "/web/loglist.htm". Por lo tanto hay que esperar este tiempo para ver cambios en "/web/loglist.htm".

Leer código del programa y archivo info.txt dentro del proyecto, para comprender funcionamiento.

Saludos!
12
STX8180 / Re:Creación de archivo bin de log con fecha en el nombre
« Último mensaje por Soporte agosto 23, 2022, 21:29:20 pm »
creo está operando bien, solo que en la página dinámica no están apareciendo los nuevos archivos al cambio de día.

saludos   Nota:  se están realizando 7 canales , 5 muestras por segundo

Buenas Miguel,

Si, debe ser lo que comentaba en los mensajes anteriores,  no se está llamando a SamplersStart() cuando cambia de día, por lo que el nuevo archivo no se añade a la lista en /web/loglist.htm. Esto es porque no se tuvo en cuenta en el ejemplo.

Analizo el ejemplo DiskSamplerLog3B.zip para ver como modificarlo para que al cambiar de día, también se liste en la página web. Dame unos días, así lo pruebo, y te aviso por acá al subir la nueva versión del ejemplo.

Saludos!


13
STX8180 / Re:Creación de archivo bin de log con fecha en el nombre
« Último mensaje por Miguel Gomez agosto 23, 2022, 16:33:08 pm »
Hola

retomando el caso,   al dejar trabajando el log por una par de dias, inicialmente se crea el archivo con la fecha en curso después al detener el log al siguiente día sólo se observa en lapagina dinamica "Log"  el archivo bin del día anterior cuando inicio,  pero en la memoria al retirarla del PLC y leerla en la computadora si está el archivo bin  del día actual.. se obseva en la memoria por ejemplo

archivo bin del dia 1       20220803.bin    con el registro con la hora cuando se puso a funcionar  hasta las 11:59:59
archivo bin 2 del  día 2   20220804.bin    con el registro desde las 00:00:00  hasta la hora en que lo detuvimos

creo está operando bien, solo que en la página dinámica no están apareciendo los nuevos archivos al cambio de día.

saludos   Nota:  se están realizando 7 canales , 5 muestras por segundo
14
STX8180 / Re:Mostrar entrada analógica VIN en página web dinámica
« Último mensaje por Soporte agosto 22, 2022, 11:55:51 am »
Buenos días Miguel,

Si, podés bajar el siguiente ejemplo, que configura los canales VIO como entradas VIN y muestra su valor en página web:

https://www.slicetex.com/hw/stx8180/examples/VinWebRead1.zip

Leer archivo info.txt del proyecto para detalles.

También, otro ejemplo (más complejo) para configurar canales VIO desde página web, es el siguiente:

https://www.slicetex.com.ar/hw/stx8180/examples/DeviceTest1.zip

Saludos!

15
STX8180 / Mostrar entrada analógica VIN en página web dinámica
« Último mensaje por Miguel Gomez agosto 20, 2022, 02:30:50 am »
Hola que tal
Tienen ejemplo de código para mostrar dinámicamente el valor de analógica de entrada en la pagina web?
gracias
16
STX8180 / Re:Reinicio de 8180 al utilizar VirtualHMI
« Último mensaje por Soporte agosto 19, 2022, 20:24:56 pm »
Buenas tardes Miguel,

El error que muestra el SYSLOG:

Código: (SYSLOG) [Seleccionar]
DESC   : Watchdog del sistema reiniciando dispositivo. Flags: 0x0022 (PAWN_NACK ETH_NACK )
Se debe a que una tarea (task) dentro del PLC queda bloqueada, task PAWN_NACK (la que corre el programa) y la task ETH_NACK (la que se encarga de comunicaciones Ethernet), por lo tanto, el PLC decide reiniciarse al activarse el Watchdog.

VirtualHMI utiliza protocolo UDP para comunicación, para la cual, desde el PLC se da la orden de inmediato para enviar los datos al utilizar nLcdPrintf() para imprimir el texto en VirtualHMI.

Si se llama a nLcdPrintf() dentro del loop principal o desde un timer muy seguido, menor a 0.8 segundos, puede pasar que se bloqueé la task de comunicaciones ETH_NACK. Sin embargo para tiempos mayores es muy raro. Este es un bug que tenemos que solucionar.

Esto no ocurre con las comunicaciones que utilizan TCP, como observar los datos utilizando página web, utilizar protocolo ModBus TCP, etc.

Ejemplo:

Código: (Pawn) [Seleccionar]
   for(;;)
   {
      // Leer voltaje de entradas VIN (canales VIO).
      Voltage1 = Float: VinReadVolt(1)
      Voltage2 = Float: VinReadVolt(2)
      Voltage3 = Float: VinReadVolt(3)
      Voltage4 = Float: VinReadVolt(4)

     
      // Mostrar en Virtual-HMI.
      nLcdPrintf(0, 0, LCD_CLRALL, "Voltage1 = %f [V]", Voltage1)
      nLcdPrintf(0, 1, LCD_NONE, "Voltage2 = %f [V]", Voltage2)
      nLcdPrintf(0, 2, LCD_NONE, "Voltage3 = %f [V]", Voltage3)
      nLcdPrintf(0, 3, LCD_NONE, "Voltage4 = %f [V]", Voltage4)
     
      // Pausar 1000 mS.
      DelayMS(1000)   
   }

Sin embargo, estoy probando tu programa, con DelayMS(1000), es decir un segundo, y no tengo reinicio de watchdog.

Si lo coloco en 1 mS, con el código comentado DelayMS(1), si tengo reinicio.

¿Te sigue pasando cuando lo utilizás con delay de un segundo o habrás estado mezclando la prueba con el delay de 1 mS?



PD:

El siguiente código en tu proyecto no es correcto:

VioSetVinAdcRate(5, VIO_VIN_ADC_RATE_400_KSPS)

Debe utilizarse en el primer argumento el valor "1", que especifica el número de ADC (Analog to Digital Converter) interno a modificar. Para el STX8180 hay un solo ADC común a todos los canales VIO (está multiplexado).

Por lo tanto el código correcto es:

VioSetVinAdcRate(1, VIO_VIN_ADC_RATE_400_KSPS)

Buen fin de semana.
Saludos!

17
STX8180 / Reinicio de 8180 al utilizar VirtualHMI
« Último mensaje por Miguel Gomez agosto 19, 2022, 13:05:19 pm »
Hola que tal
El 8180 se está reiniciando, observo que esto sucede cuando uso el virtual HMI, si uso otro programa que no use el VHMI no sucede. Estuve haciendo pruebas de lectura de una variables de voltaje y queria observarlo en el VHMI para mis anotaciones, el programa que usé lo adjunto.

Observaba que el valor en el VHMI parpadeaba, cambie el delay a un valor de 5 segundos pero sucedia lo mismo..de hecho si desconectaba los voltajes de los canales,  seguia obervando el valor de voltaje simulado en el VHMI y despues de unos segundos se actualizaba (de que yano tenia conectado el simulador).  Adjunto el log de sistema.   

gracias por su ayuda en diagnostico
18
STX8180 / Re:Inicializar canales VIO como VDOUT - VDIN - COUT - CIN - VOUT - VIN
« Último mensaje por rodegsa agosto 18, 2022, 06:13:50 am »
 :)

Muchas gracias por la info

Saludos cordiales
19
STX8180 / Re:Inicializar canales VIO como VDOUT - VDIN - COUT - CIN - VOUT - VIN
« Último mensaje por Soporte agosto 17, 2022, 21:18:40 pm »
Si está utilizando entradas de corriente CIN o de voltaje VIN para leer sensores, hay una nueva función útil para escalar valores llamada MathScale() que permite convertir a valores de ingeniería (temperatura, presión, humedad, caudal, etc):

MathScale(InValue, InMin, InMax, OutMin, OutMax)

Descripción:

Escala el valor de entrada InValue entre los límites de entrada InMin e InMax, a un rango de salida definido por los parámetros OutMin y OutMax.

Ejemplo:

Supongamos que tiene el valor de voltaje en la variable "InValue" de una entrada VIN, donde, 0V representan 10 °C, mientras que 5V representan 85 °C, entonces, para obtener temperatura:

Código: (Pawn) [Seleccionar]
Temperatura = MathScale(InValue, 0, 5, 10, 85)

Cualquier valor de InValue entre 0 y 5 será escalado proporcionalmente entre 10 y 85, y será guardado en la variable Temperatura.

Ahora supongamos que tiene el valor de corriente en la variable "InValue" de una entrada CIN, donde, 4 mA representan 10 °C, mientras que 20 mA representan 85 °C, entonces, para obtener temperatura:

Código: (Pawn) [Seleccionar]
Temperatura = MathScale(InValue, 4, 20, 10, 85)

Cualquier valor de InValue entre 4 y 20 será escalado proporcionalmente entre 10 y 85, y será guardado en la variable Temperatura.
20
STX8180 / Re:Inicializar canales VIO como VDOUT - VDIN - COUT - CIN - VOUT - VIN
« Último mensaje por Soporte agosto 17, 2022, 21:13:56 pm »
Para leer temperatura con el modelo A4, también hay ejemplos en la página mencionada:

https://www.slicetex.com/hw/stx8180/examples/RtdRead1.zip

Ver nota de aplicación AN035 para detalles sobres los sensores RTD:

http://slicetex.com/docs/an/an035/index.php
Páginas: 1 [2] 3 4 ... 10