在嵌入式操作系统的部份,采用了由泓格科技公司所自行研发的MiniOS7(dos-like)操作系统,整体上来说,它的系统架构相似于个人计算机上的DOS 操作系统,其单工的作业环境可以确保使用者所开发的应用程序得以独占系统的执行权,再搭配硬件上的RTC (Real-Time Clock),构成了一实时的作业环境;I/O 的扩充方面,I-7186EX/7188EX 嵌入式控制器提供了1 个X board 的I/O扩充插槽,可视不同的控制应用场合添加相关的控制子板,因此,在I/O 的扩充能力上势必更具有弹性,方能满足不同的应用需求。值得注意的是,每一EtherNet的嵌入式控制器都有RS-485 通讯端口,因此控制器都可以透过串行通讯端口去控制泓格公司之一系列之分散控制模块DCON 系列产品,例如I-7000, I-8000 及I-87K 之泓格自定命令格式之模块。
图10 I-7188EX 嵌入式控制器及X board 子卡
嵌入式网页服务器的设计流程
如图11 所示为本研究中所建立的嵌入式控制器的Web server 之开发流程。其步骤如下:
Choice Hardware
选择要与EWS 连接的硬件控制器,让EWS 作为硬件控制器与浏览器端的信息交换中心
Wiring Hardware
将整个硬件线路建置好,包含网络及控制器的连接
Design Web page for purpose
针对需求设计相关的网页
Create the firmware of EWS
自订由浏览器端接收命令时,要做的响应机制并使用编译器建立EWS
Download files and run EWS
下载相关的档案(HTM、Pictures)以及EWS 韧体并执行程序
图11: EWS 设计流程
实作探讨
本节将以为了发展嵌入式网页服务器(EWS),发展工具如下:硬件部分:I-7188EX(作为EWS)、I-7021、I-7012、I-7060D(作为网页服务器控制的设备)[8]。软件部分是采用宝兰的 Turbo C++1.01(主程序编译器)去设计嵌入式控制器之应用韧体程序,而微软的FrontPage 是用一个网页编辑软件。但值得注意的是泓格科技的嵌入式控制器的MiniOS7 操作系统及MiniOS7 Utility(下载应用程序)则是整个控制器的核心。在以下本论文将把EWS 的应用架构分为二种,即是基本模式架构与进阶模式架构,而基本应用模式是架构在一个已经设计好的内定fireware 及使用者自行设计之网页,最后只要将内定fireware 及网页透过MiniOS7 Utility 下载至目标硬件应用即可。而进阶应用模式是指EWS 可以提供一个使用者自行加入控制程序,提供一个可以客制化之EWS 韧体,再加上使用者自行设计之网页,即可以架构出一个完全客制化EWS 系统。
基本模式架构说明
基本模式,提供设计人员在开发的过程中完全不需要编写到C 语言的平台,能以最快速的时间中开发适合的EWS,图12 为利用泓格公司所生产的分布式控制模块I-7012 I-7021 I-7017 I-7060 来作为EWS 基本模式实作系统。
在EWS 系统平台中,主要组成软件组件有以下几部分:
1.主程序(Firmware),提供HTTP 服务。
2.网页组件。含HTM、GIF、JPG、BMP 组件。
3.CGI 函式及响应机制,包含在Firmware 里面,提供CGI 相关函式可供应用。
在基本模式中提供应用系统的核心,使用者只需将所设计的网页下载至控制器上即可。在本文中设计系统所需的网页内容,如图五,Readinfo.htm。透过I-7188E内嵌式网页服务器所内建的解译机制,设计人员只要熟知如何设计网页,也可以很简单的透过内建的解译机制,直接控制或读取连接在I-7188E 上的工业控制模块的状态。透过这个方式,可以快速有效建置Ethernet 嵌入式控制系统在网页伺服技术上的应用。图13 为实际执行的画面
图12: 实作线路连接图
图13: 网页内容及实际执行解译命令运作图阶模式架构说明
进阶模式,提供设计人员在开发的过程中想要自行控制接收到HTTP 需求联机后所做的响应机制,此模式开放图14 中的User.C 部分,让设计人员对此嵌入式网页服务器有更大的弹性空间。同样的进阶模式的EWS 主要组成软件组件有以下几部分:
1.主程序(Frimware)。
2.提供HTTP 服务。
3.网页组件,含HTM、GIF、JPG、BMP 组件。
4.CGI 函式及响应机制,包含在Firmware 里面,有CGI 可供呼叫以及相关的函数。
其中在主程序(Frimware)部份,另外开放User.C 供设计人员自行编写程序。在本系统的实作中,会使用到发展的网页直译器,将动态网页中的动态命令字符串直接解译并执行然后使用EWS 所取得的值或参数来取代这些动态命令,系统发展者可根据这些参数来做监控系统的应用。如图14,例如:改变命令字符串并用EWS 从通讯端口中取得的值取代此动态命令。透过解译程序,将动态命令从通讯端口输出并取得回传值然后产生一新的静态网页。最后,再将此新网页回传到浏览器端。执行结果如图 15。
图14 客自化程序设计及对应的网页设计
图15: 进阶模式解译命令及执行结果
EWS 效能分析
由于EWS 是属于微型的网页服务器,因此其效能与下列要的变因有关系,网页内容、联机数目,都是决定此EWS 系统重要的因素。以下将针对此三变因作数据上的测试。
网页内容(联机数目为一):
测试结果
数据图形:
联机数目(网页内容为纯文字)
测试结果
结 论
由以上结果得知,整个网络运行的效能,影响最大的部份取决于单一网页传递数据量的大小。如果单一网页的数据庞大,针对每一个联机从开始回映到结束响应的时间将会大为增加。嵌入式网页服务器主要的功能大多是针对显示控制器的状态为主,因此联机的反应时间快慢只要是浏览器端可以接受的范围就可以。而配合I-7188E 嵌入式网页服务器,有下列的优点:1.系统建置的快速,结合I-7188E所提供的函式库,能在最短的时间中设计出需求的功能。比起传统式的网页服务器需要花费大量的时间,更适合工业控制上应用网页监控设计人员。2.低成本与高效率,整个建置系统的成本,并提供WebL_100.Lib 函式库提供系统发者所需的功能。因此,在软件开发成本上已经为设计人员做最有效的抑制。3. 突破传统的Client-Server,传统的Client-Server 机制,通常必须在客户端安装特定的Client 软件。在使用对象固定的状况下,这并不会照成多大的困扰。一旦Clent对象不确定而又无法一一安装,这时透过I-7188E 架设的网页服务器就可以适时的发挥功效,目前的PC 都已内建浏览器程序,只要将Client 的PC 与I-7188E内嵌式网页服务器一同架设在网络上,这个问题即可迎刃而解。
本文所探讨的Ethernet 嵌入式控制器之WWW 应用平台,不但突破以往工业控制无法直接以Web 方式操控的限制,更提供多种不同模式的发展平台。应用此发展平台,除了无远弗届的Web 操作外,还能与C 语言结合创造出更弹性的控制系统。
参考文献
McCombie, B., “Embedded Web servers now and in the future,” Reat-Time Magazine, no.1 March 1998, pp. 82-83.
Wilson, A., “The Challenge of embedded Internet,” Electronic Product Design,January 1998,pp. 31-2, 34.
Ian Agranat, “Embedded Web Servers in Network Devices,” CommunicationSystem Design, March 1998, pp. 30-36.