基于VxWorks的MB系列智能可编程控制器设计

发布者:见贤思奇异果最新更新时间:2010-01-15 来源: plc编程开发关键字:PLC  VxWorks  操作系统  开发环境  任务  通信 手机看文章 扫描二维码
随时随地手机看文章

  1 引言

  可编程控制器在PLC长期的使用过程中也逐渐暴露出了诸如开出回路简单;通信扩展能力差;梯形图语言编程烦琐;调试不够方便等技术局限。伴随着计算机技术、信息技术及工业控制技术的飞速发展,对PLC的发展提出了更高要求,主要体现在:需要更高功能、更快速度、更大容量的PLC产品,以完成大型的控制项目和实现网络化及更强的通讯能力;要求控制更加可靠,性能更加稳定;要求提供多样化的更方便的编程语言等。

  为此,南京南瑞自动控制有限公司研制出新一代MB系列智能可编程控制器,它继承了传统PLC的优点,又弥补了传统PLC的技术薄弱环节,是对传统PLC功能的极大提升。该产品集智能、可靠、开放、灵活于一身,适合多种复杂控制领域的应用。

  2 MB系列智能可编程控制器设计

  2.1 MB系列智能可编程控制器结构

  MB系列智能可编程控制器采用LAN/FieldBus系统体系结构,提供标准的以太网接口完成与上位机系统的通信。主控模件与智能I/O模件之间采用现场总线CAN作为内部总线及扩展总线,现场总线特有的高可靠性和对现场环境的适应能力,使得MB系列智能可编程控制器系统配置的灵活性和可靠性大大提高。图1为双主控热备冗余模式下的体系结构。

图1 MB系列智能可编程控制器体系结构

  在Intel x86硬件平台上,应用WindRiver公司的Tornado集成开发环境,实现基于VxWorks的可编程控制器。

  2.2 MB系列智能可编程控制器特点

  (1) 高性能的主控模件:高档的软硬件配置使得主控模件具有强大的数据处理能力、运算能力以及通讯处理能力;

  (2) 开放的标准的以太网通信接口:对外提供10/100M以太网接口,支持Modbus/TCP协议,可与上位机及各种监控软件互连;

  (3) 先进的现场总线网络:采用现场总线CAN网,具有通讯速率快、抗干扰能力强、成本低、结构简单、扩展灵活、实时性好等特点,为系统扩展及远程控制提供了方便;

  (4) 强大的串口通讯功能:提供了串口通讯模件,可自由配置,可方便地与其他智能设备通讯;

  (5) 高可靠的热备冗余方案:支持双CPU、双以太网、双电源的热备冗余方案,自动实时备份数据;

  (6) MB系列不同型号PLC之间方便灵活的互连:可实现不同PLC之间的无缝连接,无需任何扩展模件,节省系统成本;

  (7) 全智能I/O设计和一系列安全性、可靠性设计为系统的安全可靠运行提供了保障:开关量输入模件的光电隔离和软件滤波功能;开关量输出模件的反读、校核及执行继电器的联合控制确保在任何情况下不会发生误动;温度量输入模件先进的每路独立横流源设计大大提高了采集速度和抗干扰性;模拟量输入模件飞度电容的设计方法保证了内部电路和外界干扰的绝对隔离,大大提高了采集精度,最大限度地降低了模拟量漂移;

  (8) 界面友好、使用简单的编程软件

  灵活的梯形图编程语言及更多更丰富的梯形功能模块;全汉化的梯形图设计大大提高了梯形图程序的可读性;直观的可视化流程图编程语言,使复杂控制流程的实现变得非常简单;模块化程序结构,程序之间可相互调用;支持远程编程和调试;

  (9) 直接的GPS同步时钟接口

  直接提供GPS同步时钟接口,无需编程及设置,硬件对时可达模件级,SOE事件信息更加精确、可靠;

  (10) 方便实用的现地人机接口

  提供了与触摸屏的串行通讯接口,支持Modbus通讯协议,可与多种触摸屏直接连接,无需增加辅助设备,也无需编写通讯驱动程序。

  2.3 操作系统和开发环境

  为保证软件的可靠性和发挥装置的实时性能,项目采用了国际上最广泛使用的32位实时操作系统VxWorks。VxWorks是专门为嵌入式微处理器而设计的模块化、高性能、实时的操作系统。VxWorks是目前世界上用户数量最大的实时操作系统,具有丰富的应用软件支持、良好的技术服务、可伸缩性、可裁减性和可靠的系统稳定性。VxWorks的开放式结构和对工业标准的支持使开发者只需做最少的工作即可设计有效的适合于不同用户要求的实时操作系统。

  VxWorks的开发环境是WindRiver(风河)公司提供的Tornado。Tornado采用主机-目标机开发方式,主机系统采用运行Windows2000/NT的工作站或PC,VxWorks则运行在x86等目标处理器上。Tornado提供了友好的可视化开发界面、交叉编译环境、源码级调试工具、目标机命令解释器和目标机状态监视器等多种应用工具,为应用软件开发提供了一个高效而可靠的平台。

  3 关键技术

  MB系列智能可编程控制器的软件设计,关键是软件实时性的保证,其中包括任务的划分、任务间通信机制的选择、中断处理程序、网络通信程序和串行口通信程序的编写等关键技术。

  3.1 任务划分

  嵌入式实时系统中,任务的合理划分对系统的实时性至关重要。进行任务划分时,首先要分析数据流程图中数据的转换,确定哪些数据转换可以并行执行,哪些必须顺序执行。决定应用系统任务划分的最主要的因素是系统所实现的功能之间的异步关系,具体可以从I/O功能和系统内部功能两个方面来考虑。

  VxWorks的实时内核Wind默认采用了基于任务优先级的抢占式调度算法,同时,也支持轮转调度算法。Wind内核有256个优先级,编号0~255,优先级0最高,255最低。任务的创建使用taskSpawn()函数来实现。

  MBPLC根据功能和优先级划分为以下若干任务:

  (1) 主任务:主任务负责硬件初始化、数据库初始化、梯形初始化、流程初始化、网络初始化等工作,并根据数据库的定义创建相应的任务;

  (2) CAN1任务:CAN1任务主要完成CAN1网驱动、与I/O模件交换信文等功能,它既可以向I/O模件下发加载、设值、设时、查询等信文,又能接收I/O模件上送的测值、事件等信文,并对数据库进行相应的处理;

  (3) 以太网任务:以太网任务主要完成以太网驱动、信文收发等功能,实现PLC与上位机的数据和控制命令的传递,支持标准MODBUS/TCP协议;

  (4) CAN2任务:CAN2任务主要完成CAN2网驱动、与外部设备(如通讯装置、保护装置、励磁装置、调速器等等)的信息和控制命令的传递功能。只要外部设备支持CAN接口,就很容易接入PLC中;

  (5) 流程任务:流程任务提供了独特的顺序控制流程执行方法,将MBPro编程软件产生的汇编代码进行执行,通过访问数据库得到数据,描述一定的判断和闭锁条件,产生相应的动作,并将运算结果写至数据库中,同时还可将实时执行的各种信息反馈到调试机,以便监视流程的执行情况。流程图是顺序执行的,适于顺控操作,如机组正常开停机控制、紧急停机控制等;

  (6) 梯形任务:梯形任务提供了梯形图执行方法,将MBPro编程软件产生的汇编代码进行执行,通过访问数据库得到数据,实现一定的判断和闭锁条件,产生相应的动作,并将运算结果写至数据库中,同时还可将实时执行的各种信息反馈到调试机,以便监视梯形的执行情况。梯形图是循环扫描的,适于逻辑控制及状态控制,可用于主程序、通讯、数据处理、控制启动,如机组状态判断等;

  (7) 调节任务:调节任务负责对机组有功、无功进行PID闭环调节,可进行负荷增减、调节投退、调节条件限制、调节增减限制、调节超时判断、调节速度限制等;

  (8) 时钟任务:时钟任务管理PLC时钟,处理分同步信号,并定时进行一些硬件操作,如点运行灯;

  (9) 自检任务:自检任务自动诊断各类任务、设备的运行情况并进行报警。当PLC因某种干扰或硬件故障等原因发生运行紊乱或死机时,Watchdog能产生自恢复信号,使PLC自动重新恢复运行;

  (10) 调试任务:调试任务通过以太网与调试机通讯,负责与编程软件MBPro交换信息,包括上送实时数据、SOE事件、流程报警信息等,并可修改数据库、梯形图及流程图,进行对时、复位、主从切换等操作;

  (11) 双机任务:双机任务实现主从机的自动、手动切换,并能通过内部高速网备份对侧重要数据。当主机的某些重要设备或任务出现故障时,从机能自动升为主机;

  (12) 显示任务:显示任务通过串口与智能型液晶显示触摸屏通讯,完成当地数据显示和操作功能,包括显示测点信息、事故一览表、光字、模件状态等,并能发出控制命令、设置定值、整定参数等;

  (13) 串口任务:串口任务完成与外部设备通讯功能,实现与外部设备的数据和命令的交换,如GPS、温度巡检装置、交流采集装置等等。支持Modbus标准规约,必要时可根据需要编程实现特殊规约。

  3.2 任务间通信

  任务间通信机制是多任务间相互同步和通信,以协调各自活动的主要手段。VxWorks提供的任务间通信手段按其速度由快到慢依次是信号量、消息队列、管道和套接字。常用的通信机制是信号量和消息队列,套接字(Socket)用于网络编程。

  (1) 信号量

  信号量是实现任务互斥、同步操作的主要机制,VxWorks提供的信号量经过了高度优化,在所有任务间通信机制中,速度最快。对于互斥,信号量可以上锁对共享资源的访问,并且比禁止中断或禁止抢占提供更精确的互斥粒度。对于同步,信号量可以协调外部事件与任务的执行。

  MBPLC使用二进制信号量来解决多个任务读写数据的互斥问题,使用计数器信号量来解决定时器计数问题;

  (2) 消息队列

  消息队列是VxWorks提供的单CPU中任务间通信的主要机制。消息队列允许以FIFO或基于优先级方式排队消息,消息的数目可变,消息的长度可变。任何任务都可以向消息队列发送消息,也可以从消息队列接收消息。多个任务允许从一个消息队列收发消息。但是,两个任务间的双向通信通常需要两个消息队列,各自用于一个方向。

  MBPLC使用消息队列来实现任务间的数据交换。首先调用msgQCreate()函数创建消息队列,再用msgQSend()和msgQReceive()函数发送和接受消息,最后调用msgQDelete()函数中止消息队列。

  3.3 中断处理程序

  中断处理程序是实时系统的重要组成部分。系统通过中断机制了解外部世界,并对外部事件作出响应。实时系统的反应取决于系统对于中断的响应速度和中断处理程序的处理速度。由于在很短的时间内,可能产生很多中断,高优先级的中断将阻塞低优先级的中断,因此,必须使中断处理程序的处理时间最短。

  MBPLC的中断包括秒中断、分同步中断、CAN网中断以及BSP级的以太网中断、硬盘中断等等。下面以秒中断(中断级别为5)为例说明中断的使用方法:

  ntConnect(INUM_TO_IVEC(INT_VEC_GET(5)), SECISR, 0);

  sysIntEnablePIC(5);

  这两个函数用于将中断处理程序SECISR()与秒中断相关联,存放于中断向量表的对应表项中,当秒中断事件出现时,VxWorks内核将调用中断处理程序。这时可利用中断处理程序释放一个信号量(通过semGive()函数),通过该信号量驱动相应的数据处理模块(通过sem- Take()函数),从而实现实时操作。

  此外,我们还使用intLock()函数和intUnlock()函数来设置中断屏蔽,用以保证受保护的代码在执行过程中不受中断的干扰。

  3.4 网络通信

  网络通信一般可通过套接口(socket)实现。Vx- Works提供了标准的BSD socket调用,具有两种类型:Stream socket(全双工流类型)、Datagram socket(数据报类型)。前者支持TCP协议,后者支持UDP协议。任何一个任务都可以打开一或多个socket,其它任务的socket可与之连接。

  客户端程序首先调用socket()函数产生用于与各分系统连接的套接字,然后初始化一个套接口结构体,为其赋上服务端的IP地址和端口号,并将其作为函数connect()的参数,调用connect()函数主动去连接服务器端。连接成功后,用send()和recv()函数读写数据,直到全部数据都交换完,再用close()函数关闭套接口。

  服务器端也先用socket()函数建立套接口,再调用bind()函数将自身IP和端口号绑定,以保证客户端正确识别,然后用listen()函数指明已准备好接受来自客户端的连接,又用accpet()函数接受一个连接请求,接受后用send()和recv()函数来传输数据,直到全部数据都交换完,再用close()函数关闭套接口。为了确保服务器能够实时接收客户端的数据,当服务端与客户端建立连接之后,必须嵌入循环,利用recv()函数不断等待客户数据。同时客户端每次发送数据之后也应等待服务端回复,建立握手机制。

  3.5 串行口通信

  在VxWorks中,将I/O系统设计成为任何类型的设备,提供一个简单、统一、独立于设备的接口,任何对于串行口的操作仍然可以视为对一个文件的操作,而不必了解关于设备或程序驱动实现的细节。在使用串口之前利用open()打开相应串口,再用ioctl()设置波特率、数据位、停止位、奇偶校验等属性,然后依据串口打开时的读写标志,调用函数write()、read()对串口进行只读操作、只写操作或同时进行读写操作,最后用close()关闭串口。

  对于串口通信,仍然要关心数据接收的实时性。可采用中断方式,利用VxWorks提供的select()函数的事件触发机制,将读串口的任务阻塞使其一直等待数据,当有数据来到的时候该任务会立刻自动响应,提高系统的实时性。

  4 结束语

  嵌入式实时操作系统VxWorks及其开发环境的引入,大大简化了可编程控制器软件设计的复杂性,缩短了开发周期,提高了产品的实时性和可靠性。因此,VxWorks RTOS在MB系列智能可编程控制器中的应用是成功的。MB系列智能可编程控制器作为新一代的PLC产品,相信能在电力、化工、工业过程控制、城市及楼宇自动化等各种复杂控制领域发挥更大的优势,使这些行业的自动化水平得到更大的提高。

关键字:PLC  VxWorks  操作系统  开发环境  任务  通信 引用地址:基于VxWorks的MB系列智能可编程控制器设计

上一篇:基于嵌入式实时操作系统的现场控制系统
下一篇:基于嵌入式技术的温度测量系统设计

推荐阅读最新更新时间:2024-05-02 20:58

飞荣达布局5G,以1.53亿收购博纬通信51%股权
集微网消息,1月1日,飞荣达发布公告称,公司于2018年12月28日召开了第四届董事会第三次(临时)会议,审议通过了《关于现金收购广东博纬通信科技有限公司51%股权的议案》,同意公司以自有资金合计人民币15,300万元收购博纬通信51%的股权。本次收购完成后,飞荣达将持有博纬通信51%的股权,成为其控股股东。 据披露,根据沃克森(北京)国际资产评估有限公司出具的《资产评估报告》,截至评估基准日(2018年10月31日)广东博纬通信科技有限公司股东全部权益价值为28,511.81万元人民币。经双方协商确定,本次交易博纬通信51%的股权对应的股权转让价格参考前述资产评估结果确定为人民币15,300万元。 对此,博纬通信股东吴壁群、蔡亮
[手机便携]
PLC故障解决合集来了!
近年来,随着社会的发展,PLC可编程序控制器在工业生产中得到了广泛的使用,同时技术人员对其使用要求也在逐年增高,因此对系统正常稳定运行要求也越来越高。PLC产品本身的可靠性可以保证,但在应用中一些不正确的操作会造成一定的影响。今天,小编为大家整理了一些PLC日常应用中的小技巧,希望能对大家在日常使用PLC有所帮助。 接地问题 PLC系统接地要求比较严格,最好有独立的专用接地系统,还要注意与PLC有关的其他设备也要可靠接地。多个电路接地点连接在一起时,会产生意想不到的电流,导致逻辑错误或损坏电路。产生不同的接地电势的原因,通常是由于接地点在物理区域上被分隔的太远, 当相距很远的设备被通信电缆或传感器连接在一起的时候,电缆线和地之
[嵌入式]
苹果连续泄密:桌面操作系统可能改名为macOS
     BI中文站 6月9日报道 苹果向来以保密著称,而目前泄密正成为苹果的大敌。   过去多年有许多人猜测,苹果将放弃OS X的品牌。OS X是苹果在“前移动时代”的遗迹,而苹果随后开发的操作系统都有着不同的命名方式,即“product+OS”。   例如,Apple Watch运行watchOS,iPhone和iPad采用iOS,而Apple TV搭载的是tvOS。   OS X是所有Mac、MacBook和Mac Pro的默认操作系统。业内人士猜测,苹果将把这一系统的名称改为macOS。近期,我们正看到更多迹象,证实苹果即将这样做。   专注于苹果的博客MacRumors在关于App
[手机便携]
中国汽车工业协会发布车用操作系统开源计划
2月18日,中国汽车工业协会软件分会(以下简称:软件分会)发布中国车用操作系统开源计划(以下简称:开源计划)。据了解,普华基础软件作为开源计划核心发起单位之一,联合软件分会成员单位一汽、东风、长安、中汽创智、中电科32所、西部智联、地平线、芯驰、先进操作系统创新中心、电子科技大学等企业和高校,结成开源共建伙伴,实施开源计划。 智能网联汽车是新一代科技革命的重要载体,操作系统衔接了上层应用软件生态和底层硬件资源,是构建生态体系的关键。内核则是操作系统的核心,提供操作系统最基础的功能,保障系统的性能和稳定。中国汽车工业协会常务副会长付炳锋发布开源计划并表示,中国已成为智能汽车的最大市场之一,技术创新和产业生态发展日新月异,迫切需要
[汽车电子]
中国汽车工业协会发布车用<font color='red'>操作系统</font>开源计划
通信观察:物联网安全标准不可或缺
《物联网“十二五”发展规划》指出,我国物联网发展还存在一系列瓶颈和制约因素,其中关键标准的缺失就是一方面原因。在“十二五”期间,我国要在物联网关键标准研究与制定方面取得显著成效,初步形成创新驱动、应用牵引、协同发展、安全可控的物联网发展格局。 标准建立对于物联网发展至关重要。统一标准,不同的网络系统才能互联互通,促成大规模生产,降低单业务成本,从而惠利产业发展。而实际情况是,随着物联网技术的不断进步,市场也在日益扩大,各国不同的企业和机构均初步建立了各自的技术方案,但核心技术研发方面缺乏协同,方案间缺乏统一的规划和接口;企业业务以定制项目为主,缺乏可复制性;企业之间没有标准接口,无法共享资源。以智能交通和智能物流两个子产业为
[网络通信]
中国在太空建超级宽带网!飞机高铁将可快速上网
日前,中国首颗高通量通信卫星实践十三号在西昌卫星发射中心成功发射。实践十三号卫星采用频率更高的Ka频段通信,具有容量大、终端小、易装备等特点。标志着我国卫星通信进入高通量时代。 不受地面条件限制,无缝“动中通”成为现实 “我们都有这样的感受,在飞机、高铁、轮船等交通工具上的上网体验不好,飞机机舱内不能上网,高铁列车上手机信号时断时续,游轮驶离港口后就变成信息孤岛……这主要是由于地面移动网络无法实现全面覆盖,即使能覆盖、但跨越不同区域导致切换过于频繁,难以为高速交通工具提供服务。”实践十三号卫星工程总师刘方介绍,我国幅员辽阔、地形复杂,在一些地方,信息传递仍然存在盲区。实践十三号则不受地面条件限制,可以凭借其快捷组网、高速接
[网络通信]
中国在太空建超级宽带网!飞机高铁将可快速上网
核高基基金力挺平板电脑:CPU和操作系统成关键
  由于CPU和操作系统是平板电脑的两大关键环节,因此,平板电脑“核高基”在申报指南中特别强调指出,要实现国产CPU和操作系统在平板电脑类产品中的大批量应用。    高凌云   包括联想、新岸线等在内的多家国内厂商近年来都在积极申报平板电脑“核高基”项目。值得注意的是,不同于其他“核高基”重大专项课题,平板电脑批量应用课题的中央资金资助方式为后立项、后补助。此外,课题组有一个特别的要求,国内厂商平板电脑的操作系统(OS)和中央处理器(CPU)要拥有自主知识产权,这成为国内厂商胜出的关键。   力挺“中国芯”平板电脑   平板电脑是新蓝海,这已经成为全球共识。目前,包括联想、爱国者、华为、中兴等在内的国内厂商都推出了平板电脑
[嵌入式]
一个略显神秘的操作系统ocean曝光 或会带来设计革新
11月24日上午消息,近期在国外知名设计作品分享平台Dribbble上,一个命名为“Ocean D”的神秘账号晒出看一张以Hello world为主题的海报和一个music功能预览视频。海报和视频暗示一个名为“ocean”的操作系统即将诞生。   国内数码爆料人@数码闲聊站转发了Hello world海报和music功能预览视频的截图,但对于业界更关心的“ocean到底是由哪个手机厂商推出的?”这个问题,似乎目前还没有人能够给出确定的答案。   作为设计师的社交平台,Dribbble是很多UI设计师都访问的网站,专业设计师也会在Dribbble发布自己的设计作品进行分享。   11月22日,Hello world海报由一
[手机便携]
一个略显神秘的<font color='red'>操作系统</font>ocean曝光 或会带来设计革新
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved