登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
单片机应用于方案
›
基于VxWorks实时嵌入式PLC设计
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版
基于VxWorks实时嵌入式PLC设计
[复制链接]
1541
0
ad***
管理员
发表在
嵌入式/ARM
2013-3-20 10:11:45
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
前言
可编程控制器(PLC)对机床开关量信号进行控制时可靠性高,使用方便,在大多数数控机床,特别是经济型数控机床中,要求的输入输出点数不多的情况下得到广泛应用。在兼用PC机系统资源的情况下,采用Windows的分时性,没有考虑到实时环境的开发用途,其系统调用的效率不高,不能满足数控系统高实时场合PLC控制的实时性要求。
VxWorks作为一运行在目标机上的高性能、可裁减的嵌入式实时操作系统,目前以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域。
本文基于VxWorks操作系统,提出了基于VxWorks的嵌入式实时PLC设计的方法与应用,利用VxWorks的开放性、模块化和可扩展性的系统结构特性以及多线程/多任务的系统环境来达到高实时要求的PLC控制,在保证实时性的同时,实现多点位、复杂功能的PLC系统控制目标。
1、传统PLC系统的结构
相比较传统的的基于通用工业PC的工业PLC,其数控系统嵌入式PLC硬件包括:工控机及其外围设备,基于ISA总线的开关量输入输出接口卡,光电隔离模块,继电器输出模块。其结构如图1所示。
工控机采用Windows等非实时操作系统,数控系统的人机界面、数控代码处理、轨迹划、参数管理以及PLC控制都通过工控机由软件来实现,不需要独立的NC控制器,减少了数控系统对硬件的依赖,有利于提高系统的开放性。I/O输入输出信息通过PC机I/O接口卡实现主机与伺服接口模块和I/O接口模块之间的信息交换,PC机I/O接口卡基于ISA或PCI的总线。虽然其相较最初的
单片机
的控制加入了工业PC来拓展其开放性,但是由于没有充分利用PC机系统资源,而开发和运行都采用的非实时多任务操作系统(如Windows,Linux)时,其设计没有考虑到实时环境的开发用途,其系统调用的效率不高,数控系统PLC控制不能满足一些高精度场合的实时性要求。
2、基于嵌入式系统的实时PLC系统结构
嵌入式实时PLC系统,一般由开发系统和实时运行系统两部分组成,是相互独立而又密不可分的两个系统,可以分别单独运行。开发系统基于PC机,建立在Windows操作系统平台之上,提供了PLC应用程序的编写及其编译调试环境。开发系统与实时运行系统的通讯一般通过RS232接口来实现。如果嵌入式操作系统提供网络服务,也可以通过以太网、Modbus或CAN总线进行通讯。应用程序编写完并编译调试无误后通过RS232或TCP/IP通信协议下载到嵌入式系统。实时运行系统则用于完成系统配置、输入信号处理、循环调用PLC程序及控制信号输出等操作,并且可以通过现场总线或TCP/IP通信协议与硬件层(I/O)实现通信。
为了更好地支持实时运行系统,嵌入式系统一般要引入操作系统,嵌入式操作系统(如WindowsCE,VxWorks等)为实时运行系统提供了启动代码、串行通讯接口、内存操作(malloc/free)、ANSI标准库、1ms的时钟滴答、调试接口等服务。如果实时运行系统整合了相应的功能,系统也可以不引入操作系统。我们所采用的嵌入式实时系统体系结构如图2所示,其实时操作系统采用VxWorks。
了其通信性能,实时能力大大提高,同时此结构具有完全开放性,高度兼容性,极佳的可扩展性,使得自动控制系统的设计不受硬件的限制,可以有效地提高PLC的运行速度和可靠性,并且支持多任务的控制策略。另外相应的从嵌入式处理的设计与和BSP改造方面,也做了相应的优化处理。
3、基于PPC的嵌入式处理器设计
VxWorks系统运行在基于PPC的MPC860处理器上,并作了一些有关改造以适应实时PLC的现场总线的通信要求。主要包括4个主要模块(如图3):PowerPC核心,系统接口单元(SIU),通信处理模块(CPM)和快速以太网控制器(FEC)。
系统接口单元(SIU)集成几乎所有32-bit处理器系统的常用功能。MPC860采用32位内部总线,可以支持8,16或32位的外设和存储器,同时SIU提供功耗管理、复位控制、PowerPC减法器、PowerPC时钟基准以及实时时钟等功能。其内存控制器可以控制多达8个存储体,同时只需通过很少的电路就可实现与DRAM,SRAM,Flash以及其它外围设备的无缝连接,同时DRAM接口支持8,16和32位的端口,DRAM控制器提供页模式下的突发传送访问;提供4个16位通用定时器或者2个32位定时器;同时系统集成单元集成了总线监控、软件看门狗、系统节电模式、时钟合成、实时时钟、复位控制以及支持IEEE1149.1调试方式JTAG等。
通信处理模块(CPM)具有更强大的通信处理能力,拥有独立的简单指令集通信处理器(RISC),能够完成低层次任务以及DMA控制,使得PowerPC内核能够空闲出来处理高层次的实时任务,从而降低了系统频率,减少功耗。
内嵌的FEC模块与IEEE802.3兼容,支持10-和100-Mbps连接。不仅完成了以太网协议中的MAC控制功能,并且使用了突发传送DMA,从而减少了系统总线的负荷。而FEC内部接的收和发送FIFO通过将所有的冲突碰撞局部化到FEC内部而进一步减轻总线的负荷。FEC采用独立的发送缓存描述符和接收缓存描述符来完成具体的收发存取。可支持Modbus,CAN,EIP等现场总线的应用。
4、BSP的改造
BSP即BoardSupportPackage,通常指针对具体的硬件平台,用户所编写的启动代码和部分设备驱动程序的集合。BSP是一个VxWorks内核运行的基础。4.1BSP与VxWorks的层次关系在VxWorks中,将BSP简单描述成介于底层硬件环境和VxWorks之间的一个软件接口。它的主要功能是系统加电后初始化目标硬件,初始化OS,及提供部分硬件的驱动程序如时钟、中断、串口驱动等。其与内核、驱动程序及应用程序之间的关系如图4:
如图可见BSP为上层软件与底层硬件之间进行交互的桥梁,为上层提供统一接口。BSP中包括的驱动程序与具体的硬件相关,在移植到不同的硬件系统的时候,要修改相关的驱动。
4.2VxWorksBSP的特点
在众多的商用嵌入式实时操作系统中,VxWorks是使用极为广泛的一种操作系统,它实时性强,占用空间小,提供丰富的网络协议,有众多的调试手段。
VxWorks的BSP可以按功能分为两大部分。
1)目标系统的系统引导部分:主要是目标系统启动时的硬件初始化,在目标系统上电后开始执行,主要是配置处理器的工作状态,初始化系统的内存等,这部分的程序一般只在系统引导时执行,为操作系统运行提供硬件环境。
2)目标系统的设备驱动程序:主要是驱动目标系统配置的各种设备,包括字符型设备、块存储设备、网络设备等,这些设备驱动程序完成对硬件的配置,操作系统通过设备驱动程序来访问硬件,从而完成读取数据和外界的交互等。
在实际应用中,为了获得更好的稳定性和执行效率,许多设备驱动程序会直接和应用程序捆绑在一起,而不是由操作系统来管理。
4.3BSP的设计与修改
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
、总结与展望
嵌入式系统已经成为历史发展的必然,其极佳的可扩展性,对多种硬件的支持,同时能够提高PLC的运行速度和可靠性,并且支持多任务的控制策略,对PLC的性能有了很大的提高。新型的基于VxWorks的嵌入式实时PLC具有很高的性能价格比,具有市场竞争优势,有助于我国PLC企业发展本国市场,发展自主产业的PLC。
举报
回复
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
模电数电论坛
Protel,DXP,Altium论坛
外围器件论坛
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
产品品牌:永嘉微电/VINKA 产品型号:VKL44A 封装形式:TSSOP48 概述 VKL144是
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
产品品牌:永嘉微电/VINKA 产品型号:VKL128 封装形式:SSOP44 概述 VKL128是一
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
产品品牌:永嘉微电/VINKA 产品型号:VK2C23A/B 封装形式:LQFP64/48 概述 VK2C
高抗干扰液晶驱动/点阵式液晶显示IC/VK2C21
产品品牌:永嘉微电/VINKA 产品型号:VK2C21D 封装形式:SOP16 概述 VK2C21D是
I2C通信接口段码液晶驱动芯片VK2C21C SOP20
产品品牌:永嘉微电/VINKA 产品型号:VK2C21C 封装形式:SOP20 概述 VK2C21C是
更多
精华推荐
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
高抗干扰液晶驱动/点阵式液晶显示IC/VK2C21
I2C通信接口段码液晶驱动芯片VK2C21C SOP20
VK2C21B SOP24高抗干扰LCD液晶段码驱动芯片
低成本、高性能、带EEPROM了解一下
工控仪表/水电气表LCD驱动/抗干扰液晶段码
更多
社区学堂
VKL144A TSSOP48 点阵式液晶驱动芯片/
高抗干扰液晶显示驱动/省电液晶驱动IC/
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
产品品牌:永嘉微电/VINKA 产品型号:VKL44A 封装形式:TSSOP48 概述 VKL144是
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
产品品牌:永嘉微电/VINKA 产品型号:VKL128 封装形式:SSOP44 概述 VKL128是一
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
产品品牌:永嘉微电/VINKA 产品型号:VK2C23A/B 封装形式:LQFP64/48 概述 VK2C
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表