快捷搜索:

采用VxWorks嵌入式操作系统实现MB系列智能可编程

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产品,信托能在电力、化工、工业历程节制、城市及楼宇自动化等各类繁杂节制领域发挥更大年夜的上风,使这些行业的自动化水平获得更大年夜的前进。

责任编辑:gt

您可能还会对下面的文章感兴趣: