《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 一种基于嵌入式Internet的控制系统

一种基于嵌入式Internet的控制系统

2009-03-03
作者:徐毓军 杨佃福

  摘  要: 嵌入式Internet技术被广泛应用于现场仪表和工业设备层是工业控制网络的发展趋势。介绍了一种基于该技术的控制系统的软、硬件构成以及基于嵌入式Internet实现的一些细节问题,并说明了其意义和市场前景。 

  关键词:  嵌入式Internet  现场总线  以太网  控制系统 

 

  今天,计算机和网络已经进入后PC时代,嵌入式系统被广泛应用。最近在IT行业特别流行的就是嵌入式操作系统,如Windows CE和一些公司用Linux开发的嵌入式操作系统。还有一些公司提供了易于开发、性价比较高的嵌入式开发工具。它们一般都支持TCP/IP协议,可以实现Web 服务器功能。家电和仪表上网是嵌入式系统极大发展的动力和原因。 

  在现场仪表和工业设备层应用嵌入式Internet技术是工业控制网络的一个发展趋势。与现场总线相比,这些技术不仅为开发者提供了大量的工具和函数库,而且没有传统的客户端,减少了二次开发的工作量;完全实现了分布式的系统结构,系统可靠性大大提高;另外,以太网一般都基于TCP/IP协议,使得整个网络只有一种底层通讯协议,可以满足控制系统各个层次的要求,不仅使得企业信息网络和控制网络得到统一,而且易于和Internet实现无缝连接;通过Web浏览器,用户可以在任何时候、任何地方监控现场数据和设备,还可以在远方对现场设备进行诊断和软件升级[1~2]。 

1 系统构成和功能 

  整个系统的结构如图1所示。该系统包括数据库服务器、Web服务器、Internet 客户端和现场节点。 

 

 

  服务器包括数据库服务器和Web 服务器,它们并不是必需的。考虑到某些工业企业要求存放大量的历史数据,并且要和管理信息系统交换数据,在设计时我们把它们加入了系统。它们可以是在两台机器上,当系统规模比较小时,也可以在一台PC机上。在软件上,数据库服务器实现了与现场节点的Socket通讯,并通过VC编的应用程序实现了各种高级的控制功能块。用户可以在网页上通过Web服务器利用Java Applet和Java Beans组件技术监控实时数据,并且可以通过JSP和JDBC技术修改系统的组态信息。本文重点介绍现场节点(嵌入式系统)的软硬件构成及其Internet功能实现的细节。 

2 现场节点的软硬件构成 

  现场节点包括传感器、执行机构或其它智能仪表,也可以是控制器。而这种控制器可以通过RS485、开关量或模拟量信号和仪表相连。它们都嵌入了美国Z_WORLD公司的RCM2100系列嵌入式开发系统(我们不选用嵌入式操作系统首先是出于成本的考虑,带有TCP/IP协议库和Web 服务器功能的实时操作系统报价一般都要700~800美元以上)。事实上在很多场合并不需要带有这么强大功能的实时操作系统。很多嵌入式系统的核心都由8位微处理器硬件和嵌入式软件构成,这些微处理器的片内资源比较少,相应的软件也不会太庞大,完全可以完成一些简单的网络通讯和控制功能。 

  该开发板的硬件组成如图2所示。它由5V直流供电,温度范围为-40~70℃,湿度可以达到5~95%RH,非常适合于工业控制的要求。它集成了速度达30MHz的Rabbit 2000微处理器、512K Flash RAM、512K SRAM和RJ-45以太网接口。它有5个8位并行接口,其中D口和E口的一部分用于和Realtek的以太网卡控制芯片相连;C口预留出来,可以用于RS485或RS232串行通讯。在原开发板基础上,把应用程序放在Flash RAM里,其它要经常修改的参数和实时数据放在SRAM里,加入I/O采集的硬件电路和总线相连,然后利用该公司的Dynamic C开发包就可以方便地开发出自己的带Web服务器功能的智能仪表。另外Z_WORLD公司本身还在此基础上开发出了一系列PLC模块和远程I/O模块,可供选用[3]。 

 

 

  Dynamic C是一个嵌入式软件开发语言,符合ASCII C标准,提供了编译、调试、仿真和程序加载功能。与一般的C语言不一样的是,它在语言和函数上都是为嵌入式系统开发考虑的,如方便地支持对I/O口的操作、包含一个底层的BIOS库、在一个程序内支持多进程、支持中断服务和汇编语言的嵌入、支持函数链等。并且提供了一系列函数和宏来支持嵌入式系统,支持串口通讯和网络操作,包括TCP/IP、Http、Telnet和Ftp协议,支持CGI(Comm Gateway Interface) ,即公共网关接口,可以方便地与硬件打交道并实现Web服务器功能。该设备上的软件结构可参见图1的相关部分,包括对现场I/O数据的采集、利用Socket与数据库服务器进行通讯、实现与控制计算有关的一些功能块、提供Web服务器功能这四个主要模块。 

  数据采集模块可以直接读写I/O,也可以通过串口通讯取得数据,将数据放入指定的文件供Java Applet访问。在与服务器通讯方面,我们利用其提供的TCP/IP开发包所带的宏和函数与服务器进行比较可靠的通讯,通过宏MY_IPADRESS,MY_GATEWAY和MY_NETMASK可以对网络配置,进行Socket通讯。定义功能块主要包括用户名和密码权限管理、各种输入输出量定义和报警、设备管理、计算功能、PID调节和其它一些先进的控制功能块,其定义可以通过数据库服务器或者网页进行组态和修改[4~5]。 

3 嵌入式Internet的实现 

  嵌入式Internet(这里主要指Web服务器)功能块主要是通过CGI程序来获取用户的请求、查询条件并利用应用程序为其提供的后台服务,结果使用HTML方式描述,并直接回送到客户端的浏览器。CGI是Web服务器在调用外部程序时的接口规范协议,它规定了一套标准的参数格式和环境变量,扩展Web服务器的功能,使之能够执行一些Web服务器本身不能完成的任务,如与各类应用服务器通讯、访问数据库等。这里我们通过CGI和HTML Form机制可以从浏览器中得到用户组态和控制输出等简单操作的输入信息。作为Web服务器外部进程运行的CGI程序与Web服务器之间的通讯属于进程间通信,开销大、速度低;当有多份并发的同样请求时,必须为每个请求建立一个进程;若Web服务器重复收到多个同样的请求,必须不断重复准备地址空间、建立运行进程、回收空间、撤销进程的过程。因此与当前流行的ASP、JSP和PHP方式比起来,CGI方式的进程本质上效率不高。Dynamic C只支持CGI,但考虑到工业控制的实际情况,不会有大量请求同时并发,因此CGI完全可以满足要求。 

  我们还使用了Java Applet技术,在客户端实现更为友好的交互式显示模式并提供实时数据。图3给出了Web服务器功能块在客户端实现的层次结构。 

 

 

  在Dynamic C里,通过结构 HTTPSPEC_FUNCTION将每一个CGI请求和特定的用户自定义函数联系起来。我们可以在函数里处理CGI请求,具体地说,所有的网页都是通过这些自定义函数调用系统的cgi_sendstring函数来动态生成的,这样就可以实现访问的安全控制,只有合法的用户才能进入主画面来生成需要的网页。一些网站Email用户认证也是通过这种方式实现的。与工业控制相适应,我们可以动态生成开关量输入输出、模拟量输入输出、PID模块配置、实时趋势、实时报警和棒图等页面。另外所有输出和用户参数设置也是通过再次调用后台的CGI程序进行处理,将其写入文件或直接作用于执行机构,然后重新生成新的网页来实现。用户在进行具体工程应用的时候,也只要将实际工程的参数在此基础上进行组态就可以。 

  我们通过嵌在发送到客户端的HTML语言里并在客户端执行的Java Applet程序访问该现场结点文件,来刷新实时数据,这样通过Java语言可以在网页上提供质量比较高的画面。Java Applet的类文件放在Flash RAM里,设备断电后不会丢失。而实时采集的数据要以文件的形式放在SRAM里,供Applet 程序访问。我们将不同类型的参数分别放在相应的文件里。对于前者,可以在PC机上先编译好,然后在编译Dynamic程序时加载到设备的文件系统中去,如#ximport samples/http/pages/ailist.class就把Applet类放到了设备中。而ailist_class代表该文件的首物理地址,是一个长整型数,我们可以通过该地址方便地访问文件。对于后者我们可以先用xalloc函数开辟一段内存地址,并返回其首址;然后用sspec_addxmemfile(char* name, long fileloc, word servermask)就可将文件名和内存地址联系起来。fileloc是首址,其开始的4个字节是一个长整型数,用来表明文件的长度;name是文件名;然后利用xmem2root函数和root2xmem函数就可以方便地访问内存,对文件进行读写。 

  现场总线设备昂贵,这种系统在价格上完全有优势,在智能家居和楼宇自动化方面将会有一定的市场;同时它也是一些远程监控的很好的选择方案,特别是仪表上网的功能具有相当大的吸引力。制定国内的工业以太网标准和研发类似系统已被列入“十五“计划。相信随着宽带网应用在国内的升温和企业对信息集成度要求的提高,其应用前景会更好。 

参考文献 

1 Ohan Sakinnan.Integrate Internet Solutions into Your Energy Management Network. IEEE, 1998. 3 

2 Aacck W.Szymensky.Embedded Internet Technology in Process Control Device. IEEE, 2000.9 

3 Dynamic C TCP/IP 7.04T Dev Kit Docs.Z-World Inc.,1998 

4 王锦标.过程计算机控制.北京:清华大学出版社,1992 

5 柴廷跃.应用软件系统分析.北京:清华大学出版社, 2000
本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。