labView中如何获取windows当前系统时间

合集下载

基于LabVIEW的时钟设计

基于LabVIEW的时钟设计

目录1 概述 (1)2 课题简介及意义 (2)2.1 设计时钟意义 (2)2.2 时钟简介 (2)3 虚拟仪器概述 (3)4 LabVIEW简介 (4)4.1 LabVIEW的运行机制 (4)4.1.1 LabVIEW应用程序的构成 (4)4.1.2 LabVIEW的操作模板 (6)4.2 LabVIEW的具体操作 (11)4.2.1 显示对象(Indicator)、控制对象(Control)和数值常数对象 (11)4.2.2 关于连线 (11)5 虚拟时钟系统设计的实现 (12)5.1 总体设计 (12)5.2 子vi的相关介绍 (14)5.3 功能及实现 (15)5.3.1 获得系统时间 (15)5.3.2 时、分、秒的获取 (16)5.3.3 数据的运算 (16)5.3.4 记录坐标变换 (18)5.3.5 图像的绘制 (19)5.3.6 While循环实现秒针的跳变 (20)5.3.7 程序结构介绍 (21)5.3.8 图像采集与图像处理 (22)5.3.9程序设计总体 (24)6. 结束语 (25)参考文献 (26)致谢 (27)1 概述随着科学技术的快速发展,各种功能的软件的都得到迅速的开发与应用。

虚拟仪器成为计算机技术和仪器科学领域完美结合的产特,代表了仪器仪表的发展方向。

LabVIEW 作为虚拟仪器开发的平台,是一个具有革命性的图形化开发环境,在工业测量和控制领域中掀起了一场变革。

它具有功能强大、编程灵活、人机界面友好的特点,在测量技术与仪器工程科学领域中得到了非常广泛的应用。

本文基于LabVIEW软件,设计一个虚拟的时钟程序,使之在桌面可以直接显示,形象、直观、方便。

通过对本设计的研究应该能够比较熟练的掌握Labview 软件的使用,并能在此平台上进行应用程序的开发。

下面我将由时钟开始,对虚拟仪器、LabVIEW 以及整个设计做详细的介绍。

2课题简介及意义2.1 设计时钟意义时钟,自从它被发明的那天起,就成为人们生活中必不可少的一种工具,尤其是在现在这个讲究效率的年代,时钟更是在人类生产、生活、学习等多个领域得到广泛的应用。

C语言获取当前系统时间的几种方式

C语言获取当前系统时间的几种方式

C语言中如何获取时间?精度如何?1 使用time_t time( time_t * timer ) 精确到秒2 使用clock_t clock() 得到的是CPU时间精确到1/CLOCKS_PER_SEC秒3 计算时间差使用double difftime( time_t timer1, time_t timer0 )4 使用DWORD GetTickCount() 精确到毫秒5 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒6 要获取高精度时间,可以使用BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)获取系统的计数器的频率BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)获取计数器的值然后用两次计数器的差除以Frequency就得到时间。

7 Multimedia Timer FunctionsThe following functions are used with multimedia timers.timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime//*********************************************************************//用标准C实现获取当前系统时间的函数一.time()函数time(&rawtime)函数获取当前时间距1970年1月1日的秒数,以秒计数单位,存于rawtime 中。

#include "time.h"void main (){time_t rawtime;struct tm * timeinfo;time ( &rawtime );timeinfo = localtime ( &rawtime );printf ( "\007The current date/time is: %s", asctime (timeinfo) );exit(0);}=================#include -- 必须的时间函数头文件time_t -- 时间类型(time.h 定义是typedef long time_t; 追根溯源,time_t是long)struct tm -- 时间结构,time.h 定义如下:int tm_sec;int tm_min;int tm_hour;int tm_mday;int tm_mon;int tm_year;int tm_wday;int tm_yday;int tm_isdst;time ( &rawtime ); -- 获取时间,以秒计,从1970年1月一日起算,存于rawtimelocaltime ( &rawtime ); -- 转为当地时间,tm 时间结构asctime ()-- 转为标准ASCII时间格式:星期月日时:分:秒年-----------------------------------------------------------------------------二.clock()函数,用clock()函数,得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就可以换成“秒”,标准c函数。

在PC上运行的实时操作系统LabVIEW RT

在PC上运行的实时操作系统LabVIEW RT

在PC上运行的实时操作系统LabVIEW RT作者:National Instru ments 公司来源:《电子产品世界》在PC上运行的实时操作系统LabVIE W RT实时操作和硬实时操作系统电子测试和工业测控都依赖各种PC作为控制器,因为PC的硬件、软件资源丰富,价格实惠,采用开放式工业标准,完全满足作为测试系统的主控机,以及单机的嵌入式微控制器的各种要求。

特别是PC基数据采集系统和虚拟仪器的问世,PC在系统、单台、手提、模块、板卡中同样起着核心作用,反过来,测试产品可从PC中获得最新的计算机和网络成果。

PC基的数据采集广泛用来解决信号测控的各种问题,可用比传统仪器和控制器更低的投入,更快的上市时间开发功能强大的测控系统。

表1 RT系列数据采集卡型号模拟输入分辨率取样率输入电压模拟输出数字I/O6040E 16SE/8DI 12位250ks/s ±0.05~±10V 2 86303E 16SE/8DI 16位100ks/s ±0.1~±10V 2 8当前,大部分PC采用奔腾芯片和Windows操作系统,芯片时钟不断升高,今年将超过1GHz,Windows版本也从95、98、NT升级至2000,PC不但是精巧的控制器,而且也是很好的服务器,性能直迫工作部。

然而,由于Windows着重事务处理,虽然具有多任务、多线程、多媒体、网络和通信功能,仍然不适用于对过程时间有严格要求的实时测控系统。

“实时”是工业最广泛使用的术语,但意义不够明确,多数工程为员认为实时是指在可接受的延时内的时间,因为任何过程都不可能在瞬时产生。

并且且硬实时间间表示一种对系统反应时间的约束,在限定时间内系统保证作业的无失效执行,并符合实时的要求。

我们用一个控制回路来表达实时应用(见图1),传感器在某一时刻测得的物理量,经过过程收集后作出控制决定,再产生控制输出由执行机构去执行。

显然,从传感器测量至执行器动作之间需要占有一定时间,这个时间间隔称为控制回路周期时间。

LABIVEW中的时间节点函数

LABIVEW中的时间节点函数

LABIVEW中的时间节点函数07电本0712020110 黄国营LABVIEW专门提供了时间类型的控件---时间标识(TIMESTAMP),时间控件是8.X的新增数据类型,内部用18位整数或者19位浮点数表示时间,以秒为单位,开始时间是1904年1月1日星期5 12:00 am(UTC)。

LABVIEW在函数面板中有几个时间相关的节点函数时间计数器----获得计算机启动以来的毫秒数等待(MS)-----线程休眠指定的毫秒数,让出控制权等待下一个整数倍毫秒----与等待类似,等待到当时间计数器的值是设定值的整数倍,可以保持循环间同步。

这几个函数我在LABVIEW的软件定时器中介绍过.今天主要探讨的是几个日期时间相关的函数节点1、获取日期时间(秒)---------取得当前的时间日期,返回一个时间标识2、日期时间转换成时间标识类型3、时间标识转换成日期时间簇LABVIEW有两种数据类型用来描述时间日期:时间标识和时间日期簇其中时间标识和DBL是等价的(精度稍微有些损失),二者之间可以直接转换,单位是秒。

反之,时间簇结构、DBL也可以转换成时间标识。

LABVIEW同时也提供了时间标识转换成字符串的节点,这样就可以特色制作自己的时间显示了使用时间格式代码指定格式,按照该格式将时间标识的值或数值显示为时间。

时间格式代码包括:%a(星期名缩写),%b(月份名缩写),%c(地区日期/时间),%d (日期),%H(时,24小时制),%I(时,12小时制),%m(月份),%M (分钟),%p(am/pm标识),%S(秒),%x(地区日期),%X(地区时间),%y(两位数年份),%Y(四位数年份),%u(小数秒,位精度)。

有关时间标识的一个非常重要的技巧是+ 、-运算符号的问题。

时间标识本质是浮点数,支持带单位的加减操作上图构造了10个元素的时间标识数组,时间间隔1分钟TIMESTAMP 精度测试。

LabVIEW常见的79个问题解析

LabVIEW常见的79个问题解析

LabVIEW常见的79个问题解析1、Labview如何实现由一个事件引发其他三个事件的顺序发生,且这三次事件间的时间间隔为50ms?A:可以引用状态机来设计程序,将触发事件作为状态机的状态控制参数,后面发生的三个事件依次作为状态机的三个顺序状态,设置状态切换时间间隔为500ms.2、labview在主程序通过局部变量不能实时看子vi的参数A:通过局部变量只能得到子vi运行完之后的结果。

可以用control reference 方式,在子vi加一个属性节点引出一个reference。

主程序里把需要显示的控件创建一个reference连到子vi的reference输入端口。

另外也可以用vi server方式实现。

3、如何在一个graph或chart显示多个Y轴刻度,并且使每个通道对应每个刻度?A:在前面板上,右键点击刻度,然后选择duplicate scales,就会创建一个新的刻度。

然后再点击右键,选择swap sides,就可以让刻度显示在图的左边或右边。

然后右键右上角的plot legend上的曲线plot,选择Y scales然后就可以选择与该曲线相应的Y轴SCALES。

多条曲线对应多条Y轴的刻度时,是同样的方法。

4、如何从labview中打开一个pdf文件?A:最简单的方法:用system exec.vi实现,在system exec.vi 的command line 端口创建一个常量,输入adobe reader 的路径,再加上文件名等几个参数就可以实现上述要求。

举例如下:如果要拉开位于c盘的1234.pdf文件可以这样写“C:\Programfiles\Acrobt 7.0\Acrobat\Acrobat.exe”/t “C:\1234.pdf” “username”其中C:\Program files\Adobe\Acrobt 7.0\Acrobat\Acrobat.exe是Adobe Reader 的安装路径,/t是命令参数,C:\1234.pdf则是要打开的文件名,最后的username是用户的名字。

labview之时间-转自陈老师博客

labview之时间-转自陈老师博客

LabVIEW深入探索之绝对时间、通用时间和相对时间2011-04-29 07:47加入收藏作为一种面向工程应用的编程语言,LV提供了非常丰富的时间操作函数。

8.X后又提出了新的有关时间的数据类型,时间标识(TIMESTAMP)。

时间标识早期通常翻译成“时间戳”,实际上是一种改进型的数值控件,从时间标识控件所在的控件选板就可以初步判断出,时间标识就是特殊的数值控件。

一、时间标识的内存映射要想真正了解一种数据类型,首要的问题是要搞清楚该数据类型在内存中或者文件中是如何存储的。

我们知道数值型控件可以选择控件所包含的数据类型,比如双精度浮点数、整型数、32位整型数、16位整型数等等。

时间标识控件是不允许选择它所包含的数据类型的,这说明时间标识所包含的数据类型是固定的。

从帮助文件中,我们可以找到时间标识在内存中的存储方式--映射。

LabVIEW将时间标识保存为一个含四个整数的簇,其中前两个带符号整数(64位二进制)表示自1904年1月1日周五凌晨[01-01-1904 00:00:00]以来无时区影响的所有秒数。

后两个不带符号整数(64位二进制)表示小数秒部分。

LV利用16个字节(128位)表示时间信息,其中前8个字节(64位)由两个I32构成,表示从0时刻开始经历过的秒数。

后面8个字节为U64数据,表示秒的小数部分。

二、时间标识与双精度数之间的相互转换在时间标识出现以前,经常用双精度数表示从0时刻经历过的秒数。

我们知道双精度数所占的内存空间也是8个字节,与时间标识相同。

但是时间标识实际上是定点数,它的小数点位置是确定的,因此实际上双精度数表示时间与时间标识相比,不如时间标识精确。

采用数值转换函数就可以实现时间标识和双精度数之间的相互转换,如下图所示:三、强制转换时间标识至数值既然我们已经知道了时间标识在内存中的存储方式,我们自然就可以通过强制转换函数分解出时间标识的两个组成部分,秒和秒的小数部分。

因为时间标识占有8个字节的内存空间,并分成前后各4个字节,因此可以创建一个簇或者数组来表示它,下面的例子创建一个簇,包含3个元素。

在PC上运行的实时操作系统LabVIEWRT

在PC上运行的实时操作系统LabVIEWRT

在PC上运⾏的实时操作系统LabVIEWRT在PC上运⾏的实时操作系统LabVIEW RT作者:National Instru ments 公司来源:《电⼦产品世界》在PC上运⾏的实时操作系统LabVIE W RT实时操作和硬实时操作系统电⼦测试和⼯业测控都依赖各种PC作为控制器,因为PC的硬件、软件资源丰富,价格实惠,采⽤开放式⼯业标准,完全满⾜作为测试系统的主控机,以及单机的嵌⼊式微控制器的各种要求。

特别是PC基数据采集系统和虚拟仪器的问世,PC在系统、单台、⼿提、模块、板卡中同样起着核⼼作⽤,反过来,测试产品可从PC中获得最新的计算机和⽹络成果。

PC基的数据采集⼴泛⽤来解决信号测控的各种问题,可⽤⽐传统仪器和控制器更低的投⼊,更快的上市时间开发功能强⼤的测控系统。

表1 RT系列数据采集卡型号模拟输⼊分辨率取样率输⼊电压模拟输出数字I/O6040E 16SE/8DI 12位250ks/s ±0.05~±10V 2 86303E 16SE/8DI 16位100ks/s ±0.1~±10V 2 8当前,⼤部分PC采⽤奔腾芯⽚和Windows操作系统,芯⽚时钟不断升⾼,今年将超过1GHz,Windows版本也从95、98、NT升级⾄2000,PC不但是精巧的控制器,⽽且也是很好的服务器,性能直迫⼯作部。

然⽽,由于Windows着重事务处理,虽然具有多任务、多线程、多媒体、⽹络和通信功能,仍然不适⽤于对过程时间有严格要求的实时测控系统。

“实时”是⼯业最⼴泛使⽤的术语,但意义不够明确,多数⼯程为员认为实时是指在可接受的延时内的时间,因为任何过程都不可能在瞬时产⽣。

并且且硬实时间间表⽰⼀种对系统反应时间的约束,在限定时间内系统保证作业的⽆失效执⾏,并符合实时的要求。

我们⽤⼀个控制回路来表达实时应⽤(见图1),传感器在某⼀时刻测得的物理量,经过过程收集后作出控制决定,再产⽣控制输出由执⾏机构去执⾏。

LabVIEW调用WindowsAPI函数实现VI窗口置顶

LabVIEW调用WindowsAPI函数实现VI窗口置顶

LabVIEW调用Windows API实现VI窗口置顶前些天同事用LabVIEW开发了个常用的小工具软件,碍于电脑屏幕太小,想让这小工具一直保持在所有窗口的最顶端(置顶),几个人讨论研究发现通过LabVIEW的属性节点只能实现VI程序在LabVIEW软件中保持最前,而在其他窗口没能置顶,未能达到想要的效果。

通过上网查找资料,软件置顶是与操作平台的控制相关,需要调用Windows API去实现这功能,研究了一下,调用Windows API能很好的实现了VI置顶。

百度上用LabVIEW调用Windows API的教程LabVIEW版本比较旧,为方便大家更好的学习,现将自己研究的方法分享出来。

一.什么是Windows APIWindows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源…之外,它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程序达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application),所以便称之为Application Programming Interface,简称API 函数。

WIN32 API也就是Microsoft Windows 32位平台的应用程序编程接口。

Windows API包括几千个可调用的函数,它们大致可分为以下几类:基本服务、组件服务、用户界面服务、图形多媒体服务、消息和协作、网络、Web服务。

二.Windows API的发展现状当WINDOWS操作系统开始占据主导地位的时候,开发WINDOWS平台下的应用程序成为人们的需要。

而在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。

所以可以认为API 函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的操作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

labView中如何获取windows当前系统时间
《labview8.2入门到精通》的PPT,第4章里面有个练习是“写一个VI获取当前系统时间,并将其转换为字符串和浮点数”。

完成效果如图。

我要怎么来获取当前系统的时间呢?
程序如下,还是比较简单的,用到的函数都在编程---定时和编程---数值---转换里
问题:
我从一个仪器当中读取到了GPS时间,并想在LabVIEW中以较高的分辨率设定Windows系统时间。

我注意到LabVIEW的时间函数选版中有获取时间/日期的VI,但没有设定时间的VI。

如何才能在LabVIEW中实现时间设定?
解答: LabVIEW中没有现成的VI用于系统时间设定,但可以通过Windows SDK来实现。

参考以下的步骤,通过调用库函数节点的方式,调用kernel32.dll中SetSystemTime函数,可以设定系统时间:
1. 在程序框图中放置一个调用库函数节点。

双击此节点打开调用
库函数对话框。

2. 点击浏览按钮并选择kernel32.dll (一般放置于
"C:\WINDOWS\system32\kernel32.dll")。

3. 在函数名下拉列表中选择"SetSystemTime" 。

4. 在调用规范下拉列表中选择"stdcall (WINAPI)" 。

5. 在返回类型中选择“数值”以及“有符号8位整数”。

6. 点击添加参数并在类型中选择“匹配至类型”,接着在数据格式
中选择“句柄指针”。

7. 点击确定按钮,完成对调用库函数节点的配置。

8. 这个函数以一个包含八个双字节(16位整数)的结构体作为参
数。

在LabVIEW中,需要创建一个包含八个双字节的簇来传
递这个参数。

八个双字节分别为年、月、星期、日、小时、分
钟、秒以及毫秒。

将此簇连接至调用库函数节点的参数1。

9. 输入相应的值,并运行程序以设定系统时间。

相关文档
最新文档