基于BL的以太网温度控制系统Word格式文档下载.docx
- 文档编号:18607396
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:17
- 大小:977.78KB
基于BL的以太网温度控制系统Word格式文档下载.docx
《基于BL的以太网温度控制系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于BL的以太网温度控制系统Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
它的工业原理:
当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成匀速增长的。
Pt100的分度表
-50度
80.31欧姆
30度
111.67欧姆
110度
142.29欧姆
190度
172.17欧姆
-40度
84.27欧姆
40度
115.54欧姆
120度
146.07欧姆
200度
175.86欧姆
-30度
88.22欧姆
50度
119.40欧姆
130度
149.83欧姆
-20度
92.16欧姆
60度
123.24欧姆
140度
153.58欧姆
-10度
96.09欧姆
70度
127.08欧姆
150度
157.33欧姆
0度
100.00欧姆
80度
130.90欧姆
160度
161.05欧姆
10度
103.90欧姆
90度
134.71欧姆
170度
164.77欧姆
20度
107.79欧姆
100度
138.51欧姆
180度
168.48欧姆
PT100铂电阻RT曲线图表
四数据采集实验步骤
1现场温度通过Pt100采集,得到相应的电流模拟量通过温度控制仪表传输给电流表显示和双向硅。
2同时将采集来的模拟量传输给BL2000进行转换,转换成数字量调入内部程序进行数据处理。
3BL2000将处理后的结果(数字量)进行转换变为模拟量在模拟量接口对温度控制仪表XTM602进行传输。
4XTM602得到传输过来的模拟量后对数显表进行显示同时对双向硅进行控制使双向硅输出电压发生变化,达到对电炉的控制。
五系统软件编程过程
系统软件即上位机的程序主要采用FrontPage设计的网页,通过IE调用完成,设计的网页主要包括:
主界面:
控制界面、显示界面、启停界面,登入界面,修改密码界面。
通过超链接连接各网页并在主程序中完成了相应的网页调用指令和CGI指令的设计。
六部分DynamicoC程序
动态C语言接近于单步同于传统的C语言,是基于Windows95/98/NT及Linux平台的Rabbit应用软件的完整开发系统,它作为应用程序运行于IBM-PC兼容机上,是Z-Word公司为基于Rabbit微处理器的嵌入式系统而设计的专门的C编译系统。
动态C包含了很多底层的I/O驱动函数库,大大减轻了软件开发的工作量。
它具有实时多任务内核,提供Socker级的TCP/IP编程,支持多种网络协议。
应用动态C进行软件开发,无需仿真器和编程器,开发成本大大降低。
另外,由于动态C直接对存储器进行编译,函数及库都可以实现以动态方式进行编译与连接,因此具有了极大的速度优势。
在基于BL2000以太网温度控制实验设计中,主要通过DynamicC实现对网页的调用和数据的处理等功能,其具体的程序为:
#classauto
/***********************************
*配置字节*
*-------------*
*更改网关以及IP地址适应自己的网络*
***********************************/
#defineMY_GATEWAY"
10.103.0.1"
#defineMY_IP_ADDRESS"
10.103.0.226"
#defineMY_NETMASK"
255.255.255.0"
#defineTCP_BUF_SIZE2048
/*
*WEB服务的配置字节
*/
#defineHTTP_MAXSERVERS2
#defineMAX_TCP_SOCKET_BUFFERS2
#defineREDIRECTHOSTMY_IP_ADDRESS
/********************************
*结束配置字节*
********************************/
//#defineREDIRECTTO"
http:
//"
REDIRECTHOST"
/index.shtml"
#defineREDIRECTTO"
#memmapxmem
#use"
dcrtcp.lib"
http.lib"
#ximport"
C:
\试验设备\整理版\温度控制试验/pages/maincontrol.htm"
index_htm
\试验设备\整理版\温度控制试验/pages/left.htm"
left_htm
\试验设备\整理版\温度控制试验/pages/right.htm"
right_htm
\试验设备\整理版\温度控制试验/pages/top.htm"
top_htm
\试验设备\整理版\温度控制试验/pages/control.htm"
control_htm
\试验设备\整理版\温度控制试验/pages/bj01.gif"
bj01_gif
\试验设备\整理版\温度控制试验/pages/newpage3.htm"
newpage3
\试验设备\整理版\温度控制试验/pages/newpage1.htm"
newpage1
\试验设备\整理版\温度控制试验/pages/newpage7.htm"
newpage7
\试验设备\整理版\温度控制试验/pages/newpage8.htm"
newpage8
/*thedefaultfor/mustbefirst*/
constHttpTypehttp_types[]=
{
{"
.shtml"
"
text/html"
shtml_handler},//ssi
.html"
NULL},//html
.cgi"
"
NULL},//cgi
.gif"
image/gif"
NULL},
.jpg"
image/jpg"
NULL}
};
//#defineLOCOUNT400//setsupalowvoltagecalibrationpoint
//#defineHICOUNT3695//setsupahighvoltagecalibrationpoint
chartempback[45];
charmyswitch[50];
charwarm[50];
//高温报警灯
charvolnum[30];
chare[30];
charcurtemp[30];
chartartemp[30];
charruntime[30];
charparap[30];
charparai[30];
charparad[80];
charsdtime[80];
charsdtemp[30];
charsdhtemp[30];
//!
!
floatfe;
//温度偏差
floatUi;
//积分项
floatftargettemp;
//设定温度
floatfhightemp;
//高温报警
floatfparap;
//PID参数
floatfparai;
floatfparad;
longltotletime;
//系统运行的时间
intmins;
/*实际控制使用的参数*/
floatfgettemp;
//实际采样的温度
intrunstop;
//系统开关,启动系统
floatftempdiv[2];
//温度的偏差
#defineMAX_FORMSIZE64
typedefstruct{
char*name;
charvalue[MAX_FORMSIZE];
}FORMType;
FORMTypeFORMSpec[6];
intswitchtoggle(HttpState*state)
if(strcmp(myswitch,"
//10.103.0.221/试验项目\\qidong.jpg"
)==0)
{
runstop=0;
strcpy(myswitch,"
//10.103.0.221/试验项目\\tingzhi.jpg"
);
}
else
runstop=-1;
mins=0;
cgi_redirectto(state,"
10.103.0.221/试验项目\\control.htm"
return0;
}
voidUpdate_AD()//AD刷新函数
floatftemp;
intiloop;
ftemp=0;
for(iloop=0;
iloop<
100;
iloop++)
ftemp+=anaInVolts
(1);
fgettemp=ftemp/10;
if(fgettemp<
50)
{fgettemp=fgettemp+0.4;
if(fgettemp>
{fgettemp=fgettemp+1.1;
voidControlTemp()//温度控制函数
floatfoutvol;
if(runstop==0)//程序开始
ftempdiv[1]=ftargettemp-fgettemp;
//定义温度差
fe=ftempdiv[1];
Ui=Ui+ftempdiv[1];
//
foutvol=(fparap*ftempdiv[1]+fparai*Ui+fparad*(ftempdiv[1]-ftempdiv[0]))/20;
//PID控制算法
ftempdiv[0]=ftempdiv[1];
//前一状态=后一状态(刷新)
else//程序没有运行
//定义温度差
foutvol=0;
Ui=0;
ftempdiv[0]=0;
ftempdiv[1]=0;
sprintf(e,"
%.2f"
fe);
sprintf(runtime,"
%d\n"
mins);
anaOutVolts(1,foutvol);
//模拟量输出语句(使用通道0,foutvol为输出的模拟量的DA值)
if(foutvol>
3.5)foutvol=4;
if(foutvol<
0.5)foutvol=0;
anaOutVolts(1,foutvol);
sprintf(e,"
//显示语句
sprintf(volnum,"
foutvol);
sprintf(curtemp,"
fgettemp);
*Parseonetoken'
foo=bar'
matching'
foo'
tothenamefieldin
*thestruct,andstoring'
bar'
intothevalue
voidparse_token(HttpState*state)
autointi,len;
for(i=0;
i<
HTTP_MAXBUFFER;
i++)
if(state->
buffer[i]=='
='
)
state->
buffer[i]='
\0'
;
state->
p=state->
buffer+strlen(state->
buffer)+1;
(sizeof(FORMSpec)/sizeof(FORMType));
i++){
if(!
strcmp(FORMSpec[i].name,state->
buffer)){
len=(strlen(state->
p)>
MAX_FORMSIZE)?
MAX_FORMSIZE-1:
strlen(state->
p);
strncpy(FORMSpec[i].value,state->
p,1+len);
FORMSpec[i].value[MAX_FORMSIZE-1]='
}
*parsetheurl-encodedPOSTdataintotheFORMSpecstruct
*(ie:
parse'
foo=bar&
baz=qux'
intothestruct
intparse_post(HttpState*state)
autointretval;
while
(1)
retval=sock_fastread((sock_type*)&
state->
s,state->
p,1);
if(0==retval)
{
*state->
p='
parse_token(state);
return1;
/*shouldthisonlybe'
&
'
?
(allowtheeolnasvalidtext?
)*/
if((*state->
p=='
)||(*state->
\r'
\n'
))
/*foundonetoken*/
buffer;
else
p++;
if((state->
p-state->
buffer)>
HTTP_MAXBUFFER)
/*inputtoolong*/
/*endofdata-loopagaintogiveittimetowritemore*/
*Samplesubmit.cgifunction
intsubmit(HttpState*state)
autointi;
if(state->
length)
/*buffertowriteout*/
offset<
offset+=sock_fastwrite((sock_type*)&
s,
state->
buffer+(int)state->
offset,
(int)state->
length-(int)state->
offset);
offset=0;
length=0;
constHttpSpechttp_flashspec[]=
{HTTPSPEC_FILE,"
/"
index_htm,NULL,0,NULL,NULL},
/index.htm"
/right.htm"
right_htm,NULL,0,NULL,NULL},
/left.htm"
left_htm,NULL,0,NULL,NULL},
/top.htm"
top_htm,NULL,0,NULL,NULL},
/control.htm"
control_htm,NULL,0,NULL,NULL},
/bj01.gif"
bj01_gif,NULL,0,NULL,NULL},
/newpage3.htm"
newpage3,NULL,0,NULL,NULL},
/newpage1.htm"
newpage1,NULL,0,NULL,NULL},
/newpage7.htm"
newpage7,NULL,0,NULL,NULL},
/newpage8.htm"
newpage8,NULL,0,NULL,NULL},
{HTTPSPEC_VARIABLE,"
myswitch"
0,myswitch,PTR16,"
%s"
warm"
0,warm,PTR16,"
e"
0,e,PTR16,"
volnum"
0,volnum,PTR16,"
curtemp"
0,curtemp,PTR16,"
tartemp"
0,tartemp,PTR16,"
runtime"
0,runtime,PTR16,"
parap"
0,parap,PTR16,"
parai"
0,parai,PTR16,"
parad"
0,parad,PTR16,"
sdtime"
0,sdtime,PTR16,"
{HTTPS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 BL 以太网 温度 控制系统
![提示](https://static.bdocx.com/images/bang_tan.gif)