77范文网 - 专业文章范例文档资料分享平台

基于以太网的电热炉温远程控制系统设计(4)

来源:网络收集 时间:2019-04-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

this is my web1,welcome! The current temperature is (oC):

to change some parament,please click

here(to web2)

上面的网页指令用来创建一个网页,显示当前的温度值。如在网页中会显示下面的语句:the current temperature is (oC):600

新的服务解析标志是从“:”结束的语句。“echo($wd1)”是一个函数,用来显示给定变量的值,当然这个变量已经在web服务器中被用#web语句登记注册。它也可以由函数print( )代替,它们的作用是一样的。

接下来的指令用于建立一个超链接,一旦用户点击here(to web2)将会建立链接,去另一网页index.zhtml,在index.zhtml网页中可以修改某些参数(如PID,温度值等)。注意,由于index.zhtml网页是在“/admin)“目录下,因此会弹出一如下对话框,要求用户输入用户名及其密码(“group1”与“group1”或“group2”与“group2”)。

用户名与密码的要求是由于在web服务程序中调用了sspec_addrule( )。这在前面的web服务程序设计中有详细的介绍。第一个网页用于显示当前温度值,在设计中,显示页面非常简单,当然也可以增加某些功能与内容,使网页变得更加丰富多彩。

4.1.2 参数配置页

第二个网页用于远程上传参数。在该网页中将会更多的用到zhmtl脚本语言。下面做简单的介绍。

ERROR! submission contained errors. Please correct the entries marked in red below.

这里使用的error( )函数没有任何参数,在最后按提交键时,若提交的参数有

15

错误,那么函数error( )的返回值将会为真(即为1),由if语句判断,结果成立,那么在网页码中就会显示提示:

ERROR! submission contained errors. Please correct the entries marked in red below.

提醒用户上传的参数有错,错误参数的变量名在网页中用红色着重标出(其实现方法在后面有介绍),以便用户容易找到。

当用户按下“submit”提交后,POST请求将会返回zhtml页面。由下面的html指令定义:

标记符号则意味着表单的结束。由于表单经常用于收集站点访问者的信息,因此在表单内必须出现输入标记Input,它既可以用于收集表单数据,另一方面还可将表单数据发送给站点管理员,或者清除表单的内容,重新输入表单。表单的基本结构如下:

表单标记Form最重要的属性就是Method和Action。Method属性用于定义处理站点访问者提供数据的方法,它包括两个属性值Get和Post,其中Get属性值表示将表单数据传送给表单处理程序,这是默认方式。Post属性值表示表单处理程序将读取表单数据。本课题中,我们用到的就是Post属性,用于用户上传控制参数。Action属性用于指定表单处理程序的URL。这里我们使URL指向“/admin/index.zhtml” ,即定义页面将会返回到本身[21]。

接下来使用如下语句,用于输入参数,同时检查输入内容是否有错,以便在输入不正确时提示用户输入内容有错;如果有错误,将用红色着重标出。

16

parament blbl?:

”>

和前面调用函数error( )不同的是,这里的函数error( )拥有变量参数blbl,(这个变量在web服务程序中已经用#web语句注册)。调用函数error( )与if语句配合使用,当在最后提交时,若提交的变量值是无效的,会使字体颜色变为红色。变为红色的是用来在HTML页面上描述web变量内容的信息:“parament blbl?”,而不是提交的某个值本身。同时也要注意,在改变字体颜色的指令里,有必要两次调用error( )函数,因为第二次调用是用来关闭FONT标志的。若最后按submit提交后,web变量是一个有效的值,那么上面的“parament blbl?:”文本信息仍然会显示,只是字体的颜色并不改变。

上面是#web登记的一个参数变量比例blbl在zhtml脚本语言中的应用,在设计中,我们会用到其它几个配置参数:变量积分jfbl,微分jfbl,以及温度值wd2,它们的基本应用与blbl相类似,这里不再描写,可以参考附录中完整的ZHTML语言文件内容。

4.2 温度控制程序

由前面的硬件电路可知,通过对电热炉的电源通断来实现对温度的控制。利用BL2010的中10个数字I/O口的一个OUT0输出,即可控制晶闸管通断时间的脉冲信号。OUT0=1时关断晶闸管,OUT0=1时开启晶闸管。在设计中我们利用BL2010本身拥有的A/D转换接口和数字I/O口输出函数,进行A/D转换和输出高电平或低电平。下面对程序中用到的两个函数进行介绍。

int anaIn(unsigned int channel)

该函数主要用于读经A/D转换来的输入值。其中,参数channel表示A/D转换的模拟输入通道。函数的返回值是相对于某个模拟输入通道电压的一个值。对BL2010来说,由于它是10位A/D转换,因此它对应的范围是0----1024。

void digOut(int channel, int value)

17

该函数用来设置10个数字I/O口(out0-out10)的输出状态。其中,参数channel表示输出数字I/O口的数字通道;参数value表示输出的状态值,有0和1两个值,分别对应于高低电平。在这里用out0作为输出。

我们是通过控制数字输出口OUT0的状态来控制晶闸管的通断时间,即对电热炉加热时间的控制,从而达到控制温度的目的。这里就涉及到一个定时的问题。如果单独采用单片机来进行控制,可以编写汇编程序,利用单片机的定时器定时。定时器定时有一个麻烦,那就是要编写定时中断服务程序。BL2000系列的单板机,利用Dynamic C语言编写程序非常方便。在Dynamic C中,有三个全局变量是用来定时的,SEC_TIMER、 MS_TIMER 和 TICK_TIMER 是三个被定义为无符号数长整型的全局变量。它们会周期性改变,但不能被应用程序改变,我们可以利用它们来定时。其中SEC_TIMER被预置为与实时时钟同步,读数据和时间时,读SEC_TIMER比读实时时钟更容易访问。系统会周期性的中断来更新SEC_TIMER、MS_TIMER及TICK_TIMER三个变量,其中SEC_TMIER每秒钟更新一次,MS_TIMER每毫秒更新一次,TICK_TIMER会一秒中内更新1024次,即与周期性中断的频率一致。从它们的属性易知,它们用于应用程序定时很方便。在设计中就用MS_TIMER来定时5S。即通过它与以前某个时候的值进行比较,看是否到相差5000,如果等于或大于5000,也就是说5S定时已到,重新采样A/D转换值。

下面就是设计中用到的PID控制程序。通过控制数字I/O口的输出来控制晶闸管的通断时间(参考硬件电路部分的设计)。由于汇编语言的广泛应用,在附录中给出用汇编语言编写的PID计算源程序。 void main( )

{unsign long sj1; /*某时刻值*/

blbl=; /*下面5个变量都是已经用#web定义的变量*/ jfbl=; wfbl=; wd1=0; wd2=800;

float e(2)=0,e(1)=0,e(0)=0; long u(0)=0,u(1)=5000;

sj1=MS_TIMER; /*给某时刻赋初值*/ while(1)

18

{if ((MS_TIMER-sj1))<=u(0))

digOut(1,0); /*晶闸管导通*/ else digOut(1,1); /*晶闸管关断*/ if ((MS_TIMER-sj1)>=5000)

{sj1=MS_TIMER; /*重新赋时刻值*/ wd1=anaIn(1); /*读入AD转换值*/ e(2)=wd2-wd1;

u(0)=u(1)+pt*(e(2)-e(1))+it*e(2)+dt*(e(2)-2*e(1)+e(0);/*PID算法式子*/ if(u(0)>5000) /*输出控制变量u(0)限幅处理*/ u(0)=5000; else if(u(0)<0) u(0)=0;

else u(0)=u(0); u(1)=u(0); e(0)=e(1); e(1)=e(2); } }

19

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于以太网的电热炉温远程控制系统设计(4)在线全文阅读。

基于以太网的电热炉温远程控制系统设计(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/596830.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: