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应用程序。

LabVIEWReal-Time模块入门指南

LabVIEWReal-Time模块入门指南

LabVIEW Real-Time模块入门™指南本文档提供了帮助用户入门LabVIEW Real-Time模块的设计练习。

用户可通过一系列的练习检查、更改和部署实时应用程序,及了解编程实时操作系统的概念和实践。

目录重要概念 (2)安装和配置Real-Time模块 (2)安装Real-Time模块 (3)配置RT终端 (3)安装RT终端软件 (3)安装多CPU支持 (3)打开Real-Time项目 (4)查看RT终端的VI (5)初始化数据传输组件 (5)使用定时循环采集数据 (6)使用While循环传输网络数据 (6)关闭数据传输组件 (7)查看主机的VI (7)连接至网络数据流 (8)读取网络数据流 (9)断开网络数据流 (9)创建和部署应用程序 (9)配置RT终端的属性 (9)部署程序生成规范至RT终端 (10)调试RT终端VI和独立应用程序 (10)调试RT终端VI (10)调试独立的实时应用程序 (11)参考资料 (11)LabVIEW帮助 (11)LabVIEW Real-Time模块发行说明和升级说明 (12)重要概念下列重要概念为开始使用Real-Time模块的用户提供了必需的基础信息。

•Real-time (RT)应用程序-设计用于稳定性执行和精确定时的应用程序。

•确定性-描述应用程序响应外部事件的一贯性程度或在给定时间限制内执行操作的实时应用程序特性。

设计实时应用程序时,通常优先考虑最大化确定性。

•抖动-应用程序程序最快和最慢执行之间的时间差。

设计实时应用程序时,通常优先考虑最小化抖动。

•实时操作系统 (RTOS)-设计用于运行具有增强型确定性和降低型抖动的应用程序的操作系统。

通用操作系统(例如,Microsoft Windows)完成操作的时间是不可预期的。

相比较,RTOS中的每个操作均具有已知的最大执行时间。

通过设计用于RTOS的应用程序,用户可确保应用程序运行的确定性。

•RT终端-运行RTOS的控制器。

LABVIEW编程技巧——如何比较系统时间

LABVIEW编程技巧——如何比较系统时间

LABVIEW编程技巧——如何比较系统时间
如何比较当前时间是否在22:00:00和05:00:00之间?从字面上看05:00:00应该是第二天凌晨。

有人的比较方法是把时间上下限和当前时
间转换为字符串,然后进行比较,下面是他的程序框图,因为在逻辑上存在问题,所以引起了热烈的讨论。

获取系统时间使得时间在22:00:00之后到5:00:00之前灯亮,但是其他时间都对的,为什么在0:00:00~2:00:00之间就不对呢?
似乎是4:59:59那里的冒号是使用了中文输入法的冒号,而那个节点输
出的时候是使用英文输入法下的冒号的,所以比较时就出错了。

不是的,那个只要时间小于2比如说1:10:50,因为它的第一个数字比2 小,输出就不对
后面还有一些相关的回复就不摘录了,讨论到后来一位朋友提出了意见“感觉这个思路不是很好”
我个人认为这位朋友的看法是对的,我们知道字符串是逐个字符比较的,它实际上比较的是字符的ASCII值。

“5”和“22”进行字符串比较,那么5>22,因为5>2,这对数字比较来说是不符合逻辑的。

Labview中的时间本身是数值,任何编程语言都会定义一个0时刻,当前时间为从那个0时刻开始后经过的秒数。

LV作为面向工程实践的编程语言,有关时间操作函数非常丰富,因此使用“数值”比较更容易理解、不容易发生错误。

我们知道,目前LV有三种不同的方式表示时间,三者之间可以自由转换:。

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

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

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. 输入相应的值,并运行程序以设定系统时间。

LabVIEW中如何调用Windows API

LabVIEW中如何调用Windows API

LabVIEW中如何调用Windows APILancker(原Simwe虚拟仪器技术版管理员,创建人之一)「LabVIEW 没有提供这样的功能,必须呼叫 Windows API」,有时候笔者常看到有些朋友会问许多问题,实在是因为LabVIEW本身不提供这些功能,或者实现很困难,所以才会这样回答。

虽然这样回答有点偷懒,或者说不负责任,但这的确是事实, LabVIEW 所提供的模块,虽然也不在少数,但是主要用于测控软件开发,要想变点花样,通常是行不通的,这是笔者决定开始撰写本文的主要原因。

感觉上 LabVIEW 程式要呼叫 Windows API是一件比较困难的事情,或者说比较麻烦的事情,但别忘了 Windows API是大家的,凡是在 Windows工作环境底下执行的应用程式,都有权利呼叫 Windows API。

其实LabVIEW和Visual C++/Visual Basic/Delphi等开发软件一样,可以呼叫API,而且实现比较方便,与调用其他动态连接库文件(.DLL)几乎一样。

(笔者个人认为要做到将API函数灵活调用到LV,最好有VC/VB编程基础。

我觉得如果花一两个月学习VB,对与LV的提高会起到意想不到的效果。

VB和LabVIEW都是电子工程师喜欢用于开发测试软件的工具,其中有许多相似之处。

它们具有入门简单,方便地调用/移植其他代码。

VB调用API的参考资料很多,但介绍如何在LV中调用API的资料却为数不多。

本人写这篇文章,虽然错误难免,但还是希望对大家有所帮助。

)1、Windows API简介:1.1 简介:Windows 作为多线程系统除了协调应用程式的执行、分配记忆体、管理系统资源…之外,她同时也是一个很大的服务中心,呼叫这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由於这些函数服务的对象是应用程式(Application),所以便称之为 Application Programming Interface,简称 API 函数。

获取系统时间

获取系统时间

获取系统时间FileNameString.Insert(0,PathString);PathString = ".dat";PathString.Insert(0,FileNameString);FileNameString = PathString;VC++中其实还是经过调用它自带的CTime类来完成的获取以后系统时间的,我们做一个小顺序来了解这个进程吧!对话框里只要两个显示框和两个按钮,点下按钮显示以后时间。

就这么一个小顺序。

〔1〕树立运用顺序外壳创立一个新的AppWizard项目,命名为shiyan,选择Dialog based;其他都选用默许属性,单击Finish完成生成运用顺序的步骤。

进入对话框界面以后,按以下图所示布置显示框和功用按钮。

〔2〕设置参数其中下面的显示文本框设为CString型,命名为m_show,ID号为IDC_show。

下面的显示文本框设为CString型,命名为m_show1,ID号为IDC_show1。

〔3〕编译顺序start键顺序:void CDate1Dlg::Onstart(){//count=0;SetTimer(1,1000,NULL);// TODO: Add your control notification handler code here}stop键顺序:void CDate1Dlg::Onstop(){KillTimer(1);// TODO: Add your control notification handler code here}〔4〕添加计时器控件View -> ClassWizard -> MessageMaps -> CUse progressDlg,参与WM_TIMER函数,编辑顺序:void CDate1Dlg::OnTimer(UINT nIDEvent){if(nIDEvent==1){// count++;UpdateData(1);mtime=CTime::GetCurrentTime();//获取以后时间char i;CString w;i=char (mtime.GetDayOfWeek());//获取以后时间的天数是这个星期的第几天,这里要留意了,系统上默许的一个星期的第一天是星期日,最后一天是周六,大家千万不要搞错了。

windows获取当前系统时间函数总结

windows获取当前系统时间函数总结

windows获取当前系统时间函数总结windows获取当前系统时间函数总结篇一:c++获取inds时间的方法介绍我们在衡量一个函数运行时间,或者判断一个算法的时间效率,或者在程序中我们需要一个定时器,定时执行一个特定的操作,比如在多媒体中,比如在游戏中等,都会用到时间函数。

还比如我们通过记录函数或者算法开始和截至的时间,然后利用两者之差得出函数或者算法的运行时间。

编译器和操作系统为我们提供了很多时间函数,这些时间函数的精度也是各不相同的,所以,如果我们想得到准确的结果,必须使用合适的时间函数。

现在我就介绍inds下的几种常用时间函数。

1:Sleep函数使用:sleep(1000),在inds和Linux下1000代表的含义并不相同,inds 下的表示1000毫秒,也就是1秒钟;Linux下表示1000秒,Linux 下使用毫秒级别的函数可以使用usleep。

原理:sleep函数是使调用sleep函数的线程休眠,线程主动放弃时间片。

当经过指定的时间间隔后,再启动线程,继续执行代码。

Sleep 函数并不能起到定时的作用,主要作用是延时。

在一些多线程中可能会看到sleep(0);其主要目的是让出时间片。

精度:sleep函数的精度非常低,当系统越忙它精度也就越低,有时候我们休眠1秒,可能3秒后才能继续执行。

它的精度取决于线程自身优先级、其他线程的优先级,以及线程的数量等因素。

2:MFC下的timer事件使用:1.调用函数SetTimer设置定时间隔,如SetTimer(0,100,NULL)即为设置100毫秒的时间间隔;2.在应用程序中增加定时响应函数nTimer,并在该函数中添加响应的处理语句,用来完成时间到时的操作。

原理:同sleep函数一样。

不同的是timer是一个定时器,可以指定回调函数,默认为nTimer函数。

精度:timer事件的精度范围在毫米级别,系统越忙其精度也就越差。

3: C语言下的Time 使用:time_t t;time( Time函数是获取当前时间。

labview电子时钟

labview电子时钟

LABVIEW数字时钟班级:电信101姓名:刘军学号:100407106目录第一章概述 0第二章总体设计 (3)2.1时钟显示的结构 (2)2.2设计总思路 (2)第三章软件设计 (3)3.1获取时间的各整型数据 (4)3.2提取数字的各位 (3)3.3七段布尔显示控件编码 (4)3.4译码、布尔显示数字 (4)3.5显示时间的区段 (5)3.6闪烁 (6)3.7 添加动态显示 (6)第四章程序调试 (6)总结 (7)程序框图前面板 (8)程序面板程序框图 (9)第一章概述虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。

灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。

这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。

只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。

LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器集成环境)是一种图形化的编程语言(又称G语言),它是由美国NI公司推出的虚拟仪器开发平台,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。

使用这种语言编程时,基本上不用写程序代码,取而代之的是程序框图。

LabVIEW的特点如下:◆编程简单;◆开发周期短;◆高效性;◆开放性;◆自定义性;◆性价比高,能一机多用。

第二章 LABVIEW时钟总体设计2.1 时钟显示的结构本课题要求设计一个数字时钟。

通过获取电脑的系统时间,并分离出给数字,在通过布尔显示显示。

数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。

7段数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0-9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显示不同的值,如显示“0”提取数组的0-6位分别赋值给7段布尔显示。

wincc系统日期时间获取

wincc系统日期时间获取

wincc系统日期时间获取wincc系统日期时间获取系统时间的获得,有两种办法,一是建立TAG,二是使用函数获取系统时间方法一:在[Tag Management]添加新的驱动"System Info.chn",然后在新添加的[SYSTEM INFO]新建连接,这样就可以创建实际TAG了;下面新建几个TAG:名字:date,数据类型:text tag 8-bit character set,地址设定为Function:date,format:"MM-DD-YY"名字:time,数据类型:text tag 8-bit character set,地址设定为Function:Time,format:"HH:MM:SS"根据上面的方法依次建立year,mon,day,week等TAG,请分别设置对应的format内容TAG建立完成了,就可以读到系统时间了。

新建一个图形文件,分别放置几个静态文本框[static text],把TEXT属性连接到上面新建的TAG,就可以显示系统日期时间,利用WEEK还能显示今天是星期几了.方法二: 使用C脚本获得系统时间#include "apdefap.h"char*_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyNa me){time_ttimer;struct tm*ptm;char *p;time(&timer);ptm=localtime(&timer);p=SysMalloc(9);sprintf(p,"%04d:%02d:%02d",ptm->tm_year+1900,ptm->tm_mon+1,ptm->tm_md ay);return(p);}其中//系统时间已经获得//年:ptm -> tm_year+1900//月:ptm-> tm_mon+1//日:ptm -> tm_mday//星期:ptm -> tm_wday *注意这个,tm_wday返回的是整数,必须经过转换才能用来表示星期几。

电子时钟labview (1)

电子时钟labview (1)

目录1目的及基本要求 02 电子时钟原理 (1)3电子时钟设计和仿真 (2)3.1 具体设计步骤 (3)3.2 前后面板 (12)3.3 设计中遇到的问题 (14)4结果及性能分析 (14)4.1 运行结果 (14)4.2 性能分析 (15)参考文献 (16)1 目的及基本要求熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现电子时钟的设计和仿真。

要求通过本课程设计使学生熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。

本课程设计要求实现电子时钟的设计与仿真,即通过获取电脑的系统时间,并分离出给数字,在通过布尔显示显示。

数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。

7段数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0-9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显示不同的值,如显示“0”提取数组的0-6位分别赋值给7段布尔显示。

以此类推,可以实现九位数字即0到9的可视化显示。

而且要求实现时钟功能多样化,比如加入显示时段、星期,甚至实现闹钟功能,可以自定义时间显示等,做到界面简约而生动,方便操作和用户理解。

2 电子时钟原理由于电子时钟在现实生活、工作中,特别是在科学研究工作中有非常很重要的、广泛的应用。

在这种情况下,对电子时钟的研究和制作、仿真是十分很重要。

本文就对基于LabVIEW的电子时钟的设计与仿真做详细的说明。

本课程设计要求实现电子时钟的设计与仿真,即通过获取电脑的系统时间,并分离出给数字,在通过布尔显示显示。

数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。

7段数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0-9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显示不同的值,如显示“0”提取数组的0-6位分别赋值给7段布尔显示。

WINCC画面读取系统时间

WINCC画面读取系统时间

WINCC画面读取系统时间WINCC画面读取系统时间三种方法,供楼主选择:1、变量管理器->创建SYSTEM INFO通道,创建字符串内部变量,选择对应的日期格式以及时间格式即可。

2、文本对象->属性->文本,使用C脚本,触发周期1S:#pragma code("kernel32.dll")BOOL GetLocalTime(LPSYSTEMTIME);#pragma code()char szReturn[255];SYSTEMTIME sysTime;GetLocalTime(&sysTime);//sprintf(szReturn,"%d年%d月%d日",sysTime.wYear,sysTime.wMonth,sysTime.wDay); //日期sprintf(szReturn,"%d:%d:%d",sysTime.wHour,sysTime.wMinu te,sysTime.wSecond); //时间return szReturn;3、文本对象->属性->文本,使用VBS脚本,触发周期1S:Dim tNowtNow = Now()'Text_Trigger = CStr(Year(tNow)) & "年" & CStr(Month(tNow)) & "月" & CStr(Day(tNow)) & "日" '#日期Text_Trigger = CStr(Hour(tNow)) & ":" & CStr(Minute(tNow)) & ":" & CStr(Second(tNow)) '#时间#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, inty){// WINCC:TAGNAME_SECTION_START// syntax: #define TagNameInAction DMTagName// next TagID : 1#define ApcCB_CH1_CG1_MULTI_STAGE_PLUGGING "CB_CG1_MULTI_STAGE_PLUGGING"// WINCC:TAGNAME_SECTION_END// WINCC:PICNAME_SECTION_START// syntax: #define PicNameInAction PictureName// next PicID : 1// WINCC:PICNAME_SECTION_ENDif ( GetTagBit (ApcCB_CH1_CG1_MULTI_STAGE_PLUGGING)) SetTagBit (ApcCB_CH1_CG1_MULTI_STAGE_PLUGGING,0);elseSetTagBit (ApcCB_CH1_CG1_MULTI_STAGE_PLUGGING,1);}。

  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. 输入相应的值,并运行程序以设定系统时间。

相关文档
最新文档