Establecer voltaje en salida analógica

  • 1 Respuestas
  • 64 Vistas

Miguel Gomez

  • Novato
  • *
  • Mensajes: 10
Establecer voltaje en salida analógica
« : junio 24, 2022, 18:51:08 pm »
Hola que tal

Nuevamente. Implemente el siguiente script  y funcina bien a nivel VirtualHMI..pero no veo voltaje en la salida VOUT1, leí por ahí que hay un jumper, esto es así para el STX8081? para poder ver voltaje de 1 a 5 V en el canal. Intentamos otras funciones que vienen en el manual pero de igual forma no vemos la tensión que queremos.

saludos

Código: (Pawn) [Seleccionar]
PlcMain()
{

   // Inicializar rutinas Virtual-HMI.
   VirtualHmiInit()


   new Float:Volts
   // Loop principal.

   for(;;)
   {
     
   // Generar una rampa lineal entre 0 y 5
   
   if(Volts < 5)
   {
   Volts += 0.5
   }
   else
   {
   Volts = 0
   }
   
   //
// Escribir salidas analogicas.
//

VoutWriteVolt(1, Volts)
 
//
// Pausar 2000 mS.
//
// Mostrar lectura en el display de VirtualHMI.
            nLcdPrintf(0, 5, LCD_CLRLINE, "VoltajeCh1 = %f", Volts)
           
           
DelayMS(2000)
LedToggle()
   }

   // Retorno.
   return 0
}
« Última Modificación: junio 24, 2022, 20:07:16 pm por Soporte »

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2276
  • Soporte Técnico
Re:Establecer voltaje en salida analógica
« Respuesta #1 : junio 24, 2022, 20:06:28 pm »
Nuevamente. Implemente el siguiente script  y funciona bien a nivel VirtualHMI..pero no veo voltaje en la salida VOUT1, leí por ahí que hay un jumper, esto es así para el STX8081? para poder ver voltaje de 1 a 5 V en el canal. Intentamos otras funciones que vienen en el manual pero de igual forma no vemos la tensión que queremos.

Hola Miguel.

Los canales VIO tienen función múltiple, pueden ser entradas o salidas de diversos tipos, por lo tanto, antes hay configurarlos por software.

En el caso del modelo STX8180 no hace falta manipular ningún jumper.

Para que un canal VIO sea salida de voltaje (no corriente, eso es una función diferente) de 0 a 10V, lo podés configurar con la siguiente función antes de utilizarlo:

Código: (Pawn) [Seleccionar]
   
   // Canal VIO1: Salida de voltage, alias VOUT1.
   // Rango: 0 a 10V.
   // Voltaje inicial: 0V
   
   VioInitVout(1, VIO_TYPE_VOUT, VIO_VOUT_RANGE_0V_10V, 0)

La constante VIO_VOUT_RANGE_0V_10V indica rango 0 a 10V.
Mientras que el primer argumento es el número de canal VIO (en este caso 1) y el último argumento es el voltaje inicial (en este caso 0V).
Los canales VIO que pueden ser salida de voltaje son todos, desde VIO1 a VIO11.

Las constantes para rango válidos son:

Código: (Pawn) [Seleccionar]
VIO_VOUT_RANGE_0V_10V      // Output range: 0V to 10V
VIO_VOUT_RANGE_N5V_5V      // Output range: +/-5V
VIO_VOUT_RANGE_N10V_0V    // Output range: -10V to 0V

Luego de inicializar el canal VIO como salida analógica de voltaje VOUT, podés utilizar la función VoutWriteVolt() para escribir o establecer el voltaje de salida. Por ejemplo:

Código: (Pawn) [Seleccionar]
//
// Escribir salida analógica número 1 (VOUT1) con voltaje de 5.5V.
//

VoutWriteVolt(1, 5.5)

Notar que el voltaje pasado a la función (en este caso 5.5) debe estar dentro del rango de voltaje, sino, se recorta el voltaje al límite.

Para medir este voltaje con el voltímetro, debés hacerlo entre el canal VIO seleccionado y el terminal A1G (masa analógica).

En la página de ejemplos del modelo STX8180 hay ejemplos para las salidas analógicas, buscar "Escribir salidas analógicas de voltaje (VOUT)" en la página de ejemplo, lo podés encontrar en el siguiente link:

www.slicetex.com/hw/stx8180/examples.php

El ejemplo que pasaste, también esta disponible adaptado para el modelo STX8180 en la página mencionada, el link directo es:

www.slicetex.com/hw/stx8180/examples/VoutPawn1.zip

Este ejemplo, utiliza el canal VIO5 en vez del VIO1, pero podés modificarlo fácilmente cambiando el número de canal 5 por 1.

Saludos y buen fin de semana!





« Última Modificación: junio 24, 2022, 20:12:22 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com