USS协议变频器Web控制方法的研究与实现

2011-05-17 10:45:50来源: 互联网
基于TCP/IP协议以太网已成为工业标准,随着以太网的发展,以及嵌入式Web服务器发展为网络中的越来越小的网络节点,为嵌人式web在工业中的应用提供了机会。本文研究的课题就是利用Web浏览器监制USS协议变频器。要实现这些功能,就要在硬件上开发一个小型的Web服务器,需要在硬件平台上完成TCP/IP的裁剪和移植。Web服务器完成对网络数据的处理,根据用户提交的命令来对USS变频器进行相应的控制。在浏览器端,如果用户监控网页的网址,就会向服务器发送HTTP请求,服务器把监控网页的HTML代码发送到浏览器端。服务器里有相应的程序来接收和发送USS报文,实现对西门子变频器的控制。

1  系统的软硬件平台

1.1  EasyARM8962教学实验平台

EasyARM8962教学实验平台采用了LuminaryMicro公司生产的Stellaris系列微控制器LM3S8962处理器,具有JTAG调试等功能。该芯片内部具有:UART,SSI,I2C,以及256 KB FLASH和64 KBSRAM。该处理器内部集成了网络控制器,具有强大的网络功能。硬件系统结构如图1所示。



1.2  μC/OS-Ⅱ的移植与嵌入式TCP/IP协议栈

μC/OS-Ⅱ是近年来发展迅速的开放源码实时操作系统,具有可移植性好、可裁减、可固化的优点。将μC/OS-Ⅱ引入嵌入式网络系统,既可以实现系统的实时性要求,又可以提高系统的可靠性。周立功公司提供的移植代码为使用μC/OS-Ⅱ做好了铺垫工作,与处理器类型有关的文件OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。本文采用最新版本的μC/OS-ⅡV2.52。

本设计采用周立功公司的ZLG/IP协议栈。ZLG/IP协议栈代码量小,是面向嵌人式系统开发的基于μC/OS-Ⅱ的小型TCP/IP协议栈,它支持TCP,UCP,IP,ICMP,ARP。   

基于ZLG/IP“用户可配置和裁剪”的特点,为了进一步提高代码的运行速度,根据实际项目应用需要可对ZLG/IP协议栈进行裁剪。对ZLG/IP协议栈的配置是通过修改软件栈下的cfg_net.h来实现的。在此文件里设置使用的MAC地址、子网掩码、IP地址和本地网关。设置的子网掩码应与客户机的相同、IP地址要设置成与客户机同一网段内,网关地址可以设置为客户机的IP地址。

2 USS协议及MM440变频器的设置

要利用USS协议实现对西门子MM440变频器的远程控制,必须对其进行相应的设置。对本设计而言,具体设置如下:

P0700[0]=5(设定命令给定源为COM链路的USS报文命令);
   
P1000[0]=5(设置频率给定源为COM链路的USS报文);
   
P2009[0]=0(USS标称化);
   
P2010[0]=6(设定USS、通信的波特率为9 600 b/s);
   
P2011[0]=0(设定变频器的惟一地址,取值范围为0~31,这里给定地址为0);
   
P2012[0]=2(定义USS报文的PZD部分中16位字的数量,即USS PZD长度);
   
P2013[0]=127(定义USS报文的PKW部分中16位字的数量,即USS PKW长度。127是最有用的设定,此设定下PKW应答长度视所需的信息量而变);

P0971=1(在设定为1时,从RAM向E2PROM传送参数值)。

3 HTTP协议和嵌入式Web服务器的实现

3.1  HTTP协议

HTTP协议是基于请求/响应模式的。一个客户机与服务器建立连接后,发送一个请求给服务器。服务器接到请求后,给予相应的响应信息。在Internet上,HTTP通信通常发生在TCP/IP连接之上,缺省端口是TCP80。

Web浏览器利用HTTP协议和服务器进行通信。浏览器向服务器发送请求之后,服务器会将所请求的网页发送到浏览器,服务器也可以根据HTTP请求所提交的信息运行相关程序。要从Web服务器获得网页,必须输入Web服务器的IP地址,例如:

http://210.31.192.70

浏览器定位IP地址然后打开TCP连接的服务器端口80,之后利用HTTP协议发送由GET行组成的请求:GET/HTTP/1.0。GET方法是获取Web文档的一种HTTP方法。如果服务器响应HTTP/1.0 200OK表示连接成功,然后Web网页就可以发送。GET方法把参数数据队列加到提交表单的ACTION属性所指的URL(统一资源定位符)中,值和表单内各个字段一一对应,在URL中可以看到。GET请求的数据会附在URL之后,以“?”分割URL和传输数据,参数之间以“&”相连。如果数据是英文字母/数字,原样发送,如果是空格,转换为“+”。虑到本系统提交的信息的特点,使用GET方法来设计Web服务器。

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控制方法有着广阔的应用前景。

关键字:协议  研究  实现

编辑:eeleader 引用地址:http://www.eeworld.com.cn/gykz/2011/0517/article_5991.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
协议
研究
实现

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved