2.4 通信和同步管理类软件构件的设计
任务间的通信有2种途径:通过全程变量,或发消息给另一个任务。使用全程变量时,必须保证每个任务或中断服务程序独享该变量。中断服务中保证独享的唯一办法是关中断。如果两个任务共享某变量,各任务实现独享该变量的办法可以是关中断再开中断,或使用信号量。在支撑平台的设计中,采用了信号量方式进行系统的通信和同步管理,包括P操作PSema和V操作VSema两种软件构件。
P操作软件构件实现下列功能:在系统注册状态完成注册表的填写,向系统申请所需的系统资源;在系统参数初始化状态完成信号量数据结构的初始化;在系统工作状态,如果信号量大于零(即信号量可用),则信号量减1,否则表示信号量不可用,进行任务悬挂操作和任务切换。其接口定义如下:
接口说明:信号量地址是外指针,用户可见,是信号量数据结构的入口点;信号量初值若设为1,则表示任务通信,若为0,则表示任务同步。
V操作软件构件只在系统工作状态下工作,与P操作软件构件公用一个数据结构。它首先将信号量减1,然后判断信号量是否大于零。若大于零,表示公共资源可用,则使所给定任务就绪,并进行任务调度和切换。其接口如下:
由于采用构件化的设计方式,系统通信和同步方式可以自由扩展。比如说可以在支撑平台添加邮箱或消息队列构件,采用哪种通信和同步方式主要根据系统的设计需要而定。
3 集成开发环境
本课题组采用微型消息总线MMB嵌入式系统集成开发环境(MMBIDE)应用程序编程语言引入IEC611 313标准,将结构化语句(Structured Text)描述程序设计语言作为自身嵌入式系统应用软件的编程语言。这主要是考虑到MMB嵌入式系统应用于工业控制领域,要求能够自身可以完成较复杂的控制运算,同时要求语句清晰、易懂,具有编程任务高度压缩化的表达格式。采用交叉开发方法,在Windows主机平台上开发与之连接的目标机。开发环境包括自己的可裁剪的微内核实时多任务操作系统,主机上的编译、调试、查看等工具,以及串口、网络与目标机的连接工具。其主要功能包括面向工业应用领域的应用程序基本框架、可重用的构件库、源程序编译器、组态下载用户工具、参数下载用户工具、参数实时监控界面等用于支撑应用程序开发的各类用户工具,是用户开发应用程序的重要基础,强调知识成果的积累和重用,是平台开发模式思想的集中体现[5]。
结语
本软件开发平台应用软件构件技术主要解决下列问题:软件构件的接口定义,提供软件构件与系统以及软件构件之间的交互机制,同时为软件构件的设计和封装提供依据。软件构件的开发和集成,为软件构件的设计和集成提供必要的开发工具。本文介绍了其中主要的系统级软件构件的开发方法,为系统集成各种应用级软件提供了总体框架,解决了控制系统应用软件难维护、难继承的问题,为控制类应用软件的开发提供了依据。
顶一下 0
踩一下
相关文章
用户评论
已有0位网友发表了看法



发表评论