基于嵌入式实时操作系统的现场控制系统

发布者:清新心情最新更新时间:2010-01-12 来源: 微计算机信息关键字:嵌入式系统  以太网  Web服务器 手机看文章 扫描二维码
随时随地手机看文章
1 引言

  今天,随着控制、计算机、通讯、网络等技术的发展,信息交换领域正在迅速覆盖从工厂的现场设备层到控制、管理的各个层次。基于以太网的工业控制网络具有数据传输率高、可靠性好、易维护、可远程传输、互操作性好等优点。随着互联网技术的普及与推广,以及网络通信速率的提高、交换技术的发展,使得它受到了全球的拥护和软硬件支持,并得到了迅速发展和普及。本文设计和开发了具有工业以太网功能的现场控制设备。

2 嵌入式操作系统的选择

  实时嵌入式操作系统的种类繁多,大体上可以分为两种:商用型和免费型的。商用型的实时操作系统功能稳定、可靠、有完善的技术支持和售后服务,但往往价格昂贵,如QNX和Windows CE等。免费型的实时操作系统在价格方面具有优势,目前主要有Linux和μC/OS-II。由于商用实时操作系统的成本太高,采用免费软件是最好的选择,因此嵌入式实时操作系统最终选择了μC/OS-II。

3 μC/OS-Ⅱ下多任务程序的设计

  程序的一开始通过一些宏定义对与μC/OS-Ⅱ运行环境相关的一些配置参数、服务器的IP地址、网关以及子网掩码等局域网参数做了设置,主程序中负责硬件初始化,初始化实时多任务操作统,初始化TCP/IP协议栈,建立任务,为其分配优先级,激活各任务将其置为就绪态。然后在系统内核RTOS的调度下,各个任务按照优先级的不同依次投入运行,任务运行结构如图1所示。

图1 任务运行调度示意图

  3.1 故障监控任务

  监控任务用来监视当前程序运行状态,它的优先级为最高,它判断前一个运行任务的运行状态,如果有错误发生就采取相应的纠错方案,否则退回到等待状态。被监视任务正常运行时其执行时间是可预估的,被监视任务在其即将运行完毕时向监视任务发送消息说明自身运行正常。被监视任务运行时,监控任务处于等待态,等待被监视任务给它发送消息,等待时间被设定为预计的任务正常运行所需的最大时间。若等待时间内监视任务收到消息,则认为发送消息的任务运行正常,依照各任务执行顺序的先后下一任务开始运行,监视任务等待下一任务发送的消息。若等待时间已过,监控任务仍未收到消息,则系统的时间管理函数将强行把监视任务设置为就绪态。因为监控任务的优先权是最高的,监控任务将首先投入运行,它将抢占对CPU的控制权并采取相应的纠错方案,进行相应的故障处理,从而避免死机的发生。任务实现的流程图如图2所示。

图2 故障监控任务流程图

  3.2 模拟量输入输出与数字量处理任务

  模拟量输入输出任务属于周期性执行的任务。它包括几个组成部分:模拟信号量的输入,控制算法的运算,产生控制输出。任务首先从物理通道读取经过A/D转换后的传感器信号,对其进行平滑滤波、工程单位转换和报警检测后与控制给定值进行比较,其误差经过内置的PID控制功能块运算后,得到相应的控制量,此控制量经过工程单位转换后直接送给D/A转换输出给现场执行机构,控制其输出,从而实现了现场化的闭环控制。

  数字量指的是变量的输入或输出值只能是0或者1这两种状态中的一种。与模拟量输入输出任务相同,数字量处理任务也属于周期性执行的任务,它负责读取现场开关量状态并完成对离散输出的控制。相对来说读取数字量输入是比较简单的任务,对数字量的基本操作,就是微处理器的相应的端口进行读写。比较复杂的是对于脉冲累计型的输入信号和要求以预定义的一定频率转换输出状态的输出信号,在嵌入式实时操作系统下可以通过设定任务的执行间隔来得到简化。

 3.3 Web Server守护任务

  服务器功能是通过Web Server守护任务来实现,它的服务是被动的,需要用户对它进行访问,然后响应用户的请求。系统通过监听来自客户机的连接请求,一旦监听到连接建立请求并建立连接后,接收来自客户端的数据,并根据相应的命令返回所请求的页面作为响应。任务实现的流程图如图3所示。

图3 Web Server守护任务流程图

  3.4 通讯任务

  网络通信任务是基于C/S模式的,即客户/服务器模式。现场设备作为服务方,它在等待客户的请求,提供数据和信息,客户方是控制方,它可以运行于工业现场的同等现场设备,也可以是远程浏览器,客户方提出请求,对应着双方约定好的命令,现场设备在验证命令后,开始根据不同的命令字发送相关数据或者修改本地参数变量。通讯任务主要完成两方面的任务,一方面考虑到工业现场中,不同的控制节点之间有相互数据交换的需求,另一方面用于响应客户端浏览器中嵌入的applet通过Socket连接向服务器请求实时数据的请求,二者的区别在于通过不同的通信端口向服务器请求数据。

  通讯任务主要通过Socket编程实现,现场设备控制器和现场设备之间的通信采用TCP协议,通信端口选择1000;而浏览器内嵌的applet与服务器的通讯则选择2000端口。应用于工业现场的程序应该是“健壮”的,然而在实际中,已经打开的TCP Socket连接随时可能会中断,原因是多方面的,可能是网络问题引起的连接超时,或者是接收端发出了RST重置标识或放弃连接等等。因此在应用程序中设计了一个状态机检测机制,随时检测TCP Socket上的连接状态,根据当前连接的不同状态采取相应的处理方法,这样就增强了程序的“健壮性”。程序中先后对两个端口的Socket连接进行监视并根据其不同状态转入不同条件下处理,由于对两个端口的操作原理基本相同,区别在于Socket连接建立后,自定义的通信内容的不同所引起的服务器对其响应的不同。

  3.5 电子邮件服务任务

  电子邮件服务通常情况下处于休眠状态。当有报警发生,由监控任务将其投入运行,一旦执行完毕,自动删除所在任务。通过电子邮件,系统可可以主动地发送信息。守护任务通常处于休眠状态,只有当到达系统发送日志的时间或者系统异常时,由相应的任务启动。在系统正常的情况下,定时向企业数据库发送系统运行日志。当有系统异常发生时,守护任务通过Internet向系统管理和维护人员发送E-mail报警,通知其对系统进行维护。任务实现的流程图如图4所示。

图4 电子邮件服务任务流程图

4 嵌入式Web Server中服务器与客户端交互技术的实现

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

 工业控制经常需要以动态曲线形式显示现场的各种数据,公共网关接口CGI虽然能够提供客户端浏览器与嵌入式Web服务器间的信息交换,但CGI只能为数据的传输提供通道、进行处理,而不具有绘制图型的功能;而浏览器页面描述语言HTML也由于其本身的局限性,只能提供静态的画面。为此浏览器端程序使用了Java Applet技术,程序功能是定时向现场设备发送TCP连接请求,并利用所获取的数据在浏览器网页上绘制动态曲线,目的是在客户端实现友好的交互式显示模式并提供实时数据。

  本文作者创新点:

  本文深入研究了在嵌入式实时操作系统环境下控制软件的开发,通过对现场设备软件结构的分析,合理地对控制软件进行任务划分,使之成功的运行于嵌入式实时操作系统μC/OS-II上,并根据实时调度算法对多个任务进行统一管理和调度。

关键字:嵌入式系统  以太网  Web服务器 引用地址:基于嵌入式实时操作系统的现场控制系统

上一篇:基于VxWorks的无人直升机控制系统设计
下一篇:基于VxWorks的MB系列智能可编程控制器设计

推荐阅读最新更新时间:2024-05-02 20:58

华为宣布:港湾网络转让部分资产和业务给华为
  新浪科技讯 2006年6月6日消息,港湾网络与华为联合宣布,就港湾网络转让部分资产、业务及部分人员给华为达成意向协议书并签署MOU(谅解备忘录)。根据MOU,转让的资产和业务包括路由器、以太网交换机、光网络、综合接入的资产、人员、业务及与业务有关的所有知识产权。   华为新闻发言人对新浪科技表示,此次华为收购的是港湾大部分资产与业务,而不   是港湾公司。港湾作为一家独立的公司仍会存在。至于收购的金额等问题,由于正式的收购协议还没有签署,目前并不便透露。   随后,华为在给媒体发来的声明中称“有关的协议还在洽谈之中,在此不披露细节。”新浪科技将进一步追踪报道事件的下一步进展。
[焦点新闻]
安森美推出以太网供电产品系列的两款新产品
安森美半导体 ( ON Semiconductor ) 推出以太网供电 (PoE) 产品系列的两款新产品 —— NCP1082 和 NCP1083 。 与最近推出的 NCP1081 一样, NCP1083 是业界最高功率的集成以太网供电用电设备 (PoE-PD) 的同一系列,支持达 40 W 稳压功率的扩展功率范围,提供给 2 对式配置的应用负载。 NCP1083 也能够通过辅助并联电源提供功率。 NCP1082 和 NCP1083 都完全支持 IEEE 802.3af 标准,其中 NCP1083 更支持包含两个事件物理层分类的最新 IEEE 802.3at 草案 (D3.0) 标准。 NCP1082 和 N
[工业控制]
安森美推出<font color='red'>以太网</font>供电产品系列的两款新产品
嵌入式系统应用设计应关注MPW
SoC是各种类型嵌入式应用系统的方向。长期以来,资金、批量因素一直制约着中小企业、研究机构、高等院校等部门直接采用微电子设计技术,运用ASIC模式进行嵌入式应用系统的开发;然而,嵌入式应用系统设计与微电子设计相融合已是一个技术发展趋势。为了解决这一瓶颈,国外从上世纪80年代初即开始实施了MPW服务计划与体系。MPW服务计划的实施大大加速了IC产业和嵌入式系统应用的发展。许多专家认为,我国IC产业、IC设计、ASIC应用长期落后,与我国长期以来忽视MPW服务计划与体系有关。可喜的是,近年来政府部门及相关单位己重视此问题,MPW服务体系建设研究已正式列入国家863计划,初步建立了几家MPW服务中心。MPW服务体系对我国IC产业的发展势头
[应用]
高频测试推动现代仪器设计发展
  显而易见,仪器设备发展的主要趋势是围绕着满足不断增长的高速串行接口以及广泛的新无线标准和产品。   这两个领域都需要微波功能,而这仅需要以往更为深奥的射频测试仪器。其不再难以实现。吉赫兹仪器和较强的功能正变得很普通。不要忘记,视频要求更高的清晰度,而电视和游戏要求更高的速度。   高速串行接口测试   在新的用于连接处理器和内存及周边设备(PCI Express、XAUI、10Gigabit以太网等)的高速串行接口的推动下,已经产生一种新的仪器,这包括了从示波器和逻辑分析仪到BER测试仪和信号发生器(图1)。   这些仪器具有高达20至50Gbit/s的输入采样率,以及极大的内部RAM来存储数以百万计的采样数据
[测试测量]
嵌入式系统的学科建设”研讨会即将召开
成立一年的嵌入式系统联谊会即将迎来本年度的最后一次主题讨论会,本次主题是“嵌入式系统学科建设”。联谊会自成立以来得到嵌入式系统业内各界朋友的支持和关心,已经成功地举办了“嵌入式系统的集成电路产业”,“嵌入式软件产业与软件集成”,和9月份召集的“嵌入式系统的产业模式思考”三次主题讨论会,反响热烈。 在嵌入式系统快速发展十年后,研究和探讨嵌入式系统的学科基础,即弄清嵌入式系统的知识结构、学科交互状况、个人与团队如何在嵌入式系统中准确定位;嵌入式系统学科的产业关系,即高校嵌入式系统科研团队的产业服务方向与内容,怎样从产业发展中找出路;高校中的嵌入式的学科建设,即以高校嵌入式相关专业为主,总结、交流与探讨高校中嵌入式系统的专
[嵌入式]
嵌入式系统到嵌入式操作系统
  嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的;适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。   嵌入式系统应具有的特点是:高可靠性;在恶劣的环境或突然断电的情况下,系统仍然能够正常工作;许多嵌入式应用要求实时性,这就要求嵌入式操作系统具有实时处理能力;嵌入式系统和具体应用有机地结台在一起,它的升级换代也是和具体产品同步进行;嵌入式系统中的软件代码要求高质量、高可靠性;一般都固化在只读存储器中或间存中,也就是说软件要求固态化存储,而不是存储在磁盘等载体中。   嵌入式操作系统是嵌入式系统的操作系统。它们通常被设计非常紧凑有效,抛弃了运行在它们之上的特定的应用程序
[嵌入式]
基于IAP的嵌入式系统升级方案
一、 需求引入 现有嵌入式设备:基于ARM Cortex-M3处理器、带以太网通讯功能。为降低设备维护成本节省宝贵的时间和金钱,需要设计网口升级固件功能。 本文描述了基于IAP和网口升级该嵌入式系统的方法,其中处理器为NXP公司的ARM Cortex-M3,开发环境为IAR Embedded Workbench for ARM。 IAP( In Applicatin Programming)在应用编程,一般指MCU可以通过通信端口(UART口、网口等)从外部接收应用程序镜像并烧录到FLASH中实现固件升级。 图1网口升级固件 二、 原理介绍 先温习下小知识:一个典型的嵌入式软件地址空间如图2所示,程序代码(RO段)
[单片机]
基于IAP的<font color='red'>嵌入式系统</font>升级方案
是德科技推出千兆级车载以太网测试解决方案
扩展车载以太网软件,为车载网络设计和验证团队打造管理车载以太网的千兆级标准 是德科技公司(NYSE:KEYS)进一步扩充其 高级车载以太网软件 家族,帮助汽车行业的工程师、设计人员和制造商开发高质量、高性能的产品,从而提升驾驶安全性,并为新兴的先进驾驶辅助系统(ADAS)提供支持。是德科技提供先进的设计和验证解决方案,旨在加速创新,创造一个安全互联的世界。 全面覆盖车载以太网标准 新一代 ADAS 系统要求摄像头和雷达系统具备更高的分辨率,因此需要数据速率更高、带宽更大的网络连接。车载以太网支持高速数据通信,可以满足现有车辆和未来互联汽车的需求。是德科技针对 1G 和千兆级数据速率推出三款新软件,制造商、OEM、芯片
[汽车电子]
是德科技推出千兆级车载<font color='red'>以太网</font>测试解决方案
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved