网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
工业现场嵌入式控制器软件的分析和设计
作者:    发布于:2019-06-12 20:27:34    文字:【】【】【

【摘要】:本文分析了 Linux 在嵌入式系统中应用的可能性及优势,并设计了基于嵌入式 Linux 的工业现场控制器软件,并实际应用于计算机集散控制系统(DCS)中,满足了一般甚至核电领域中DCS 系统对现场控制器的要求。 

关键词:嵌入式 Linux;DCS;现场控制器 

Abstract The possibilities and advantages of application of Linux in embedded systems are first analyzed in this paper, and then an embedded Linux based industrial field control station software is designed and actually applied in the Distributed Control System (DCS), and satisfies the requirements for field control station in DCS of general even nuclear power plant fields. 

Keywords: Embedded Linux; DCS; Filed Control Station 

1.引言 
        现场控制器是DCS系统的核心组成部分,担负着接收并执行控制算法、采集现场数据并 进行大量数据处理等职能,且具有控制周期短,运行稳定、可靠等要求。因此,如何选用高 性能的硬件,开发稳定可靠的嵌入式操作系统,并设计现场控制器软件系统成为DCS系统开 发中的关键之一。 
本文分析并设计了基于嵌入式Linux的工业现场控制器的控制软件系统。 

2. Embedded Linux的优势 
Embedded Linux 具有如下特点[1]: 
         第一,Linux 系统内核源码完全开放。因为 Linux 的内核源码是完全开发的,所以不同 领域和层次的用户可以免费得到 Linux 内核源码,并根据自己的应用需要方便的对内核进行 修改。这样可以有效控制成本,并设计和开发出满足其需要的嵌入式系统。 
         第二,强大的网络功能。Linux 的网络连接能力紧密的和 Linux 内核结合在一起,为用 户提供了完善而强大的网络功能。实际上,Linux 就是依靠互联网才迅速发展了起来。Linux 支持所有标准 Internet 协议,可以轻松地与 TCP/IP、LAN Manager、Windows for Workgroups、 Novell Netware 或 Windows NT 网络集成在一起。可以在 Linux 的网络协议栈基础上开发出 嵌入式的 TCP/IP 网络协议栈,使得嵌入式设备具有强大的网络功能。 
        第三,Linux 是 Unix 兼容,完全符合 IEEE POSIX.1 标准。许多运行在 Unix 上的软件 可以不加修的运行在 Linux 上。因此嵌入式 Linux 具有很多丰富的免费软件资源可以利用。 第四,Linux 具备完整的开发工具链,嵌入式系统开发者容易建立嵌入式系统的开发环 境和交叉运行环境,可以跨越嵌入式系统开发中仿真工具的障碍。从编辑阶段,编译阶段到调试阶段,可以方便的使用 GNU 提供的 EMACS,GCC,GDB,KGDB 等工具链。 第五,Linux 具有广泛的硬件支持。Linux 能运行在,无论是 RISC 还是 CISC、32 位还是 64 位等各种处理器上。Linux 支持各种主流的硬件设备和最新的硬件技术,可以在没有MMU 的处理器上运行。所以嵌入式 Linux 有广泛的应用前景。 

3. 工业控制DCS系统的组成 
         DCS 是分散控制系统(Distributed Control System)的简称,国内一般习惯称为集散控 制系统。它是一个由过程控制级和过程监控级组成的以通信网络为纽带的多级计算机系统, 综合了计算机(Computer)、通讯(Communication)、显示(CRT)和控制(Control)等 4C 技术,其基本思想是分散控制、集中操作、分级管理、配置灵活、组态方便。 

点击察看原图



DCS 具有以下特点[2]: 
(1)高可靠性 
        由于 DCS 将系统控制功能分散在各台计算机上实现,系统结构采用容错设计,因此某 一台计算机出现的故障不会导致系统其它功能的丧失。此外,由于系统中各台计算机所承担 的任务比较单一,可以针对需要实现的功能采用具有特定结构和软件的专用计算机,从而使 系统中每台计算机的可靠性也得到提高。 
(2)开放性 
        DCS 采用开放式、标准化、模块化和系列化设计,系统中各台计算机采用局域网方式 通信,实现信息传输,当需要改变或扩充系统功能时,可将新增计算机方便地连入系统通信 网络或从网络中卸下,几乎不影响系统其他计算机的工作。 
(3)灵活性 通过组态软件根据不同的流程应用对象进行软硬件组态,即确定测量与控制信号及相互 
间连接关系、从控制算法库选择适用的控制规律以及从图形库调用基本图形组成所需的各种 监控和报警画面,从而方便地构成所需的控制系统。 
(4)易于维护 功能单一的小型或微型专用计算机,具有维护简单、方便的特点,当某一局部或某个计算机出现故障时,可以在不影响整个系统运行的情况下在线更换,迅速排除故障。 
(5)协调性 各工作站之间通过通信网络传送各种数据,整个系统信息共享,协调工作,以完成控制 系统的总体功能和优化处理。 
(6)控制功能齐全 控制算法丰富,集连续控制、顺序控制和批处理控制于一体,可实现串级、前馈、解耦、 自适应和预测控制等先进控制,并可方便地加入所需的特殊控制算法。 
        DCS 的构成方式十分灵活,可由专用的管理计算机站、操作员站、工程师站、记录站、 现场控制站和数据采集站等组成,也可由通用的服务器、工业控制计算机和可编程控制器构成。 
       处于底层的过程控制级一般由分散的现场控制站、数据采集站等就地实现数据采集和控 制,并通过数据通信网络传送到生产监控级计算机。生产监控级对来自过程控制级的数据进 行集中操作管理,如各种优化计算、统计报表、故障诊断、显示报警等。随着计算机技术的 发展,DCS 可以按照需要与更高性能的计算机设备通过网络连接来实现更高级的集中管理 功能,如计划调度、仓储管理、能源管理等。 

4. 嵌入式控制器软件设计 
        嵌入式控制器是指在 DCS 的硬件体系结构中的现场控制站,即图 1 中被红色椭圆圈中 的部分。在设定的控制周期下,主控制器循环的执行从 I/O 设备采集现场数据、控制逻辑运 算、与操作员站进行数据交换、故障诊断、冗余等任务。 
        主控制器向下通过 I/O 插件或者现场总线网络,连接现场的各种 I/O 设备、执行设备等; 向上通过系统网络与操作员站、工程师站等连接。 
         DCS 系统的性能、可靠性等重要指标主要体现在主控制器上[3]。因此,设计出高效稳定 的现场控制器软件系统,对于设计整个 DCS 系统的关键之一。 
4.1 控制器硬件及系统平台嵌入式控制器的硬件平台为 Intel® XScale IXP425 嵌入式开发板;操作系统采用嵌入式Linux,版本为 2.6.16。 
4.2 控制器软件结构 
         控制器软件设计为运行于嵌入式 Linux 平台上的单线程应用程序,调度策略为实时的先 入先出(FIFO)方式,现场运行采用双机热备份方式。由于控制器软件要完成的各种功能 相对独立,因此本文中将控制器软件程序设计成多模块结构。模块之间的关系如下图所示。 

点击察看原图


各模块分别设计为: 
(1)总控模块。总控模块指的是对系统整体运行进行监控的模块,它协调和调度其他 模块的运行,包括系统开始启动时的初始化、程序结束时所进行的清理以及按照周期性调度 其它模块的运行。 
(2)时间管理模块。在控制器软件中,维护一个与校时无关的时间计数,系统根据这 个计数来进行计时和调度。工作机和备份机之间通过校时使得绝对时间和计数都能保持一 致。 
(3)通讯模块。此模块提供控制器软件的网络通讯功能,设计为具体网络协议对上层 应用即通讯服务模块透明。同时,通讯模块应该实现将网络上的字节流封装成具有特定功能 单元的数据包,及将具有特定功能单元的数据包转换成网络字节流,以供通讯服务模块使用。 
(4)通讯服务模块。通讯服务模块和通讯模块密切相关,是控制器软件对外提供的服 务接口。控制器软件定义了一组标准的通讯服务,外部只要按照规定的格式向控制器发送通 讯请求,控制器就会给出应答或结果。通讯服务模块实质上是对通讯模块所接收到的数据的 处理;并将处理结果交给通讯模块发送。 
(5)冗余模块。冗余主要是涉及到工作机和备份机之间的通讯,采用网络方式。主机 需要向从机传送的数据主要包括:下装文件、运行数据、相关通讯服务命令等,另外工作机 和备份机之间的校时也通过冗余模块完成。 
(6)诊断模块。诊断模块负责检测控制器运行状态,并对出现及可能出现的异常状态 进行修正。 
(7)错误信息处理模块。控制器软件中各模块通过此错误信息处理模块将各种错误信 息记录下来,通过通讯服务,记录的错误信息可以被提取出来进行分析,以便于分析、解决 出现的问题。 
(8)状态显示模块。状态显示模块主要是负责按照要求控制控制器面板上显示部件 LED 
灯显示相应信息。 
(9)掉电保护模块。掉电保护模块周期性地将重要数据保存,当系统掉电重启后,可 恢复运行数据。本文中设计为周期性的将重要的运行数据保存到 SRAM 中,保存完毕后, 设置掉电保护有效标志;当控制器重新启动后,检查此标志,若有效,则恢复运行数据。 
(10)数据交换模块。控制器软件和现场 IO 模件进行数据交换:DP 主站从输入模块 收集输入数据并发送给控制器,在 IEC 运算后,控制器软件将输出数据发送给 DP 主站, 
DP 主站将输出数据分发给输出设备。本文设计为 DP 主站将从现场智能设备收集的输入数 据存放在双口 RAM 中,然后控制器软件从双口 RAM 中获得输入数据;控制器软件将输出 数据存放在双口 RAM 中,然后 DP 主站从双口 RAM 获得输出数据,然后分发给现场智能设备。 
(11)IEC 任务调度模块。IEC 任务调度模块负责对各种 IEC 任务进行调度,包括周期 性任务、连续性任务、内部事件任务和外部事件触发的任务。IEC 任务调度模块还要维护双 机之间的同步,通过发送和应答同步标号保证双机之间的 IEC 任务运算的节拍一致。如果 同步失败,工作机要向备份机拷贝运行数据,然后备份机重新运行。 
控制器软件的代码设计如下所示。 
int main(int argc, c har *argv[]) 
{ 
/* General initialization */ 
/* Redundancy initialization */ 
/* Communication initialization */ 
/* DP initialization */ 
/* Power-safe initialization */ 
/* LED display initialization */ 
/* Diagnosis initialization */ 
while (1) { 
/* Handle communication services */ 
/* LED display */ 
/* Collect input data from DP master*/ 
/* Schedule IEC tasks */ 
/* Deliver output data to DPmaster*/ 
/* Redundancy synchronization control*/ 
/* Diagnosis functions */ 
/* Possible delay */ 
} 
/* Finalization */ 
} 
        控制器软件程序在启动后,对冗余模块、通讯模块、数据交换模块、掉电保护模块、状态显示模块、诊断模块进行初始化;之后进入 while 无限循环并周期性的调用或执行通讯模 块、状态显示模块、数据交换模块输入部分、IEC 任务调度模块、数据交换模块输出部分、 冗余同步模块、诊断模块、及可能的延时;当程序遇到意外情况需要终止时(如用户发送Ctrl + C 中断),程序进入清理部分,释放占用的资源,最后结束运行。 

5. 实验及结果分析 
        经过实验和对结果的分析,基于嵌入式 Linux 的嵌入式控制器具有较高性能,能满足一 般甚至核电领域 DCS 系统中现场控制器的要求。控制器软件接收并调度数个周期型 IEC 任 务(代码和数据总大小分别小于 500KB 和 700KB)时控制周期可达到 50ms,并且满足现场 控制器网络负荷率小于 15%,系统总负荷率小于 40%等要求。 
分析原因如下: 
IXP425 具有强大的计算能力和集成的 NPE 具有非常强大的网络处理能力[4]; 系统配备大量内存(128MB),程序可快速运行; 
Linux 运行于 IXP425 BIG ENDIAN 模式,网络协议栈可以减少一些转化处理; 
Linux 操作系统性能较好,控制器软件采用模块化设计,并优化代码,具有较强处理能力。 

点击察看原图



6. 总结 
        本文分析了计算机集散控制器系统中现场控制器的在工业控制领域的重要性,并设计了 基于嵌入式 Linux 的现场控制器软件系统。所设计出的系统高效、可靠,满足一般甚至核电领域的工业控制要求。基于嵌入式 Linux 的工业现场嵌入式控制系统必然有着更美好的前景。 


参考文献 
[1] 徐雪松 章兢.嵌入式 Linux 在工业控制领域中的应用.国际电子元器件,2004 年,03 期 
[2] 宋威 周伟.集散控制系统应用现状及其发展.工业控制计算机,2004 年,11 期 
[3] 郭晨鲜 费凌.基于嵌入式控制器及研发平台的分析与研究.西华大学学报,2005 年,04 期 
[4] 张广辉 徐江华 邵惠鹤.基于交换式以太网的嵌入式控制系统.自动化仪表,2008 年,06 期 
Analysis and Design of Embedded Linux Based Field Control Station Software 

浏览 (63) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:
将本文加入收藏夹
新闻详情
脚注信息
中国汽车网(C) 2015-2020 All Rights Reserved.