哈尔滨工业大学(威海)虚拟仪器课设设计1课程设计基本信息学生姓名:钱海钢学号:070220316院系名称:信息科学与工程学院课程设计名称:虚拟仪器的网络控制课程设计地点:创新实验室课程设计时间:2011年1月3日至2011年1月7日同组人姓名:林镇江方斌课程设计内容目录页码1、课程设计题目与任务书...……………………………………………......[2]2、课程设计用仪器设备名称...……………………………………………..[2]3、课程设计过程……...……………………………………………………..[2]4、课程设计心得……...……………………………………………………..[13]教师评语及课程设计成绩评语:成绩:教师签字:年月日(威海)哈尔滨工业大学(威海)虚拟仪器课设设计2虚拟仪器的网络控制一.课程设计题目与任务书利用labview设计虚拟仪器的网络控制1、设计一个程序控制8个外设小灯的点亮方式,要求两种方式A:每个小灯间隔时间T,依次亮,时间T可调,并循环。B:先1.3.5.7亮隔时间T,2.4.6.8亮,并循环,T可调。2、要求主面板与硬件的8个小灯同步。3、通过网络在另一台计算机上控制此程序的运行(利用LabVIEW的DateSocket技术)二.课程设计用仪器设备名称软件:LABVIEW8.6及DataSocketServer、DAQmx硬件:NI公司的BNC-2120,利用它自带的LED灯实现软硬件的同步。三.课程设计过程1.总体设计首先使用选择使用条件结构来控制两种选择方式,条件一控制方式A,条件二控制方式B。在两种控制方式下,都需要有循环控制,所以选择使用While循环嵌套,其中对于B方案中可以再使用选择结构来控制单数的四盏灯和偶数的四盏灯的亮灭。对于可调整的间隔时间T,我们选择使用时间延迟模块,同时使用数值输入控件,能基本实现设计要求的第一步,由于需要同时控制8个小灯的亮灭,所以使用簇,簇中包括8个布尔灯显示控件。2.总体程序图小灯控制程序A的程序图如图1所示:哈尔滨工业大学(威海)虚拟仪器课设设计3图1小灯亮灭控制方式A在该程序中,使用了替换数组子集,i从0开始输入,控制簇中第一个小灯的亮灭,i=1时控制第二个小灯的亮灭,一次类推,当i=7时,第八个小灯亮,然后进入循环,时间延迟控件用来调整间隔时间T,当需要停止时,按下前面板的“停止”键。小灯亮灭控制方案B的程序图如图2所示:哈尔滨工业大学(威海)虚拟仪器课设设计4图2小灯亮灭控制程序B该程序与A程序的区别为在While循环中有嵌套了一个条件结构,并有i除以2的余数控制,如果i除以2的余数为0,则内嵌条件为真,执行如图2所示程序,此时,数组输出0、2、4、6,外设的小灯1、3、5、7亮。哈尔滨工业大学(威海)虚拟仪器课设设计5图3如果余数为1,则内嵌条件为假,执行如图3所示程序。此时,数组输出1、3、5、7,控制外设小灯2、4、6、8亮。在控制方案B中,还运用了一个局部变量,从而使所需的外设数量减少,整个控制系统只需要八个小灯。3.前面板设计该程序的前面板如图4:哈尔滨工业大学(威海)虚拟仪器课设设计6图4前面板“方式选择”用来选择控制方案,当选择“方式1”为控制方案A,八个小灯依次亮灭,通过“T1”来控制亮灭的间隔时间,单位为秒。当选择“方式2”为控制方案B,小灯1、3、5、7同时亮,间隔时间T,小灯2、4、6、8同时亮,通过控制T2来控制亮灭的时间间隔。4.网络控制设计实验要求通过网络,在另一台计算机上控制此程序的运行,我们选择使用LabVIEW自带的DateSocket技术。首先,需要打开DataSocketServer程序,对所编写的程序进行设置。在“属性”选项下,点击“数据绑定”,如图5。哈尔滨工业大学(威海)虚拟仪器课设设计7图5DataSocket属性设置“数据绑定选择”中选择“DataSocket”,“访问类型”选择“只读”,“路径”选择自己电脑所用的URL。由于需要在另一台计算机上实现对本程序的控制,所以在设置完成以后,将控制器(几乎相同的程序)拷在另外一台电脑上,其程序图如图6.哈尔滨工业大学(威海)虚拟仪器课设设计8哈尔滨工业大学(威海)虚拟仪器课设设计9图6远程控制器程序图其前面板如图7。哈尔滨工业大学(威海)虚拟仪器课设设计10图7远程控制器前面板对前面板上的三个控件分别进行DataSocket属性设置,就可以实现程序的远程控制。经过实验可知,当在控制器上选择方式1时,被控制对象上显示的也是方式1,并且小灯实现同步亮灭。当控制器选择方式2时,被控对象也立即变为方式2并按照方式2进行有规律的亮灭。进过测试,控制器能完成同步控制被控对象完成方式选择及实践改变等所有要求的操作。4.与硬件的连接首先,利用Measurement&AutomationExplorer程序,新建NI-DAQmx任务,并进行设置,过程如图8所示。哈尔滨工业大学(威海)虚拟仪器课设设计11图8DAQmx任务然后在已经完成的VI中添加DAQmx写入控件,因为我们需要输出一组数据来控制LED的亮灭,所以是给硬件写入数据。DAQmx写入控件选择多通道单线输出,并且设置任务通道,其程序图如图9所示。哈尔滨工业大学(威海)虚拟仪器课设设计12图9DAQ控件程序图由实验结果可知,当软件上的小灯按照方式1进行亮灭时,BNC-2120上的小灯时也实现同步亮灭,当软件上的小灯按照方式2亮灭的时候,BNC-2120上的小灯也现实了同步的亮灭,当改变时间T时,BNC-2120上的小灯也按照新哈尔滨工业大学(威海)虚拟仪器课设设计13的时间T与软件部分同步亮与灭。四.设计心得刚开始看到题目的时候就想到和一道实验题类似,思路一下子有了,于是就选择了这道题。第一天晚上就按照实验思路用顺序结构做完了软件部分,就自以为万事大吉了。第一次答辩的时候才发现其他组的软件都做成一个VI,而我却做成了两个VI,突然发现犯了个根本性的错误。通过这件事,明白了合作的重要性。第二次答辩的时候由于控制对象和被控对象设置相反了,而且方式选择的时候要先停止后重新运行才能选择,又不大符合题目的要求。今天中午及下午又在实验室和队友好好研究,经过不断的查资料,问同学,最好终于发现了原因,把循环用错了。感谢老师的严格,让我们发挥了更大的潜能,坚持不懈,最终把课设进行了很大的改善,一种成就感油然而生,同时感谢王老师及其他同学的帮助,让我们顺利的完成了虚拟仪器课程设计。在这次虚拟仪器课程设计过程中,不仅仅巩固了上课所学的理论知识,也不仅仅通过前后为期近一个月的课设对labview有了更深入的了解和更熟练的操作,最重要的是学会了一种认真的态度,一种坚持不懈的毅力和一种不惧怕困难的精神。最高兴的是经过诸多坎坷之后成功完成时的喜悦。