基于虚拟仪器平台的凸轮检测数据处理系统的设计毕业论文(编辑修改稿)内容摘要:

称设置为关键字,字段 1对应的是极坐标角度,字段2 对应的是极径,利用 Access 将图 33( a)中字段 1 数据与图 33( b)中字段第 3 章 凸轮检测数据的提取与存储 11 名称进行互联,即可在 Access 中点击查询便可以实现简单的查询功能,但这需要手键入极坐标角度值。 常州工学院电子信息与电气工程学院毕业设计说明书 第 4 章 CVI 软件设计与功能的实现 Lab Windows/CVI 界面设计 Lab Windows/CVI 的主要功能 Lab Windows/CVI 是基于 C的集成软件开发环境 ,主要用于检测和控制相关领域如软件开发 ,调试 ,具有以下功能 : 1. 标准 ANSI C 程序编辑、编译、链接和调试。 2. 工程文件管理。 3. 包括各种各样的仪器控制软件方案。 4. 包含一个全面的数据采集、分析和图形显示工具。 5. 可以自动生成的函数面板和调试软件包在相应的功能 ,实现代码自动生成。 6. 一个方便的用户界面生成工具 ,各种用户界面配置和管理资源。 7. 仪器驱动程序向导 ,可以快速生成一个标准的虚拟仪器驱动程序软件。 8. 外部模块广泛的支持能力。 9. 在线帮助。 建立用户界面 从 Project 窗中选择: FileNewUser Interface(*.uir)„ 创建一个用户图形接口文件( *.uir)。 下图就是本程序应该创建的 UIR 界面 : 图 41 Lab Windows/CVI 用户界面 第 4 章 CVI 软件设计与功能的实现 13 创建下列控件元素以及修改其属性: 创建一个 string ,修改其属性如下图所示: 图 42 string 设置 创建一个 BinarySwitch, 修改其属性如下图所示: 图 43 quit 按钮设置 常州工学院电子信息与电气工程学院毕业设计说明书 创建一 个放大控件 , 修改其属性如下图所示: 图 44 控件设置 创建一个极距和角度调整控件 , 修改其属性如下图所示: 图 45 调整设置 第 4 章 CVI 软件设计与功能的实现 15 图 46 角度的设置 这些控件的选择都是在界面中鼠标右击选择控件中获得的。 选择: FileSave 保存 UIR 文件,命名为。 设置面板和菜单属性的函数分别是 Set Ctrl Attribute 函数和 Set Menu Bar Attribute,获取面板和菜单属性的函数分别为 Get Panel Attribute 和 Get Menu Bar Attribute。 当制作完了用户界面,单击用户界面编辑窗口的 Code 菜单生成出相对应的代码。 “产品序列号”即为型号的选择,这是个 write 属性可以点击从文件中获取。 坐标线选择按钮是为了方便工作人员进行波形的比较。 CVI 与数据库 本次设计的数据库采用 Access20xx,利用这款软件作为数据库存储数据比较容易,并且该软件本就容易操作。 Lab Windows/CVI 并没有直接通过标准函数库提供数据库的操作函数,也没有在工具包中包含数据库的驱动器。 要在 Lab Windows/CVI 的环境下使用数据库,必须先安装 CVI SQL Tookit 工具包。 工具包中一共包含了 11个子类的函数库,这些数据库编程 API 使 Lab Windows/CVI 编写的上层应用程序对数据库的访问得常州工学院电子信息与电气工程学院毕业设计说明书 以实现。 虽然 Lab Windows/CVI 中通过 Microsoft 的 ADO(活动数据对象 )接口可以支持多种数据类型的数据源,但是最常使用的还是 ODBC 数据源。 ODBC 实际上是一个函数库,它提供了一个连接到底层数据库系统的公共应用程序接口,它通过一个库驱动程序与底层数据库进行通信。 在开发数据库应用程序时无需考虑它是如何 工作的,只需要为应用程序指定一个数据源,将数据源文件配置成已创建好的数据库文件,即可以在 Lab Windows/CVI 中利用 SQL 语句访问由第三方工具制作的数据库。 因此,信号处理自动测试系统如果要实现对数据库的访问,必须先指定一个数据源,数据源命名为“ TestData”,数据源文件配置成“ TestData. mdb”。 将数据源成功添加到 Windows操作系统后,就可以在 Lab Windows/CVI 中对数据库中的 5个表进行查询、修改等操作了。 运用 VISA 应用程序接口可以实现四通道多点采样数据库存储,采样数 据精确到小数点后 2位,采样数据以字符串的形式存储在 Data Acquisition Library(数据采集函数库)中。 这里各通道的采样均设为 1000Hz,被采样信号的最高频率低于 500,采样率不能低于 1000Hz。 因为数据中,极坐标取小数点后两位,所以在接下来的 RS232 当中会取整乘以 100, 8个字节的形式传送。 Lab Windows/CVI 数据调用 Lab Windows/CVI 的函数库 (Library) Lab Windows/CVI 其强大功能的所在就是基于其非常丰富的库函数。 Lab Windows/CVI 所提供的库函数从用户图形界面,数据采集,数据分析,仪器控制 „ 到现在 Inter 时代的 TCP。 所以说 Lab Windows/CVI 在测量领域成为先锋的同时又与当前时代的新科技保持了同步。 下面我们就来谈谈 Lab Windows/CVI 的函数库,我们把 Lab Windows/CVI 的函数库分为了五个大的方面,各个方面又分成了不同的小类: 数据采集方面( Data Acquisition)一共 7 个库: Instrument Library: 仪 器驱动库 GPIB/GPIB Library: 仪器控制函数库 Data Acquisition Library: 数据采集函数库 Easy I/O for DAQ : 易用的数据采集函数库 第 4 章 CVI 软件设计与功能的实现 17 RS 232 Library : RS 232 库 VISA Library : VISA 库 VXI Library : VXI 库 数据分析方面 ,两个库: Formatting and I/O Library : 格式化以及输入输出库 Analysis Library: 分析库 或者 Advanced Analysis Library: 高级分析库 数据显示方面: User Interface Library : 用户接口库 说明 : 用户接口库中提供了许多用于与面板上各种控件元素打交道的函数,通过这些函数你可以非常容易的把一个采集来的波形画 到 Panel 的 Graph 上或删除 Graph 上已画的图形;得到 Panel 上某个控件元素的数值以及把某个数值写到 Panel 上的某个控件元素上去(亦就是改变该控件元素的值);修该 Panel 上控件元素的属性。 总之,只有熟练掌握了用户接口库函数后才能使创建的用户图形界面正正的动起来。 网络,通信与数据交换方面,四个库: DDE Library : 动态数据交换库 TCP Library: TCP 库 Active X Automation Library: Active X 自动化库 DataSocket Library: DataSocket 库 其它方面: ANSI C Library: 标准 C 库 点击库 Library 中 .Net Library 图 47 .Net Library 选择 常州工学院电子信息与电气工程学院毕业设计说明书 点击 Select 图 48 文件类型选择 选择 Select 项,出现如下图界面: 图 49 文件名称选择 获取文件如图 图 410 获取 文件并定义文件名 第 4 章 CVI 软件设计与功能的实现 19 实现对数据库数据提取功能 实现 ODBC 数据源查询、数据库查询、显示表 testres 的内容 1)历史数据的写入 当一台出厂机械检测之后,需要将机械凸轮检测出来的参数写入数据库,即需要在数据库中增加新的记录,程序段中的变量 idvalue 为整型变量 namevalue、timevalue、 addressvalue、 typevalue、 resultvalue 是从面板文本框中取出的字符类型的值。 在插入数据之前,首先判断主键 JD 有没有重复,如果有重复,则出现提示信息。 其中 idvaluel为面板中将要存储凸轮检测出来的极坐标角度,idvalue 为数据表中已经存在的参数。 int hdbc; //声明数据库连接句柄 hdbc=DBC0nnect(“DSN=erming”) //连接数据源 hmap = DBBeginMap(hdbc); //创建一个数据库映射关系 DBMapColumnTolnt(hmap. ”ID” amp。 idvalue , amp。 idstatus); hstmt= DBActivateMap(hmap, “em ” ) //激活映射 while((DBFetchNext(hslmt))!=DB_EOF) //定位数据指针 { if (idvalue==idvalue1) { mainkeyflag++: //主键标志位 } } if(mainkeyflag = 1) { MessagePopup(”提示”,”主键不能重复 !请修改参数,使其唯一 !” )。 return 一 1: } else { return O: } 如果主键不重复,则插入对应的凸轮检测数来的数据。 在 本 次 设 计 中 InitDataSource 、 GetDatabaseInfo 、 GettableInfo 、常州工学院电子信息与电气工程学院毕业设计说明书 GetCollumInfo 和 showTable 函数分别实现对 ODBC 数据源查询、数据库查询、表testres 内容的显示,这里只讲述如何实现显示表 testres 中内容。 2)数据的查询 建立查询语句这里采用 CVI SQL Tookit 子类提供的显示 SQl 查询的方法: Sprintf( buf,“ SELECT * FROM %s” ,SelectTable)。 Hstmt=DBActivateSQL(hdbc,buf)。 这里 buf 的内容即“ SELECT * FROM testers”,表示查找 testres 表的所有字段。 然后再进行操作,讲字符串 content[0]绑定到字段 UUT_NUM,将浮点变量dou dou2 分别绑定到 MEAS MEAS2: DBBindColChar( hstm, 1,11, content[0],amp。 collumata,”” )。 DBBindColFloat( hstm,2,amp。 dou1,amp。 collumsta)。 DBBindColChar( hstm,3,amp。 dou2,amp。 coullumsta)。 最后再添加到列表中: clearListCtrl(panel2,PANEL_2_LISTTABLECONTENT)。 while(DBFetchNext(hstmt)==DB_SUCCESS){ sprintf(buf,” %s % %” ,content[0],dou1,dou2)。 InsertlistItem(panel2,PANEL_2_LISTTABLECONTENT,1,buf,buf)。 } 相关程序定义如下: int hdbc; //声明数据库连接句柄 hdbc=DBConnect(“ DSN=erming“ ) //连接数据源 PromptPopup ( “查找“,”请输入您所要键入数据参数:“ , responsebuffer,10); hmap = DBBeginMap (hdbc); //激活 SQL 连接 DBMapColumnTolnt(hmap,“ ID”, amp。 idvalue, amp。 idstatus); //将数据库中的字段放到相对应的类型映射中。 hstat=DBActivateMap(hmap, “ em“ ); //激活映射 if(total0) { whiIe(DBFetc。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。