资源描述:
《实验四物联网中央空调温度控制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验四物联网中央空调温度控制1实验目的>采用温度传感器采集相关数据。>掌握串口通信的编程技巧。>通过传感器采集的数据,实现采用数字PID实现房间的温度控制。2实验环境>硬件:UIZBCC2530节点板,温度传感板,USB接口CC2530仿真器,PC机,交叉串口线,PLC;>软件:Windows7/WindowsXP,IAR集成开发环境,串口调试工具,dephi软件,hwstarPLC编程软件。3实验内容通过温度传感器,采用PID实现对房间温度的控制。4实验原理采集温度检测的数据,通过串口从节点模块采集数据,用delphi编写控
2、制程序,并将控制结果下载到下位机PLC,进行执行输出。5实验步骤1)按照实验平台模块参考程序,采集数据,同时,数据会通过串口传输到PC超级终端上。2)编写上位机串口通信程序,采集数据;并编写控制程序实现下述功能:采用数字PID实现对温度的控制数字増量型PID控制算法公示:△u伙)=u(k)-u(k一1)=Kpe(k)—e(k-1)]+Kte(k)+KDe(k)-2e伙一1)+幺伙一2)]“伙-l)=Kpe仗一1)+壬士e(i)+7/伙T);伙一习11/=0」3)在PC对节点模块的串口设置波特率为19200,8数据位,1停止
3、位,无硬件流控;对PLC的串口设置波特率为57600,8数据位,1停止位,奇校验。4)上位机程序对传感器数据的采集,编写RTU协议将控制结果下传到PLC;5)程序编好后,观察PLC输出点的运行。7实验总结在实验中,我们通过串口从节点模块的温度传感器采集数据,用delphi编写控制程序,并将控制结果下载到下位机PLC,进行执行输出到PC超级终端上,并采用数字PID实现对温度的控制。•实验较为简单,但是实用性很强,方便了家庭生活。.希望该物联网技术未来能更好的得到普及推广和应用。附件:procedureTcommthread.ge
4、tWMorder;varorder,ecc:string;beginorder:=*0105,+inttohex(Forml.Mset.adr,4);ifForml.Mset.value=1thenorder:=order+'FF00*elseorder:=order+00001;ecc:=getCRC16(order);Morder[0]:=strtointC$'+ecc[l]+ecc[2]);Morder[l]:=strtoint($+ecc[3]+ecc[4]);Mordcr[2]:=strtoint('$'+ccc[5
5、]+ccc[6]);Morder[3]:=strtoint('$'+ecc[7]+ecc[8]);Morder[4]:=strtoint('$'+eccl9]+ecc[10J);Morder⑸:=stnoint('$'+ccc[ll]+eccfl2]);Morder[6]:=strtoint($+ecc[13]+ecc[14]);Morder[7]:=strtoint(r$f+ecc[15]+ecc[16]);end;procedureTcommthread.getRMDcontrol;varorder,ccc:string;
6、beginorder:='0103003C0006*;〃连续读多个字功能3ecc:=getCRC16(order);Morder[0]:=strtoint($+ecc[l]+ecc[2]);Mordcr[1]:=strtoint(,$'+ecc[3]+ecc[4]);Morder[2]:=strtoint(;$,+ecc[5]+ecc[6]);Morder[3]:=strtoint(r$'+ecc[7]+ecc[8]);Morder[4]:=strtointC$'+ecc[9]+ecc[10]);Morder[51:=strt
7、oint(,$,+ecc[ll]+ecc[12]);Mordcr[6]:=strtoint('$'+ccc[13]+ccc[14]);Morder[7]:=strtoint(r$,+ecc[15]+ecc[16]);end;procedureTcommthread.getRDorder;varorder,ccc:string;beginorder:=*0103003C00IE*;〃连续读多个字功能3ecc:=getCRC16(order);Morder[0]:=strtoint($+ecc[l]+ecc[2]);Mordcr[
8、1]:=strtoint(,$'+ecc[3]+ecc[4]);Morder[2]:=strtoint(;$,+ecc[5]+ecc[6]);Morder[3]:=strtoint(r$'+ecc[7]+ecc[8]);Morder[4]:=strtointC$'+ecc[9