3.2 Web服务器的设计与实现
在μCO/S-II操作系统中,根据尽量减少任务数以提高CPU利用率的原则,本设计建立了四个任务。这四个任务是:taskstart(启动任务)、taskC(接收TCP信号量任务)、taskE(TCP数据处理任务)、taskF(接收和发送USS报文任务)。四个任务之间的关系,各自的优先级设置及任务间的通信机制如图2所示。
Web服务器应用任务完成TCP通信,在此任务中网页信息以HTML格式存储于一个全局变量的Web[]数组中,这些信息通过HTTP协议沿TCP连接发送到浏览器,以HTML文本格式定义的全局变量Web[]数组如下:
在主监控网页中,可以任意设置
变频器的工作频率,也可以实时监控其工作状态。图3就是本系统的Web监控网页。
在监控网页,放置的频率设定按钮。它的方法都被设置为“GET”。GET将表单中提交的数据添加到URL中。如果填写频率值“45”然后提交,Web服务器从浏览器接收到的URL如下:
GET/9? text1=45&B3=%CC%E1%BD%BBHTTP/1.1
在Web服务器中,建立一个接收数据缓冲区数组tempdata[400],用它来存储从浏览器发来的数据。根据URL的格式,能从URL中获得表单中提交的数据。它们被相关程序处理后会按照USS协议保存到数组SndData[12]中。参数P2009[0]=0对USS进行了标称化,频率的计算就要按照规格化进行。这个数组通过串口发送到
变频器之后,就可以使
变频器按照要求频率工作了。
服务器会把查询到的MM440变频器的当前工作频率发送到监控页面上。向
变频器发送查询工作频率的USS指令是{02 08 00 10 15 00 00 00 00 0F}。此指令查询的是r0021的参数值,即
变频器工作的实际值。
变频器会返回一个相应的报文,如:
{02 0E 00 20 15 00 00 42 48 00 00 FF B4 40 00 38}
这里包含了要查询的工作频率,服务器在收到这个报文之后,会调用相应的程序对其进行处理,最终将工作频率以十进制形式显示在网页上。为了实时查看
变频器的工作频率,实现监视网页的实时刷新,就要在网页信息里加入网页更新语句:
实现动态网页。网页刷新速率为10 s/次,但由于数据处理速度的原因,刷新有一定的时延。
4 结 语
本文介绍的μC/OS-Ⅱ内核裁剪、TCP协议应用编程方法以及Web服务器的设计思想等内容具有广泛的应用性。USS协议
变频器的Web监控设计已经调试通过,实现了远程监控,初步达到了设计要求。现在,随着嵌入式网络应用的发展,USS协议
变频器的Web控制方法有着广阔的应用前景。