中文摘要:
通过分析SUPMAX800的系统结构,介绍了系统组态软件的设计思想、体系结构及VxWorks实时操作系统、ISaGRAF嵌入式软件在
系统中的应用与实现方法。系统在实际电站中的运行情况表明该系统的设计方案可满足控制组态实时、通用和可靠的要求。
英文摘要: This paper analyzes the system framework, illustrates the design method, the architecture of configuration software and the application of
VxWorks real-time operating system, ISaGRAF embedded control software in SUPMAX800. The application of SUPMAX800 in power station shows
that the design method of SUPMAX800 can meet the requirement of real-time、flexibility and reliability.
随着控制系统对运算能力和实时性能要求的不断提高,
实时
集散控制系统已成为嵌入式应用领域中的一个重要研究
方向。
SUPMAX800是上海自动化仪表股份有限公司DCS公
司自行开发研制的大型
集散控制系统,具有良好的容错能力
和实时性能,组态方式符合IEC1131-3国际标准,主控卡使
用32bit嵌入式
微处理器并采用了
VxWorks嵌入式实时控制系
统,保证了系统的实时、可靠运行,目前已在我国许多电厂
及电站控制项目中投入应用。本文结合作者基于
嵌入式技术的
SUPMAX800系统的研究开发,介绍
了
SUPMAX800的硬件系统、系统软件设计思想、
体系结构以及
VxWorks系统、
ISaGRAF嵌入式控制
软件在
SUPMAX800集散控制系统中的集成及应用。
2 嵌入式技术在SUPMAX800系统中的应用
嵌入式系统是将先进的计算机技术、半导体技术、
电子技术和各行业的具体应用相结合的产物,以应用为中心,可
对软硬件进行裁剪以适应系统对功能、可靠性、成本、体
积、功耗等的严格要求。嵌入式系统主要由嵌入式微处理
器、相关支撑硬件、嵌入式操作系统及相应的嵌入式应用软
件组成。
(1)使用嵌入式系统实现分布式控制
分散控制、集中管理是
集散控制系统的主要特点。
SUPMAX800控制系统采用分布式结构,可根据现场设备分
布情况划分成多个相对独立的逻辑域,各控制站分别对相应
域中的现场设备进行控制管理,提高了系统安全性、可维护
性及系统容量。考虑到嵌入式系统实时、可靠等优点,
SUPMAX800使用了
嵌入式技术实现各分布式控制节点,从
而构成了嵌入式实时
集散控制系统。
由于嵌入式系统是一种典型的软硬件混合系统,因此,
在
SUPMAX800系统的设计过程中,运用了软硬件协同设计
的方法,软件和硬件作为一个整体并行设计并使用统一的设
计方法和工具,从而提高了系统的设计效率,保证了系统的
高效运行。
(2)嵌入式
微处理器、操作系统及控制软件的选择
VxWorks是
美国WindRiver公司开发的面向控制、通信
等领域的强实时控制系统,符合POSIX 1003.1b实时扩展标
准,任务具有高度可抢占性(preemption),系统核心调用可
打断,设有256级优先级,具有高效的多任务管理机制,支
持优先级调度和轮转调度算法,保证了控制系统运行的实时
性及可靠性,同时还提供了Tornado II
嵌入式开发工具,具
有高效清晰的图形化实时应用开发平台并采用了主机—目标
机交叉开发模型。
ISaGRAF是法国CJ INTERNATIONAL公司开发的嵌入
式控制软件,支持IEC1131-3标准所提出的工业控制通用组
态的5种标准编程语言:功能块图(FBD),梯形图(LD),顺
序功能图(SFC),指令表(IL)和结构化文本(ST);同时还支持
流程图语言(FC),并允许在同一个程序中使用多种编程语言
进行混合编程。
SUPMAX800控制系统使用了
ISaGRAF Pro
4.10,可实时运行目标,具有先进的交换层技术,支持增强
的TCP/IP协议和IEC1131-5标准所提出的通信功能块,支持
TIC硬件无关代码的生成并可移植至Win NT、OS-9及
VxWorks等多种操作平台。
(4)嵌入式应用软件的设计与实现
嵌入式软件是基于嵌入式系统的实时应用程序,通常要
求固态化存储并采用多任务的编程实现方式以保证软件的实
时性和可靠性,因此要求操作系统具有高效的多任务管理机
制及任务调度算法。
VxWorks是嵌入式多任务
实时操作系统(
RTOS),
RTOS
内核完成操作系统的基本操作并负责CPU的时间分配,同时
还允许将一项工作划分为多个相互独立的任务,按任务的重
要程度为其分配优先级,从而提高了任务运行的实时性,简
化了应用程序的设计。
VxWorks可采用优先级调度和轮转调
度算法对任务进行调度管理,各任务按运行情况可分为系统
执行、就绪、挂起、睡眠等状态,任务间采用消息、信号、
互斥等机制进行通信和管理。
ISaGRAR嵌入式控制软件是
SUPMAX800系统IEC1131-3图形
组态工具的基础,由运行在工程师站上的组态平台和
运行在控制站主控卡
VxWorks系统中的ISaGRAR虚拟机两部
分组成,两者之间通过RS-232或以太网进行通信。组态平
台提供了开发高移植性应用程序的编程环境,供用户开发组
态应用程序并可生成硬件无关代码(TIC)或结构化C源代码,
同时还提供了调试、在线监视、离线仿真和在线修改等工
具。ISaGRAR虚拟机是在主控卡硬件平台上运行组态资源
的软件,具有虚拟的硬件设备,如处理器、堆栈、寄存器等,
还具有相应的指令系统。因此,ISaGRAR虚拟机屏蔽
了与具体平台相关的信息,具有很强的硬件平台无关性。组
态应用程序在不同硬件平台上运行时不需要重新进行编译,
而只需生成在虚拟机上运行的目标无关代码(TIC代码),即
可在多种平台上不加修改地运行。虚拟机在执行TIC代码
时,会把字节码解释成具体平台上的机器指令执行。
ISaGRAR采用多任务实现方式,将通信任务从虚拟机
中分离出来,并可在一个控制组态中同时运行多个虚拟机任
务,TIC代码指令及虚拟地址存储为32bit的形式,并允许虚
拟机执行超过64 kB的应用程序。在SUPMAX 800系统软件
的设计过程中,根据ISaGRAR软件功能及系统控制的需
要,划分了以下多个任务,各任务优先级均设置为100:
ISaGRAF组态管理器任务,管理虚拟机并提供各组态资源的
运行状态;IsaVM虚拟机任务,解释应用程序代码并执行组
态资源文件;IVMxxxx虚拟机任务,执行用户C嵌入式应用
程序;ISaIXD交换调度任务,对各虚拟机的通信进行调度
管理;ETCP任务,支持增强TCP/IP协议,对以太网通信进
行管理;ISaRSI任务,对串行链路通信进行管理。各任务间
的关系与调度管理如图3所示。
3 结束语
分散控制、集中管理是目前工业自动控制领域中的主要
控制方式,随着控制系统对运算能力和实时性能要求的不断
提高,分布式实时
控制技术已成为嵌入式系统及软件在集散
控制系统中的一个重要应用和研究方向。
SUPMAX800系统
采用硬件冗余配置的方法保证了系统具有强容错能力,采用
VxWorks实现分布式实时控制,并通过ISaGRAR嵌入式软件
的设计与集成保证了系统的高效可靠运行。系统在实际电站
控制项目中的运行情况表明, 基于
嵌入式技术的
SUPMAX800系统的设计方案可满足系统控制实时、通用和
可靠的要求。