虚拟仪器课程设计实验报告.doc

虚拟仪器课程设计实验报告.doc

ID:55954987

大小:1.26 MB

页数:17页

时间:2020-06-18

虚拟仪器课程设计实验报告.doc_第1页
虚拟仪器课程设计实验报告.doc_第2页
虚拟仪器课程设计实验报告.doc_第3页
虚拟仪器课程设计实验报告.doc_第4页
虚拟仪器课程设计实验报告.doc_第5页
资源描述:

《虚拟仪器课程设计实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《微机化仪器综合设计与实践》实验指导书李扬周琦广东工业大学机电工程学院20156月印刷目录实验六基于PID算法的可控硅水温自动调节系统设计一、实验目的和要求1.掌握虚拟仪器高级语言LabVIEW或LabWindows/CVI的流程图和软仪器面板的编程设计方法,熟悉数据处理模块、信号分析模块、仪器控制模块等各种软件模块的应用。2.掌握数据采集硬件的低层驱动程序(C语言/汇编语言)设计、调试及嵌入LabVIEW的技术。3.学习基于PID的比例积分微分程序编写方法。4.了解可控硅的的温度控制特点和原理。5.熟悉CB-68LP接线端子板各接口,利用C

2、B-68LP端子板和PCI-6023E数据采集卡进行模拟量和数字量的转换及相关数据采集。二、实验主要仪器设备和材料(1)装有labwindows/CVI软件PC一台(2)PC-DAQ/PCI卡(3)CB-68LP端子板(4)变送器(型号SBWZ-2460)(5)可控硅(6)热电偶三、实验内容和要求1、实验内容1)、对水温进行数据采样:先把水温加热至某个温度值(100℃左右,利用万能表测试相应引脚的输出电压,温度每下降1摄氏度,就马上记录输出电压值。2)、对采样数据进行处理:通过观察可知,电压与温度不成线性关系,是一条曲线,因此,本设计采用分段

3、直线拟合。得出电压与温度的对应关系。3)、用户界面设计:用Labwindows/CVI软件进行用户界面开发,并进行编程。具体程序见后面。4)、进行调试:把PC和其他设备连接好,测试程序,设置PID参数,观察控制效果,确立PID参数。5)、重新对数据采样:开始采样时,因为温度和电压值都不断发生变化,而温度计显示变化相对于电压变化有一定的滞后,造成微机上温度显示数值比温度计发生一定量的偏移,造成较大误差。因此,此次采样利用刚开发的程序控制炉温恒定,观察电压变化范围,记录多个电压值,求其平均值。但只需要对部分温度采样就可以了,因为这里采用线段拟合成

4、曲线,只需要线段的端点数据就可。6)、重新调试程序,并完善用户界面。2、程序如下:#include#include#include#include#include#include"PID.h"StaticintpanelHandle;StaticdoubleWave[1024];StaticdoubleTemp[1024];StaticdoubleA;StaticdoubleF;StaticdoublePh,VOL,GG;Staticdo

5、ubleAM;StaticdoublePGAIN;StaticdoubleIGAIN;StaticdoubleDGAIN;StaticdoubleLASTERR;StaticdoubleTEMP;Staticdoubleintegral,TEMPUP,PIDPWM;StaticdoubleTE=0;StaticunsignedlongAOtaskID;StaticdoubleERR,FERROR,PT;PID_PWM()//PID算法定义{DoubleERR;DoublePT,DT,RESULT,FERROR;ERR=TEMP-AM;If(a

6、bs(ERR)>0.01){FERROR=ERR;PT=PGAIN*FERROR;If(PT>100

7、

8、PT<-100){Integral=0.0;}Else{Integral+=IGAIN*FERROR;If(integral>100.00){Integral=100.0;}Elseif(integral<0.0){Integral=0.0;}}DT=(ERR-LASTERR)*DGAIN;RESULT=PT+integral+DT;}ElseRESULT=integral=PGAIN+IGAIN;LASTERR=ERR;Return(RE

9、SULT);}intmain(intargc,char*argv[]){if(InitCVIRTE(0,argv,0)==0)return-1;/*outofmemory*/if((panelHandle=LoadPanel(0,"PID.uir",PANEL))<0)return-1;DisplayPanel(panelHandle);GetCtrlVal(panelHandle,PANEL_HORIZONTAL,&F);//获得频率//RunUserInterface();DiscardPanel(panelHandle);return0

10、;}intCVICALLBACKSetHorizontal(intpanel,intcontrol,intevent,void*callbackData,intev

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。