




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于C#的自动测试系统开发 内部公开 ZTE Corporation. All rights reserved.引言对现有基于C#语言的自动测试系统开发过程进行分析与基于LabVIEW语言的开发进行对比总结与建议目录 仪器控制 程序编写 总结目录 仪器控制 程序编写 总结 内部公开 ZTE Corporation. All rights reserved.仪器控制一个完整的仪器控制系统除了包括计算机和仪器外,还必须建立仪器与计算机的通路以及上层应用程序。通路包括总线和针对不同仪器的驱动程序,上层应用程序用于发送控制命令。仪器控制包括仪器的数据采集、处理、分析、显示和存储。 内部公开 ZTE C
2、orporation. All rights reserved.仪器控制总线的选择 独立总线:T&M专用总线-GPIB,也是应用最早最广泛的通用接口总线,稳定性强,可靠性高,可为一个系统控制器提供多达15台仪器的连接,连接长度小于20m。 用户也可通过扩展设备来克服设备数和连线长度的限制。 232-485转换器,只是电气特性的转换,不存在协议转换。 内部公开 ZTE Corporation. All rights reserved.仪器控制基于消息的通信方式 收发的指令及数据都是高层次的ASCII字符串,仪器本身具有字符串解析功能。GPIB串口 内部公开 ZTE Corporation
3、. All rights reserved.仪器控制可编程仪器标准命令SCPI针对基于消息通信的仪器旨在规范一套标准的命令集 以Tektronix TDS示波器为例: *IDN?-返回仪器标识; CH:PRO be?-查询通道x的探头衰减 内部公开 ZTE Corporation. All rights reserved.仪器控制SCPI语言使用层次化结构“树”形结构,每个“树”命令都是以根层次命令开始,每个根层次命令下面又有许多层次命令。只有按照从树根到叶子的完整路径发送命令,仪器才能正确执行相应的操作命令。 内部公开 ZTE Corporation. All rights reserved
4、.仪器控制VISA(虚拟仪器软件架构) 针对每一种硬件借口都要编写不同的程序,制定一种新的标准,确保不同厂商、不同接口标准的仪器能互相兼容、可通信和数据交换,提供方便易用的驱动程序。实现程序与硬件I/O接口无关性与操作系统与编程语言无关能与大多数仪器总线连接,包括GPIB,串口等。用户只需要面对统一的编程接口。 内部公开 ZTE Corporation. All rights reserved.仪器控制 内部公开 ZTE Corporation. All rights reserved.仪器控制VISA .Net API是一个面向对象的接口,它由一组使用VISA与仪器通信的.Net类组成。您可
5、以使用.Net兼容的语言,如C#和Visual Basic .Net 内部公开 ZTE Corporation. All rights reserved.仪器控制 VISA .Net API是免费的NI-VISA驱动程序软件的一部分。NI VISA可以从National Instrument VISA免费下载以与NI产品结合使用。为了安装用于NI VISA的.Net支持程序,您需要在开发支持类别中选择.Net框架语言支持,以包括.Net支持程序 内部公开 ZTE Corporation. All rights reserved.仪器控制添加到添加到VisaNSVisaNS类库的引用类库的引用为
6、了创建C#或Visual Basic .Net仪器控制应用,需要从一个解决方案开始,在解决方案浏览器中,每个项目都拥有一个名为引用的类别,而各种引用便据此分类组织。为了使用VISA .Net API类库,将NationalInstruments.Common与NationalInstruments.VisaNS引用添加到您的项目。NationalInstruments.Common命名空间包括各种为许多NI驱动程序所使用的常见方法和属性。NationalInstruments.VisaNS命名空间包括面向VISA .Net API的方法和属性。为了增加一个新的引用,右击引用类别并选中添加引用。
7、 内部公开 ZTE Corporation. All rights reserved.仪器控制 内部公开 ZTE Corporation. All rights reserved.仪器控制 将将VisaNSVisaNS命名空间导入到应用命名空间导入到应用当引用VisaNS类时,可以在项目中使用它们。通过导入VisaNS命名空间,可以免除键入的必要,从而更为直接地访问对象。VisaNS命名空间的导入,可以通过将下行代码添加到您的应用程序的开始处完成:C#using NationalInstruments.VisaNS; 内部公开 ZTE Corporation. All rights reser
8、ved.仪器控制打开一个打开一个VISAVISA会话会话一个会话是自VISA .Net API到一项资源的一个连接或链接。VISA .Net API包含专为特殊应用设计的不同的会话类。例如,MessageBasedSession类适用于通过发送和接收文本字符串形式的消息进行通信的仪器。与之相对的是,RegisterBasedSession类被用于与通过读写寄存器进行通信的仪器进行通信。创建一个新的MessageBasedSession的第一步便是将其声明为我们的应用程序中的一个变量。下述代码演示了如何声明一个新的MessageBasedSession:C#private MessageBase
9、dSession mbSession; 内部公开 ZTE Corporation. All rights reserved.仪器控制在声明MessageBasedSession变量后,我们需要实例化一个MessageBasedSession对象。该方法实例化一个新的ResourceManager对象。这个新的ResourceManager对象包含一个名为Open(打开)的函数,然后该函数实例化一个新的会话对象。最后,我们将新创建的会话对象映射到一个MessageBasedSession。下述代码展示了如何在一行代码中执行这三项操作:C#mbSession = (MessageBasedSess
10、ion)ResourceManager.GetLocalManager().Open(resourceString.Text); 内部公开 ZTE Corporation. All rights reserved.仪器控制发送数据发送数据在创建了一个与仪器通信的会话之后,我们可以开始发送数据至该仪器,并读回其响应。在于基于消息的仪器的通信中最为常用的三项操作为查询、写入和读取。查询操作将一个命令写入到一个仪器并读回其响应。在另一方面,写入命令仅发送一个命令至仪器,而读取命令从仪器读取信息。下述代码片断展示了如何使用查询操作: 内部公开 ZTE Corporation. All rights r
11、eserved.程序编写 内部公开 ZTE Corporation. All rights reserved.程序编写 内部公开 ZTE Corporation. All rights reserved.程序编写 内部公开 ZTE Corporation. All rights reserved.程序编写 内部公开 ZTE Corporation. All rights reserved.程序编写在C#编程处理中,编写的windows应用程序都依赖于OPP(面向对象程序设计)技术 内部公开 ZTE Corporation. All rights reserved.程序编写 内部公开 ZTE C
12、orporation. All rights reserved.程序编写从上述实例可以看出,整个设计过程都是基于对象的。即把一个控件作为一个对象来处理,涉及独立的处理程序分别作用于这些对象。从而使整个对象独立运行,减少它们之间的关联,真正实现了对象处理。 内部公开 ZTE Corporation. All rights reserved.程序编写面向对象编程方法学是C#编程的指导思想。使用C#进行编程时,应该首先利用对象建模技术(OMT)来分析目标问题,抽象出相关对象的共性,对它们进行分类,并分析类之间的关系;然后再用类来描述同一类对象,归纳出类之间的关系。具体可分为面向对象分析和面向对象设计
13、。 内部公开 ZTE Corporation. All rights reserved.程序编写对象建模技术、面向对象分析和面向对象设计共同构成了系统设计的过程。 内部公开 ZTE Corporation. All rights reserved.程序编写 内部公开 ZTE Corporation. All rights reserved.总结开发时间短,易用性高;效率高;实现并行;工业控制系统首选 内部公开 ZTE Corporation. All rights reserved.C#调用labVIEW dll文件DLL(动态链接库)文件是Dynamic Link Library的缩写形式,
14、是一种允许程序共享执行特殊任务所必需的代码和其他资源的可执行文件。其多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。这些函数的可执行代码位于一个DLL中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。 内部公开 ZTE Corporation. All rights reserved.C#调用labVIEW dll文件函数和过程的代码就在程序的exe文件中,该文件包含了运行时所需的全部代码。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。而动态链接
15、所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。仅当应用程序被装入内存开始运行时,在Windows的管理下,才在应用程序与相应的DLL之间建立链接关系。当要执行所调用DLL中的函数时,根据链接产生的重定位信息,Windows才转去执行DLL中相应的函数代码 内部公开 ZTE Corporation. All rights reserved.labVIEW打包dll文件首先编写一个vi,建立新的项目文件,右键点击项目管理器中的程序生成规范,选择共享库(dll),弹出对dll文件进行设置的对话框。 内部公开 ZTE Corporation. All rights reserved.labVIEW打包dll文件 内部公开 ZTE Corporation. All rights reserved.labVIEW打包dll文件 内部公开 ZTE Corporation. All rights reserved.labVIEW打包dll文件 内部公开 ZTE Corporation. All rights reserved.调用labVIEWdll文件首先将先前生成Scale .DLL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020-2025年期货从业资格之期货基础知识综合练习试卷B卷附答案
- 吃饭有讲究教学课件
- 2020-2025年期货从业资格之期货基础知识押题练习试题A卷含答案
- 【长春】2025年吉林长春大学公开招聘博士高层次人才84人(1号)笔试历年典型考题及考点剖析附带答案详解
- 夜雨寄北教学课件
- 小学劳动面塑教学课件
- 六数上扇形教学课件
- 小学生科普知识教学课件
- 2025年证券从业之证券市场基本法律法规题库含答案
- 2025年新初三英语人教新版尖子生专题复习《阅读理解》
- 珍爱生命,预防自杀(文库版)
- 《古兰》中文译文版
- YS/T 1109-2016有机硅用硅粉
- 通力电梯技能培训教材系列:《KCE控制系统课程》
- 洁净手术室相关知识考核试题及答案
- 上海交通大学学生生存手册
- 最新基孔肯雅热防控培训课件
- 管道工技师理论知识题库及答案(完整版)
- 试生产方案确认表(各单位会签)
- 软件产品(项目)客户满意度调查表格
- 建筑垃圾处置方案(精选6篇)
评论
0/150
提交评论