基于LabView的计算机控制技术案例设计
2018-06-13王玉香张喜红
王玉香,张喜红,冯 振
(亳州职业技术学院 智能工程系,安徽 亳州 236800)
计算机控制技术涉及生产过程的控制技术和仪器仪表等[1,2]。鉴于条件限制,传统教学主要以理论讲述为主,晦涩的理论和抽象的知识对基础本就薄弱、学习兴趣本就不浓厚的高职学生来说,是极大的挑战,教学效果不理想。为此,人们将MATLAB和虚拟仪器LabView应用于系统分析和设计[3],借助这种生动形象的方式,提高学生的学习兴趣,改善教学效果。LabView是虚拟仪器软件,用图形化方式构建系统,功能强大。它融合了仪器技术和计算机的优势,搭建系统时,设计者只需要选择需要的控件和函数模块,将它们放在前面板和程序框图中,再进行连接,便完成了系统的构建和设计,编程实现过程简单易学。编程环境开放,软件提供的控件和函数也很丰富,设计者可根据需要对系统功能进行设计。系统开发成本低、性能好、功能丰富、工作流程直观、操作界面灵活简便,实验系统的结果简洁、直观[4-8]。将 LabView引入《计算机控制技术》课程教学中,将工程实例融入教学,实现知识与能力的综合培养。
本文以LabView构建操作界面,单片机系统作为下位机,设计温度测控系统作为计算机控制的综合教学案例。
1 系统总体设计
系统由上位机和下位机构成,上位机是计算机,安装了 LabView8.6软件和 NI-VISA17.0驱动。下位机是以 STC89C51RC为控制核心的单片机系统,上位机和下位机间通过串行通信的方式实现信息的交互,系统总体组成如图1。
图1 系统总体框图
实时的温度信息由下位机的 DS18B20完成采集,并将其传输给单片机系统,单片机系统再将温度信息以字符串形式,通过串口传输给计算机,上位机的计算机系统利用LabView构建操作和显示的界面,界面上包括温度的数字显示部分、LED报警灯部分、温度的上下限值设置部分等。通过温度的上下限设置部分设定温度的最高、最低限值。根据设定的限值和接收到的实时温度信息,控制报警显示状态。为便于形象的观测,温度显示采用波形和数字同步显示。上位机可以通过串口将设置的温度上下限值传输给单片机。单片机系统可以通过字符液晶 1602实现对当前温度的实时显示,并通过比较当前的温度和接收的计算机发送过来的温度上下限值,实现LED报警显示。实验过程中,通过比较计算机操作界面和单片机系统的温度及报警显示状态对温度测控系统性能进行评价。
2 下位机设计
2.1 下位机硬件设计
下位机是以 STC89C51RC为控制核心的单片机系统,可以实现实时温度显示和报警显示。温度采集、报警显示和温度显示仿真原理图如图2所示。
采集温度的传感器采用高精度、高可靠、小体积、低成本集成型DS18B20[4],并通过单片机的 P2.4脚将采集到的实时温度信息传输给STC89C51RC,温度显示部分选用字符液晶1602,数据通道D0~D7接单片机的P1口,三条控制引脚E、RS、RW分别接单片机的P3.4、P3.5、P3.6引脚。报警显示部分采用最简单的LED报警指示灯,其中D1用于低于温度下限的报警,接P2.0,D2用于高于温度上限的报警,接P2.1。调试时先将温度上下限通过软件的方式设置,如可将图2中温度上限设为35 ℃,温度下限设为20 ℃,联调时再将此部分程序屏蔽。通过设计相应的程序,单片机系统可以实现独立的温度采集和报警功能,可借此对学生的单片机应用能力进行锻炼。
图2 下位机单片机系统仿真原理图
单片机TTL电平是正逻辑,计算机是RS-232接口采用负逻辑,所以不能进行直接通信,这里选用MAX232实现电平的双向转换[9-10],具体电路如图3。
图3 上位机与下位机的串口电路
2.2 下位机软件设计
单片机系统要处理 DS18B20采集到的温度信息,向上位机传送数据,在字符液晶 1602上显示数据,比较当前温度和通过串口接收的上位机设置的温度上下限,输出比较结果,控制报警指示灯D1、D2工作。主程序流程图如图4。
图4 下位机单片机系统主程序流程图
下位机单片机程序主要包括串行通信的参数设置,DS18B20的温度读取和输出到LCD1602显示,串口发送温度和温度上下限的串口接收。串口相应参数设置为:串行通信速率4 800 bps,8位数据位,奇偶检验位 0,1个停止位。T0采用工作方式1,T1采用工作方式2,T0定时200 ms,T0中断,选用 COM1口[4]。单片机对温度上下限值的接收采用中断的方式。单片机将温度发送给计算机时采用定时的方式。
3 上位机设计
本系统上位机安装的是LabView8.6,采用图形化语言的虚拟仪器开发平台,具有数据采集、分析、输入输出控制等丰富而强大的功能,每一个LabView都由两个部分构成,即程序框图和前面板,都通过模块搭建的方式完成控制过程的设计。程序框图是用函数,属于底层控制过程,前面板是控件,是人机交互的界面,简单明了。在与下位机单片机系统串行通信时,LabView利用自带的 VISA控件[9-11],从串口提取温度信息,并通过格式转化,将其显示在前面板。同时通过VISA控件将上下限温度值传输至串口,进一步传送给单片机系统。该系统所使用的VISA包括:VISA串口配置、VISA写、读、关等函数[4,11]。
3.1 前面板设计
图5 PC机前面板设计
前面板设计如图5,包括实时温度的数字显示、实时温度的曲线显示、高低温报警指示灯、串口通信时所用串口资源的选择部分、温度的上下限值可设置部分等。温度曲线显示部分将温度实时的绘制成曲线,形象直观的看出温度的变化情况。当前温度显示部分可以实时显示系统温度。串口资源选择部分用来选择串行通信时所用的串口,本系统调试时选用COM1口。通过上下限温度设置部分可以设置系统的温度范围限值。高低温报警部分由两个指示灯组成,分别用于高于上限和低于下限的报警。实施时,根据学生的掌握情况,可增加系统的功能如实现温度华氏和摄氏的转换,对温度值的统计分析,对报警次数的统计等。
3.2 程序框图设计
程序框图流程设计如图6(a)。程序框图主要包含上下限温度的发送部分,温度信息的接收和显示部分,温度的超限报警部分等,其中温度超限报警部分程序框图如图6(b)。
开机时,事件结构的条件为真即执行。发送和接收的温度数据均是字符串型的数据,所以在上下限温度发送部分,需先将数据转换为字符串,在温度信息的显示部分要通过波形显示,必须先将字符串转换为数据。显示控件可以直接显示字符串数据,故可直接相连。所以,程序设计时还涉及到字符串转为数组、数组索引及一些运算函数。
图6 (a) 上位机LabView程序框图流程设计
图6 (b) 温度超限报警部分程序框图
4 系统调试
图7 下位机下限报警
图8 下位机上限报警
系统调试时可以先将下位机的单片机系统和上位机的LabView系统进行独立的调试。单片机系统调试时通过软件设置温度上下限值,调试结果如图7、图8,可以实现系统功能。
上位机 LabView系统调试时,可先用LabView函数中的随机信号模拟接收到的温度,调试结果如图9、图10,可以实现温度的显示及报警功能。再将上位机和下位机通过串口线连接,进行综合调试。
图9 上位机上限报警
图10 上位机下限报警
下位机和上位机的温度显示数值和报警状态相同。因为当前室温15 ℃,所以对DS18B20采取包装好的热水加热方式处理,热水靠近则温度迅速上升,热水离开,则温度迅速下降,调试结果如图 11,其中图 11(a)为下位机显示效果,图11(b)为上位机显示效果。
(a) 下位机显示效果
图11 上位机和下位机综合调试结果
5 教学设计及注意事项
本案例是单片机与虚拟仪器相结合的综合案例,也可以看成是温度监测中的两个独立教学案例,一个是单片机实现的系统,一个是虚拟仪器实现的系统。具体讲授和实训时,根据学生的基础可以有针对性地加强和削弱部分模块的教学。系统的功能可以由简至繁,如先从下位机和上位机中LabView之间串行通信开始,只练习给定数据在两者间的接收、发送,再到上位机LabView对温度信息的正确接收。这个过程中一直将上位机和下位机作为一个完整的系统进行综合练习,可以很好地培养学生的全局观。
应用本案例实际教学时,可以添加不同传感器实现不同信息的采集,结合无线网络实现信息的多点采集,利用LabView实现信息的统计、远程控制等功能。
[1] 孟祥军,王金梅,李子春.结构化学理论联系实际教学案例的挖掘[J].唐山师范学院学报,2012,34(2):123-124.
[2] 谭兴国.以工程案例开发推进微机控制技术课程改革[J].实验科学与技术,2016,14(5):137-150.
[3] 张喜红,王玉香.基于电阻应变片传感器教学的电子称设计[J].唐山师范学院学报,2017,39(5):141-144.
[4] 魏艳平,蔡久评.基于 LabView与单片机的温度控制系统设计[J].江西科技师范大学学报,2014,(6):55-61.
[5] 唐英姿.基于 LabView的计算机控制虚拟仿真系统研究[J].中国新技术新产品,2012,(7):21-21.
[6] 黄凯.基于 LabView 的计算机控制技术[J].福建电脑,2012,28(10):145-146+117.
[7] 马平,梁薇,李珍.基于LABVIEW的实验室过程控制系统设计[J].计算机测量与控制,2017,25(4):44-46.
[8] 黄澈.计算机控制虚拟教学实验系统的研究[D].太原:太原理工大学,2014:1-4.
[9] 叶军,郭栋.基于LabView的温度采集控制系统[J].电气电子教学学报,2016,38(3):71-73+91.
[10] 林科业.基于 LabView 的实时温度测控实验[J].实验科学与技术,2016,14(5):65-67,133.
[11] 王建勋,陈红军.基于单片机和 LabView 的串口控制系统设计[J].中国农机化学报,2015,36(3):266-269.