论文部分内容阅读
摘要
本文设计基于ARM处理器的嵌入式Web服务器,使之成为浏览器与PLC的连接桥梁,为PLC接入以太网提供了一种方便、快速、通用性强,成本相对廉价的解决方案。介绍了系统的硬件构成,选择低功耗嵌入式微处理器S3C2440为主控芯片,DM9000为网络控制芯片,RS232口为通信接口。软件部分采用嵌入式Linux操作系统,根据硬件资源裁剪和配置Linux系统内核,制作文件系统。设计监控网页,分析S7-200通信过程获得PPI协议。在Linux嵌入式操作系统下,移植Boa嵌入式Web服务器并编写程序,实现通过网页监控PLC工作状态的功能。
关键词:嵌入式WEB服务器;PPI协议; PLC; 串行通信;嵌入式系统
Abstract
In this paper, the embedded Web server for PLC is design based on ARM processor, taking the browser as the bridge for connection between PLC and the Ethernet. It provides a convenient, fast, versatility, relatively inexpensive solution. The hardware and software implementations of communication are designed between the S7-200 PLC and Ethernet. The hardware composition is introduced, the low-power microprocessor S3C2440 is selected as the controller chip, the DM9000 as Ethernet control chip, the serial port RS-232 as testing interface. The monitoring page is designed and the PPI protocol is given by analyzing the communication process of S7-200. The embedded web server Boa is transplanted and program is given on Linux embedded operating system. It can achieve the function of reading and writing I/O value and simulation value.
Key words:Embedded Web Server; PPI protocol; PLC; serial communication; embedded system
中图分类号:TP368.5 文献标识码:A 文章编号:
随着嵌入式系统的广泛应用和信息技术的飞速发展,将嵌入式设备接入Internet将成为一种必然,通过Web方式对嵌入式设备进行远程监控则是当前工业监控的发展趋势。在嵌入式服务器的帮助下,人们可以远离危险、恶劣的生产环境。客户机可任意设置,只要能接入Internet,有权访问嵌入式服务器,便可查阅现场设备相关信息,使远程维护管理和故障诊断成为了现实。本文研究的课题就是利用Web浏览器控制S7-200PLC。要实现这些功能,首先需要将Linux操作系统移植到嵌入式处理器上,在此基础上移植嵌入式Web服务器Boa。借助嵌入式系统上的Web服务器,实现通过PC机上的浏览器访问嵌入式系统资源的功能。
硬件构成
硬件系统选择以Samsung S3C2440嵌入式微处理器为核心控制芯片,S3C2440是一款低功耗的32位ARM芯片,主频为400MHz,集成了LCD控制器(支持STN和TFT)触摸屏接口、16 KB的指令缓存和数据缓存、DMA、时钟控制器以及UART、USB、I2C等通信接口。
在最小系统基础上扩展了64M的NAND FLASH和64MB的SDRAM以及JTAG接口等,并将其剩余的外设接口资源引出。大容量的RAM和FLASH存储器为Linux操作系统的启动、固化、运行以应用程序的存储提供了保障。同时将UART模块1个TTL电平的串口做了RS232电平转换,可以直接通过串口线与PC机通讯,同时也可以用于与S7-200的自由端口通信。选择DM9000作为以太网控制芯片,用于与PC机网口连接。系统的硬件连接如图1所示,PLC选择S7-200系列CPU226,利用它的自由通信口与嵌入式设备相连。
图1 硬件连接图
Figure1 The graph of hardware connection
通讯协议
PPI协议是西门子中小型PLC之间以及PLC与PC进行通信的常用协议。使用PPI协议进行通信时,PLC可以不用编程,而且可读写所有数据区,快捷方便。但是 PPI协议属于非公开协议,这样给用户自主开发带来一定困难,特别是自行开发的现场设备就不能通过PPI协议接入PLC。要获得PPI协议,需要使用串口工具监视第三方软件和PLC的数据通信,获得它们的通信数据字,然后对大量的数据进行统计分析,总结得出PPI协议的内容。
本文针对特定的变量编写测试程序,设置PLC与Step-Micro/WIN通过PC/PPI电缆正常通讯。为了更清晰的地捕捉到每一步操作对应的协议代码,选用了多种组态软件,做了相应的组态画面。组态软件与PLC通信连接成功后,用串口监视工具记录组态软件与PLC的数据交换。串口监视工具通信设置为:波特率9600bit/s,数据位为8,停止位为1,EVEN校验。通过多次读写操作,对比操作结果,分析PPI协议的读写报文。
Linux操作系统的移植
在硬件平台基础上,选择移植嵌入式Linux操作系统构建运行环境。Linux的一个重要特点就是其源代码的公开性,因此通过阅读源代码了解系统的工作原理,可以针对自己的情况,量体裁衣,定制适合自己的系统,这就需要对内核进行重新编译。首先下载内核源代码(kernel 2.6.13),然后通过 make menuconfig命令,进入內核配置主菜单。然后是定制内核,包括配置 CPU 选项,配置串口驱动,配置各个尺寸的 LCD 驱动支持(可选),配置 DM9000网卡驱动,配置yaffs文件系统的支持等,重新编译便可生成内核映像文件。
利用busybox制作根文件系统,从http://www.busybox.net/下载最新版本的busy box,然后拷贝到Linux下,选择适合的解压参数,解压到指定的文件夹下。进入该目录下,执行make menuconfig进入图形定制界面,按照要求选择嵌入式系统中常用的命令进行配置,保存后退出编辑界面。编译后安装busybox后,利用工具 mkyaffsimge制作yaffs 文件系统映像。最后通过USB口下载内核和文件系统到开发板,经过设置后,目标板上电便会自动进入Linux操作系统,以后编写的应用程序就是在上述定制的Linux操作系统下运行。
嵌入式Web服务器的构建
Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。Boa支持CGI,能够为CGI程序fork出一个进程来执行,它的设计目标是速度和安全,因此选择移植Boa嵌入式Web服务器。
解压源代码包boa-0.94.13.tar.gz后,首先运行configure程序对源文件进行配置,然后修改boa.c,修改完成后保存文件,运行make进行编译,完成后会在该目录下生成我们需要的可执行文件boa。此处一定要注意就是不同版本的内核对应不同版本的编译器,一般来讲gcc3.4.1或者2.95.3用于编译2.6.13版本内核,gcc4.3.2 用于编译2.6.29版本内核,如果选择不好可能会出错。将配置好的boa.conf文件放到开发板文件系统/etc/boa目录下,将编译后得到的可执行文件boa放到开发板/bin目录下,再把编辑好的网页保存到/var/www目录下,还可以增加cgi-bin目录存放CGI程序以及images目录存放图片等。
移植测试即测试Boa能否在目标板上正常工作,静态HTML页面能否被正常访问,CGI脚本能否正常运行。系统启动后,在PC机的浏览器下输入开发板的IP地址192.168.1.230,显示页面图2所示。在输出端口Q后的文本框内输入01 1,表示将Q0.1置1,此时单击后面对应的写入按钮后,CGI程序将读入端口号和状态标志位,如图3所示。
图2 客户端网页 图3 读取输入数据
Fig.2 Web page in PC Fig.3 Get data from Web page
在PLC实际应用中,经常需要读取输入点状态,读写输出点状态,读写数据存储区,包括VB、VW、VD三种类型,读写辅助点M,可根据需要利用Dreamweaver等软件设计网页,然后将其拷贝到文件系统下/var/www目录下,以供Boa服务器调用。
根据嵌入式设备和PLC的通信过程编写串口通信程序。嵌入式设备作为主站,在通信过程中起主导作用。双方的通信总是需要以主站发出发送请求指令RI和确认请求指令CR开始,从站根据主站发送的指令回答确认接收指令CI和答复指令AI。调试好的串口程序需要利用交叉编译器,将其编译成.cgi文件,然后拷贝到文件系统的/www/bin-cgi/目录下,供Boa服务器调用。
结论
PLC使电气控制系统更可靠,更容易維修,更能适应经常变换的生产工艺要求,因此在工业控制领域具有广泛的应用。一般传统的PLC与以太网连接,需要加入以太网接口模块,但是设备成本比较高。本文将WEB技术应用于对PLC的控制,利用嵌入式处理器实现以太网接口模块的功能,使得用户可以通过对浏览器(如IE等)中清晰美观的网页操作来完成PLC的监控任务。实验证明,该方法成功实现了嵌入式设备与PLC的通信,并且具有开发简单,抗干扰能力强,用户界面良好的特点,具有一定实用价值。
参考文献
韦东山. 嵌入式Linux应用开发完全手册[M]. 北京:人民邮电出版社,2009.
李永、何旭莉等. 嵌入式Linux程序设计案例与实验教程[M]. 北京:机械工业出版社,2009.
王永华. 现代电气控制及PLC应用技术[M]. 北京:北京航空航天大学出版社,2003.
巫莉. 电气控制与PLC应用[M]. 北京:中国电力出版社,2008.
本文设计基于ARM处理器的嵌入式Web服务器,使之成为浏览器与PLC的连接桥梁,为PLC接入以太网提供了一种方便、快速、通用性强,成本相对廉价的解决方案。介绍了系统的硬件构成,选择低功耗嵌入式微处理器S3C2440为主控芯片,DM9000为网络控制芯片,RS232口为通信接口。软件部分采用嵌入式Linux操作系统,根据硬件资源裁剪和配置Linux系统内核,制作文件系统。设计监控网页,分析S7-200通信过程获得PPI协议。在Linux嵌入式操作系统下,移植Boa嵌入式Web服务器并编写程序,实现通过网页监控PLC工作状态的功能。
关键词:嵌入式WEB服务器;PPI协议; PLC; 串行通信;嵌入式系统
Abstract
In this paper, the embedded Web server for PLC is design based on ARM processor, taking the browser as the bridge for connection between PLC and the Ethernet. It provides a convenient, fast, versatility, relatively inexpensive solution. The hardware and software implementations of communication are designed between the S7-200 PLC and Ethernet. The hardware composition is introduced, the low-power microprocessor S3C2440 is selected as the controller chip, the DM9000 as Ethernet control chip, the serial port RS-232 as testing interface. The monitoring page is designed and the PPI protocol is given by analyzing the communication process of S7-200. The embedded web server Boa is transplanted and program is given on Linux embedded operating system. It can achieve the function of reading and writing I/O value and simulation value.
Key words:Embedded Web Server; PPI protocol; PLC; serial communication; embedded system
中图分类号:TP368.5 文献标识码:A 文章编号:
随着嵌入式系统的广泛应用和信息技术的飞速发展,将嵌入式设备接入Internet将成为一种必然,通过Web方式对嵌入式设备进行远程监控则是当前工业监控的发展趋势。在嵌入式服务器的帮助下,人们可以远离危险、恶劣的生产环境。客户机可任意设置,只要能接入Internet,有权访问嵌入式服务器,便可查阅现场设备相关信息,使远程维护管理和故障诊断成为了现实。本文研究的课题就是利用Web浏览器控制S7-200PLC。要实现这些功能,首先需要将Linux操作系统移植到嵌入式处理器上,在此基础上移植嵌入式Web服务器Boa。借助嵌入式系统上的Web服务器,实现通过PC机上的浏览器访问嵌入式系统资源的功能。
硬件构成
硬件系统选择以Samsung S3C2440嵌入式微处理器为核心控制芯片,S3C2440是一款低功耗的32位ARM芯片,主频为400MHz,集成了LCD控制器(支持STN和TFT)触摸屏接口、16 KB的指令缓存和数据缓存、DMA、时钟控制器以及UART、USB、I2C等通信接口。
在最小系统基础上扩展了64M的NAND FLASH和64MB的SDRAM以及JTAG接口等,并将其剩余的外设接口资源引出。大容量的RAM和FLASH存储器为Linux操作系统的启动、固化、运行以应用程序的存储提供了保障。同时将UART模块1个TTL电平的串口做了RS232电平转换,可以直接通过串口线与PC机通讯,同时也可以用于与S7-200的自由端口通信。选择DM9000作为以太网控制芯片,用于与PC机网口连接。系统的硬件连接如图1所示,PLC选择S7-200系列CPU226,利用它的自由通信口与嵌入式设备相连。
图1 硬件连接图
Figure1 The graph of hardware connection
通讯协议
PPI协议是西门子中小型PLC之间以及PLC与PC进行通信的常用协议。使用PPI协议进行通信时,PLC可以不用编程,而且可读写所有数据区,快捷方便。但是 PPI协议属于非公开协议,这样给用户自主开发带来一定困难,特别是自行开发的现场设备就不能通过PPI协议接入PLC。要获得PPI协议,需要使用串口工具监视第三方软件和PLC的数据通信,获得它们的通信数据字,然后对大量的数据进行统计分析,总结得出PPI协议的内容。
本文针对特定的变量编写测试程序,设置PLC与Step-Micro/WIN通过PC/PPI电缆正常通讯。为了更清晰的地捕捉到每一步操作对应的协议代码,选用了多种组态软件,做了相应的组态画面。组态软件与PLC通信连接成功后,用串口监视工具记录组态软件与PLC的数据交换。串口监视工具通信设置为:波特率9600bit/s,数据位为8,停止位为1,EVEN校验。通过多次读写操作,对比操作结果,分析PPI协议的读写报文。
Linux操作系统的移植
在硬件平台基础上,选择移植嵌入式Linux操作系统构建运行环境。Linux的一个重要特点就是其源代码的公开性,因此通过阅读源代码了解系统的工作原理,可以针对自己的情况,量体裁衣,定制适合自己的系统,这就需要对内核进行重新编译。首先下载内核源代码(kernel 2.6.13),然后通过 make menuconfig命令,进入內核配置主菜单。然后是定制内核,包括配置 CPU 选项,配置串口驱动,配置各个尺寸的 LCD 驱动支持(可选),配置 DM9000网卡驱动,配置yaffs文件系统的支持等,重新编译便可生成内核映像文件。
利用busybox制作根文件系统,从http://www.busybox.net/下载最新版本的busy box,然后拷贝到Linux下,选择适合的解压参数,解压到指定的文件夹下。进入该目录下,执行make menuconfig进入图形定制界面,按照要求选择嵌入式系统中常用的命令进行配置,保存后退出编辑界面。编译后安装busybox后,利用工具 mkyaffsimge制作yaffs 文件系统映像。最后通过USB口下载内核和文件系统到开发板,经过设置后,目标板上电便会自动进入Linux操作系统,以后编写的应用程序就是在上述定制的Linux操作系统下运行。
嵌入式Web服务器的构建
Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。Boa支持CGI,能够为CGI程序fork出一个进程来执行,它的设计目标是速度和安全,因此选择移植Boa嵌入式Web服务器。
解压源代码包boa-0.94.13.tar.gz后,首先运行configure程序对源文件进行配置,然后修改boa.c,修改完成后保存文件,运行make进行编译,完成后会在该目录下生成我们需要的可执行文件boa。此处一定要注意就是不同版本的内核对应不同版本的编译器,一般来讲gcc3.4.1或者2.95.3用于编译2.6.13版本内核,gcc4.3.2 用于编译2.6.29版本内核,如果选择不好可能会出错。将配置好的boa.conf文件放到开发板文件系统/etc/boa目录下,将编译后得到的可执行文件boa放到开发板/bin目录下,再把编辑好的网页保存到/var/www目录下,还可以增加cgi-bin目录存放CGI程序以及images目录存放图片等。
移植测试即测试Boa能否在目标板上正常工作,静态HTML页面能否被正常访问,CGI脚本能否正常运行。系统启动后,在PC机的浏览器下输入开发板的IP地址192.168.1.230,显示页面图2所示。在输出端口Q后的文本框内输入01 1,表示将Q0.1置1,此时单击后面对应的写入按钮后,CGI程序将读入端口号和状态标志位,如图3所示。
图2 客户端网页 图3 读取输入数据
Fig.2 Web page in PC Fig.3 Get data from Web page
在PLC实际应用中,经常需要读取输入点状态,读写输出点状态,读写数据存储区,包括VB、VW、VD三种类型,读写辅助点M,可根据需要利用Dreamweaver等软件设计网页,然后将其拷贝到文件系统下/var/www目录下,以供Boa服务器调用。
根据嵌入式设备和PLC的通信过程编写串口通信程序。嵌入式设备作为主站,在通信过程中起主导作用。双方的通信总是需要以主站发出发送请求指令RI和确认请求指令CR开始,从站根据主站发送的指令回答确认接收指令CI和答复指令AI。调试好的串口程序需要利用交叉编译器,将其编译成.cgi文件,然后拷贝到文件系统的/www/bin-cgi/目录下,供Boa服务器调用。
结论
PLC使电气控制系统更可靠,更容易維修,更能适应经常变换的生产工艺要求,因此在工业控制领域具有广泛的应用。一般传统的PLC与以太网连接,需要加入以太网接口模块,但是设备成本比较高。本文将WEB技术应用于对PLC的控制,利用嵌入式处理器实现以太网接口模块的功能,使得用户可以通过对浏览器(如IE等)中清晰美观的网页操作来完成PLC的监控任务。实验证明,该方法成功实现了嵌入式设备与PLC的通信,并且具有开发简单,抗干扰能力强,用户界面良好的特点,具有一定实用价值。
参考文献
韦东山. 嵌入式Linux应用开发完全手册[M]. 北京:人民邮电出版社,2009.
李永、何旭莉等. 嵌入式Linux程序设计案例与实验教程[M]. 北京:机械工业出版社,2009.
王永华. 现代电气控制及PLC应用技术[M]. 北京:北京航空航天大学出版社,2003.
巫莉. 电气控制与PLC应用[M]. 北京:中国电力出版社,2008.