最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

基于VxWorks的嵌入式实时PLC设计

发布时间:2014-02-13 作者:谢厚亮 曾永和 
关键字:PLC 嵌入式 系统 
随着数字信息技术和网络技术的高速发展,人类正步入一个崭新的后 PC 时代。这个时代的主要特点是嵌入式系统无处不在,并不断地向科研生产及人类生活的各个方面渗透。而可编程控制器(PLC)对机床开关量信号进行控制时可靠性高,使用方便,在大多数数控机床,特别是经济型数控机床中,要求的输入输出点数不多的情况下得到广泛应用。在兼用PC 机系统资源的情况下,采用非实时多任务操作系统(如Windows)时,Win32 API 的设计可以满足多控制点复杂的数控功能要求,但由于Windows 的分时性,没有考虑到实时环境的开发用途,其系统调用的效率不高,不能满足数控系统高实时场合PLC 控制的实时性要求。

4、BSP 的改造

  BSP 即Board Support Package,通常指针对具体的硬件平台,用户所编写的启动代码和部分设备驱动程序的集合。BSP 是一个VxWorks 内核运行的基础。4.1 BSP 与VxWorks 的层次关系在 VxWorks 中,将BSP 简单描述成介于底层硬件环境和VxWorks 之间的一个软件接口。它的主要功能是系统加电后初始化目标硬件,初始化OS,及提供部分硬件的驱动程序如时钟、中断、串口驱动等。其与内核、驱动程序及应用程序之间的关系如图4:

层次关系图

  如图可见 BSP 为上层软件与底层硬件之间进行交互的桥梁,为上层提供统一接口。BSP中包括的驱动程序与具体的硬件相关,在移植到不同的硬件系统的时候,要修改相关的驱动。

  4.2 VxWorks BSP 的特点

  在众多的商用嵌入式实时操作系统中,VxWorks 是使用极为广泛的一种操作系统,它实时性强,占用空间小,提供丰富的网络协议,有众多的调试手段。

  VxWorks 的BSP 可以按功能分为两大部分。

  1)目标系统的系统引导部分:主要是目标系统启动时的硬件初始化,在目标系统上电后开始执行,主要是配置处理器的工作状态,初始化系统的内存等,这部分的程序一般只在系统引导时执行,为操作系统运行提供硬件环境。

  2)目标系统的设备驱动程序:主要是驱动目标系统配置的各种设备,包括字符型设备、块存储设备、网络设备等,这些设备驱动程序完成对硬件的配置,操作系统通过设备驱动程序来访问硬件,从而完成读取数据和外界的交互等。

  在实际应用中,为了获得更好的稳定性和执行效率,许多设备驱动程序会直接和应用程序捆绑在一起,而不是由操作系统来管理。

  4.3 BSP 的设计与修改

  WRS 提供了大量预制的,支持许多商业主版或评估板的BSP,减少了开发时间。

  宏观来看,BSP 包括两部分:

  初始化部分:CPU 初始化;目标板初始化;操作系统的初始化。

  驱动程序部分:一般要包括时钟、中断、串口驱动。

  具体来看,BSP 包括源文件、头文件、派生文件。主要需要修改VxWorks 源码中的以下目录中:

  /target/config/all

  几个重要文件的功用如下:

  1)bootConfig.c:引导ROM 映像的主要初始化和控制文件。

  2)bootInit.c:引导ROM 映像的第二阶段的初始化代码。实现romStart 函数--romInit.s中的romInit()函数执行完后跳转到romStart(),执行解压缩,代码/数据段从rom 拷到ram。

  3)usrConfig.c:VxWorks 映像的主要初始化代码。

  /target/config/comps/vxworks:实时内核基本模块描述(cdf)文件。

  /target/config/comps/src:实时内核模块配置文件。供usrconfig.c 使用。

  /target/config/bspname 该目录下的文件就是要编写的BSP 文件。

  由于 BSP 系统开发的硬件相关性和处理器系列的多样性,不可能有一种通用的程序或方法来解决每一种处理器的BSP 问题,所以必须具体问题具体分析,不断实践,才能使程序运行达到比较高的效率。

5、其它

  另外,VxWorks 的多任务任务调度策略的实施也是实现嵌入式PLC 的一个关键点,确保高优先级任务在确定的时间内能被执行,并对外部的异步事件作出及时响应。多任务环境允许一个实时应用作为一系列独立任务来运行,各任务有各自的线程和系统资源。VxWorks系统提供了多处理器间和任务间高效的信号灯、消息队列、管道、网络透明的套接字。并具有实时系统的另一关键特性是硬件中断处理。为了获得快速可靠的中断响应,VxWorks 系统的中断服务程序(ISR)有自己的上下文。鉴于篇幅关系,在本文不做详细讨论。

6、总结与展望

  嵌入式系统已经成为历史发展的必然,其极佳的可扩展性,对多种硬件的支持,同时能够提高PLC 的运行速度和可靠性,并且支持多任务的控制策略,对PLC 的性能有了很大的提高。通过现场运行调试,对现场I/O 设备进行监控,达到了预期的实时性要求,实现了通过现场总线或TCP/IP 通信协议与硬件层(I/O)高速的响应目标。新型的基于VxWorks 的嵌入式实时PLC 具有很高的性能价格比,具有市场竞争优势,有助于我国PLC 企业发展本国市场,发展自主产业的PLC。 

2
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
相关资料推荐