新闻中心

EEPW首页 > 设计应用 > 电饭锅数据采集平台的设计

电饭锅数据采集平台的设计

作者:梁启文 龙世瑜 梁丽玲 杨金华 许敏君时间:2018-12-27来源:电子产品世界收藏

  (2)“倍增继电器”公式模块

本文引用地址:http://www.eepw.com.cn/article/201812/396098.htm

  分离出“DAQ助手”数据端三个通道采集到的信号,将ai0、ai1通道的信号连至“电压-温度公式”模块得出锅顶和锅底温度信号。ai3通道的继电器电压信号无须转换,但若将继电器电压波形与温度波形显示在同一波形图中,继电器电压幅度与温度的幅度会相差很大,为了后期便于观察和分析,构建“倍增继电器”的幅值公式模块,将继电器的幅值放大20倍[2]

  4.3信号存储程序

  用“写入测量函数”将转换后的温度信号与继电器输出的电压信号写入PC机内的存储单元中,用户可在PC机中创建任意路径的文件来存储采集的数据,文件类型自定义,此次定义为.xls。用“布尔控件”(命名为“录波启动”)来控制写入[3]。这样,温度数据和电压数据最终保存在PC机文件中,编程如图5所示。

nEO_IMG_5.jpg

  4.4信号显示程序

  用“读取测量函数”读取PC机中已写入的数据文件,在其“EOF?”接线端中创建显示控件,命名为“加载完毕”,标志加载波形完毕,波形加载完毕时,此控件为“真”。在信号接线端用“收集信号”函数接收采集到的数据,用“波形图”控件进行显示[4]。为简化程序界面,将其嵌套在“事件结构”中的一个分支中,输入端创建“布尔开关”(命名为加载波形),触发事件为“加载波形;值改变”,来控制读取文件工作。为保证读取工作的连续运行,外加“while”循环结构,“停止”端口连至“EOF?”。信号存储模块编程如图6所示。

nEO_IMG_6.jpg

  4.5读取占空比程序设计

  继电器的电压信号输出的波形类似于方波。读取其占空比的程序分3部分实现:波形的提取、通过编程识别继电器电压(即ai3信号)的波峰与波谷、识别出横坐标,间接实现占空比的读取,占空比就是一个周期内高低电平的长度与一个周期长度的比值。此部分程序嵌套在“事件结构”中的另一个分支,事件触发为“水平调节;值改变”。

  (1) 波形的提取

  使用事件结构第一分支中的“波形”的局部变量,在第二分支,作为“提取信号”的“信号”端,用“波形图”显示提取出的波形。创建此波形图的属性节点设置X轴标尺的最大值与最小值的调节,将X标尺最大值的属性节点的写入端用滑杆控件来控制,命名为“水平缩放”,并使其为事件分支结构的驱动按钮,意在控制X轴波形的缩放。采集的波形在有限的图形空间下,会过于密集,不便观察与读取,因此创建波形图的属性节点使得X轴的标尺可见[5]。由此,可与“水平缩放”控件配合使用,将波形图放大,调节X轴的标尺便可清晰观察和读取数据,编程如图7所示。

nEO_IMG_7.jpg

  (2) 识别波峰与波谷

  ①波峰与波谷分界处的识别

  索引出ai3信号中的元素,判断大于50的元素,执行最外层“条件结构”的“真分支”:内嵌一个“条件结构”,在分支选择端创建“布尔”控件,为“真”时,用“数组插入”函数将数组大小作为索引号,使每次循环得到的数据按顺序插入到数组中存储,每次得到大于50的第一个数后,用平铺顺序结构将“布尔控件”置为假,并在最外层“条件结构”的“假分支”中将“布尔控件”又置为真,即将索引出的ai3信号中的元素小于50时将“布尔控件”置为真,这样就能保证每次读到的是第一个大于50的元素,并且保证下一次最外层条件结构为真时,还能正常执行内嵌的“条件结构”。“for循环”中移位寄存器右端子最终得到的是数组:此数组存放的是ai3信号中所有幅度大于50的数据[6]。识别波峰与波谷的编程结构是对称的,在此只介绍识别波峰的编程过程。

  ②波峰与波谷分界处坐标的识别在以上内嵌的条件结构中,同样将“for循环”中的当前数组大小作为“数组插入”函数的索引号,使每次循环得到的数据按顺序插入到另一数组中存储,当前循环计数i作为数组元素的输入端,由此,“数组插入”函数的输出的新数组就是ai3信号中所有第一个幅度大于50的坐标。以上程序描述的编程结果如图8所示。

nEO_IMG_8.jpg

  (3) 占空比的读取

  此部分是把识别到的波峰与波谷分界处的横坐标标识到波形图中的编程过程。编程中,利用到波形图属性节点中的“注释列表”来实现对波形图的标识。“注释列表”实质上是一个簇数组,在编程处理中将其元素索引到循环中进行运算和处理,再重新写入注释列表中[7]

  将注释列表的元素索引出来,并将其作为“按名称捆绑”函数的输入簇的输入端,对这些注释列表簇元素进行操作,用户可根据需求定义注释列表中的元素。名称的输入端就是需要标识的横坐标的内容,注释的位置Position分为X轴和Y轴,由X轴和Y轴共同决定,将上一个“for循环”中移位寄存器的两个右端子“按名称捆绑”成簇连至Position,为了注释的信息更加清晰,不重影,在LabelOffset中设置值偏移量,将注释内容相对于X轴的偏移量设成20,相对于Y轴的偏移量每四个偏移i%3。注释列表的输出簇的接线端通过“数组插入”重新写入到注释列表中[8]。编程过程如图9所示。

nEO_IMG_9.jpg

  识别出波峰与波谷的编程结构是对称的,在第二个“for循环”后用“数组插入”函数将注释波谷的输出簇插入到注释波峰的后面,最后写入到注释列表的输入端。最终完成标识的编程如图10所示。

nEO_IMG_10.jpg



关键词: 电饭锅 Lab VIEW 201901

评论


相关推荐

技术专区

关闭