¿Cómo Puedo Configurar La Hora del Sistema de Manera Programática en LabVIEW?



Software Primario:
Versión de Software Primario: N/A
Versión de Software Primario Corregido: N/A
Software Secundario: N/A

Problema:

Estoy leyendo una señal de hora GPS a través de un instrumento y quisiera configurar la hora del sistema con alta resolución desde LabVIEW. Encontré los VIs de Get Time/Date en la paleta de tiempo en LabVIEW pero no puedo encontrar nigún VI de configuración. ¿Cómo puedo realizar esto en LabVIEW?



Solución:

No existen VIs integrados en LabVIEW que permitan configurar la hora del sistema. Sin embargo esto puede lograrse utilizando el SDK de Windows. Aquí están las instrucciones para utilizar el Call Library Function Node para llamar la función SetSystemTime de la librería kernel32.dll:

  1. Coloque un Call Library Function Node en el diagrama de bloques y dele doble clic para abrir el cuadro de diálogo.
  2. De clic en el botón Browse y seleccione la librería kernel32.dll (normalmente situada en C:\WINDOWS\system32\kernel32.dll)
  3. Seleccione "SetSystemTime" en la lista Function Name.
  4. Seleccione "stdcall (WINAPI)" en la lista Calling Conventions.
  5. Seleccione "Numeric" en el campo return type y especifique "Signed 8-bit Integer"
  6. De clic en el botón Add Parameter After y seleccione "Adapt to Type" en el campo Type y en el campo Data Format seleccione "Pointers to handles".
  7. De clic en el botón OK  para terminar la configuración del Call Library Function Node
  8. Esta función toma una estructura de ocho WORDS (enteros de 16 bits) como parámetro. Para replicarlo en LabVIEW se necesita crear un cluster de ocho WORDS. Estos números representan Año, Mes, Día de la Semana, Día del Mes, Hora, Minuto, Segundo y Milisegundo. Conecte el cluster a la entrada param 1 del Call Library Function Node.
  9. Inserte los valores deseados y corra el programa para configurar la hora de sistema.

Vea la documentación de SetSystemTime en msdn.com para mayor información sobre esta función. Note que también existe la función GetSystemTime en la librería kernel32.dll

Para mayor información sobre la configuración del Call Library Function Node en LabVIEW 7.1 o versiones anteriores refiérase al manual Using External Code in LabVIEW  ligado más adelante. Para el caso de LabVIEW 8.0 o versiones superiores refiérase al documento Configuring the Call Library Function Node  en la ayuda de LabVIEW también ligado más adelante.



Ligas Relacionadas:
Microsoft Platform SDK: SetSystemTime
Product Manuals: Using External Code in LabVIEW
LabVIEW Help: Configuring the Call Library Function Node
Developer Zone Tutorial: An Overview of Accessing DLLs or Shared Libraries from LabVIEW

Archivos Adjuntos:





Día del Reporte: 02/06/2004
Última Actualización: 12/30/2011
Identificación del Documento: 365AR7FQ