- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Lab Windows/CVI的动态网络通信平台的搭建
摘要:针对Lab Windows/CVI中的DataSocket技术和NI网络变量只能手工、静态分配采集端资源的问题。该文设计和实现了一个基于虚拟仪器的网络通信平台,使得多个客户端可以同时和多个采集端进行通信,并动态的申请和释放采集端资源。
关键词:Lab Windows/CVI;远程测控;动态资源分配
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2138-03
Construction of a Dynamic Network Layer Based on Lab Windows/CVI
PENG Han, CAI Ying-chang
(Department of Computer Engineering, Xian Aerotechnical College, Xian 710077, China)
Abstract: DataSocket technique and NI network variable of Lab Windows/CVI can only allocate gatherresource statically. To resolve this problem, this paper designed and implements a dynamic network layer based on virtual instrument .The network layer made it possible for multi-client and multi-gather to communicate with each other, and the client can allocate and release gather resources dynamically.
Key words: lab windows/CVI; remote measurement; dynamic resources allocation
1 引言
随着计算机软硬件技术不断发展与提高,虚拟仪器技术已成为当前测控领域内的关键性技术。在远程测控与仿真方面,虚拟仪器网络化已被应用到测控技术中的各个领域。NI的DataSocket技术为底层通信协议提供了一致的API,编程人员无需为不同的数据格式和通信协议编写具体的程序代码。但DataSocket的缺陷是它对客户端和采集端(仪器设备)的资源配置是静态的,即客户端和采集端的连接必须在测控系统运行之前手工配置,客户端无法动态的申请和释放采集端的资源。虽然美国NI(National Instrument)公司在Lab Windows/CVI的最新版本用网络变量(Network Variable)代替了DataSocket,但还是没有改变这一静态特性。当多个客户端要求控制多个采集端资源进行数据采集,并要求在新的任务中重新申请新的资源时,DataSocket和网络变量就显得不够灵活,无法满足系统的需求。针对这一点,本文设计了一个能为多个客户提供动态申请和分配采集端资源的网络通信层,用Lab Windows/CVI的TCP库实现。对模块的使用者封装了底层的通信细节,用户只要调用本模块提供的外部接口即可。
2 设计思想
2.1 系统要求
根据用户的要求,本采集系统应具备动态的按需分配采集端资源的能力,可以有多个客户端,每个客户端可以申请若干数量的采集端资源进行数据采集,本次采集完毕后应该能释放采集端资源让其他的客户端使用。如果要重新开始一次新的采集任务,则应再次重复这个申请资源-使用资源-释放资源的过程。
2.2 系统的总体设计思想
依据软件设计的模块化的原则,我们忽略采集端的数据采集过程和客户端的数据分析、处理过程的细节,只考虑网络通信层的设计,根据用户要求,提出了如图1所示的总体设计思想。
图1中的采集端为嵌入式主机,而客户端为用户使用的PC。数据库服务器负责维护一个资源占用情况表,表中为每个采集端资源建立了一个记录项。记录项中有一个字段是资源占用位。初始时所有的资源都被标记为空闲,即表中每一项的资源占用为都为0(表示本资源空闲)。当一个用户开始一个数据采集任务时,客户端程序自动到数据库服务器中查询资源占用表,若找到足够的空闲资源,则把这些资源对应的记录项的资源占用位标记为1(表示本资源已被占用)。此后,客户端从数据库服务器获得这些可用资源的IP地址,并依次连接这些采集端,发送各种采集指令,采集端执行采集指令并返回结果。客户端完成一个采集任务后,断开与所有采集端的连
文档评论(0)