资源描述:
《基于labview的串行通信动态链接库设计_侯艳华》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2005年第4期煤矿机械·75·文章编号:100320794(2005)0420075203基于LabVIEW的串行通信动态链接库设计1123侯艳华,王志选,王勋龙,刘丽萍(1.吉林大学电子科学与工程学院,长春130025;2.吉林大学测试科学实验中心,长春130025;3.吉林省物资集团有限责任公司,长春130022)摘要:分析了在LabVIEW和VC++中实现串行通信的方法,并通过具体的实例介绍了基于虚拟仪器的串行通信系统的动态链接库设计方法。论述了将虚拟仪器强大的仪器控制功能及与VC++程序开发功能综合运用的优良性能。关键词:LabVIEW;串行通信;动态链接库中图号:TP
2、39119文献标识码:A1引言VISAWrite将数据从写缓冲区写入由虚拟仪器开发软件主要有LabVIEW,LabWIN2VISAresourcename指定的设备或接口。DOWS,VC++等。LabVIEW是美国NI公司开发的VISARead从VISAresourcename指定一款软件,易于掌握,极大地缩短了程序开发时间。的设备或接口读取指定数目的字节,并经过多年的发展,功能日趋完善。将数据返回到读缓冲区。在多台计算机组成的分级、分布控制系统中,广VISAClose关闭由VISAresourcename泛地采用串行方式(外设与接口电路之间)。串行通指定的设备队列或事件。信因其
3、特有的方式灵活、传输距离远、硬件简单等优PropertyNode返回指定串行口输点,是实现网络资源共享的非常重要的方法。入缓冲区中字节数。2LabVIEW和VC++平台下的串行通信VISASerialBreak向VISArcsourcename2.1基于虚拟仪器的串行通信指定的输出口发出至少250ms的中断LabVIEW提供了各种图形化的串行通信驱动程信号。序———子VI,简单易用。这些子VI位于Function>以上模块通过恰当的组合可以一定程度地满足>InstrumentI/O>>Serial。主要包括以下几项功串行通信的需要。但是高性能的通信程序往往要求能:程序具备中断驱动
4、、握手、断开等控制功能,只靠上VISAConfigureSerialPort初始化由述几个简单的模块很难满足要求,需要直接对异步VISAresourcename指定的串行设备。串行通信接口芯片编程。MicrosoftVisualC++6.0理及LabVIEW的编程方法,完成了对VM6068串行[3]RobertAWitte.电子测量仪器原理与应用[M].北京:清华大学出版社,1995.通讯模块驱动程序的开发。实践证明本驱动程序完全符合设计的总体要求,并且充分应用了LabVIEW作者简介:王忠礼(1971-),吉林舒兰人,讲师,硕士,1996年东图形化编程语言的优点,程序的可读性好
5、、扩展性北大学信息学院工业电气自动化专业本科毕业,2000年北京科技大强、界面简洁美观、操作简单易用。学信息工程学院控制理论与控制工程专业硕士毕业,现从事模式识参考文献:别与嵌入式系统应用研究,参加国家自然基金1项,公开出版教材3[1]杨乐平,李海涛,肖凯,等.虚拟仪器技术概论[M].北京:电子工部,公开发表论文6篇.Tel:0432-7699156,E-mail:wzlmqh@sina.业出版社,2003.com.[2]贾惠芹,高天德,郭恩全.IVI技术研究[J].国外电子测量技术,2000,(3):23-24.收稿日期:2004210228DesignofVM6068Seri
6、alCommunicationModelBasedonVXIbus121WANGZhong-li,ZHAOJin-xian,GUOXiao-hao(1.ElectricandInformationEngineeringCollege,BeihuaUniversity,Jilin132600,China;2.HeilongjiangScienceandTechnologyUniversity,Harbin150027,China)Abstract:VirtualinstrumenttechnologyandVXIbusarenewtechnologiesinthemeasureme
7、ntandthecontrolfieldatpresent,whichhavebeenrepresentedasthedevelopingdirectionoftheinstrumentinthefuture.InthepaperaccomplishthePCtestplatformbasedonserialmodelVM6068byLabViewwhichisagraphicalcomputerprogramlanguage.Finallyprovidesmaintestpro