ControlNet网络组态中RPI与NUT的关系
2012-11-25肖志斌
肖志斌
(北京中冶设备研究设计总院有限公司,北京 100029)
0 引言
邯钢电镀锌生产线原为邯钢冷轧厂彩图生产线,由北京中冶设备研究设计总院负责全线的改造工程,将原彩图工艺改造成电镀锌的工艺,冶金设备院自动化部负责全线的电气改造任务,包括控制系统设计、软件编程及调试。原彩图生产线控制系统为罗克韦尔的Contrologix 1756L55控制器,采用ControlNet网络,改造后的电镀锌生产线控制系统升级到Contrologix 1756L62,并增加一个控制器负责新工艺的控制。
1 邯钢电镀锌控制系统简述
全线控制系统被划分为四个控制机架,总共由10个1756L62控制器组成,入口段的机架配置3个1756L62控制器,工艺1段配置4个1756L62控制器,工艺2段配置1个1756L62控制器,出口段配置2个1756L62控制器,每个控制器承担不同的任务,各个机架通过ControlNet网络连接,控制器之间有大量的数据通讯,包括布尔量、整型、实型、字符串等数据。通过生产者/消费者通信模式,各个控制器之间、控制器与ControlNet网络上的节点之间能高速高效的传送各种数据类型的数据,硬件组态简单,无需进行网络编程。但是在硬件组态和ControlNet网络组态过程中,如何设置好RPI时间与NUT时间,是网络组态成功及网络数据传输速度、所传输数据流量大小的关键。
2 ControlNet网络的技术特点
ControlNet网络是一种高速且时间确定性的网络,它为对等通信提供实时控制和报文传送服务,又可作为为控制器和I/O设备之间的一条高速通信链路,它在同一链路上满足I/O数据实时互锁、端到端报文传输和编程/组态 ,且允许多个控制器同时并存,允许输入数据和端到端数据的多路组播。
ControlNet 最重要的功能是从一个节点到另一个节点传送时间确定性的控制信息(如IO状态信息),也叫做预定信息,它也传送其他信息(非时间确定性信息,如程序上传和下载),也叫非预定信息。ControlNet控制网采用时间限制存取算法控制网络上各个节点的网络刷新时间(Network Update Time,NUT),以实现网络上预定信息和非预定信息的正常传送。
2.1 NUT(网络刷新时间)
NUT时间是一种可重复的时基,可以在2~100ms范围内调整,其默认值为5ms。每一个NUT时间主要被划分为三个部分:预定信息、非预定信息和网络维护信息。在预定信息传送时间内,网络保证每一个节点有机会传送信息,时间确定性信息在预定信息传送时间内传送;在非预定信息传送时间内,控制网允许所有节点传送数据,直至分配给此部分的时间用完为止,传送非预定信息的时间分配取决于预定信息的通讯量,但是控制网能保证有至少一个节点有机会传送非预定信息;在网络维护时间内,控制网让地址最小的节点传送信息来保持与其他的节点同步,网络维护时间由控制网自动从NUT时间里扣除[1]。
2.2 RPI(请求数据包间隔时间)
RPI(Requested Packet Interval)时间是控制器的数据采样间隔时间,实际上也就是采样时间限幅值,控制器周期性的采样控制网络上节点的数据包,而实际采样周期(实际数据包间隔)称为API(Actual Packet Interval),API时间总是小于或等于RPI时间,它是由控制网根据所传送数据包的大小及传送速度来自动选取的。
3 NUT与RPI值的设定与选择
3.1 如何在软件中设定NUT与RPI
NUT设定可以通过运行RSNetWorx for ControlNet,在菜单Network /Properties/Network Paramerters中修改Network Update Time的值;RPI设定可以通过RSLogix5000编程软件,在I/O Configuration展开所有已经组态的模块,右键点击适配器选择Properties/Connection修改Requested Paket Interval值(RPI),而对于消费者标签的RPI值设定,打开Controller Tags后,从中选择消费者标签,在Properties/Connection修改Requested Paket Interval(RPI)值。
3.2 NUT与RPI值的选择及作用
在RSNetWorx for ControlNet软件中进行网络组态时,当操作完“Edits Enable”后选择save edits时,将会弹出一个对话框提示“if you want to optimize or possibly merge edits”。这就意味着预定的算法将处理所有的数据请求并为每一个节点设备定义起始NUT号码及API。当选择“optimize or merge”时,RSNC扫描每一个节点设备,读取设备上的所有数据请求,并为这些数据做好传送安排。算法为每一个设备计算的请求时间(API)必须小于或等于RPI,并且每一个API必须是NUT的2n倍,如果所有混合型的数据包不能在网络所限定的条件下严格按照时间排定好,RSNC将会提示出哪个限定条件没有被满足。
3.2.1 NUT与RPI值的选择
NUT是最小的采样间隔周期(最大的采样频率),当控制器采样离散变量时,必须使离散变量的特性与NUT一致。假设某个已经开启的离散变量的脉冲长度为20ms,如果设置的NUT大大超过20ms,那么控制器就可能丢失这个脉冲,因为采样的频率不能足以保证每次都能捕捉到这个脉冲;和NUT的定义一样,RPI同样也可以称为采样间隔周期,上述API时间总是小于或等于RPI,RPI限制着API值的大小,因此,RPI相当于最大的采样间隔周期或最小的采样频率。
RPI的选择类似于前述NUT值的选择,对于其他设备的RPI值的选取高于NUT值的基于这些数据的要求。假设采样一个水坝的液位数据,那就不需要设置5ms采样一次,因为液位不会变化的那么快,而如果要采样一条高速罐装生产线,那么RPI需要设置得尽可能的小。
NUT也限制着网络的整体数据流,ControlNet网以5Mbits/s或 625bits/ms的速度通讯,因此在一个NUT内能传送的最大字节是625乘以NUT值,假设一个NUT值为2ms,那么在一个NUT内最大能传送1250字节数。但是所有这些字节不都是用于控制信息的,在这1250字节中,由于网络维护也是需要125字节的流量。在一个NUT内,任何一个节点能传送的最大的预定通讯信息是521字节,在这521字节之外,44字节用于系统开销,系统开销减小了每一个节点的可用控制信息的余量。另外,ControlNet网还为非预定信息保留了最大521字节的流量,所以,在每一个NUT内能传送的最大的控制数据是:[625×NUT (in ms) – (125 + 521)]bytes。例如NUT为2ms时,仅有604字节(包含每一个节点的系统开销)能用于传送控制数据,所以不能在一个NUT内让两个节点同时传送他们最大的数据量,而如果NUT设置为100ms时,可以传送61854字节的控制数据,但是更高的NUT会降低你想采样数据的采样速度,这里面存在一个平衡,那就是所选择的NUT必须在数据流与采样要求之间保持一个平衡[2]。
3.2.2 NUT与RPI值的选择对网络的影响
使用ControlNet网进行上传/下载时、在线监控、使用HMI或MSG通讯指令时,需要为非预订任务安排足够的时间,RSNC显示了平均带宽使用率和峰值带宽使用率,并且列出了在每一秒中能用于非预定性的通信类型的非预定字节数。如果在非预订性信息的运行上有问题,必须检查带宽使用率,根据经验,带宽的使用率最好别超过50%~60%。尤其是HMI通信消费了大量的非预订带宽,如果遇到超时问题,那么可以考虑降低HMI数据的轮询率,也可以考虑将HMI数据通讯移到Ethernet,或者,当使用Logix系统时,再增加一个适配器使用另一个ControlNet连接专门用于控制HMI数据及其他的非预订信息的通讯。为了让非预订性带宽尽可能大,也可以尽可能高的选择RPI。
4 结束语
原系统中有大量的生产者/消费者通讯,改造后的邯钢电镀锌电气控制系统,由于新增了一个控制器,并且全线工艺发生了变化,因此新增的控制器与其他控制器之间新增大量的通讯数据,在组态ControlNet网络时,出现错误“Transmitted Scheduled Data Exceeds the Maximum Allowed for a Node”,这个错误的含义是“所传送的预定性数据超过了节点所容许的最大值”,根据上文分析,故障原因是因为RPI时间过小,系统请求数据过于频繁,或者是ControlNet网络刷新频率不足以满足系统请求数据的频率,因此增加RPI值或减半NUT值就可以解决这个问题。
[1] 黄向明.ControlNet网络技术在宝钢3群彩涂机组的应用与实践[J].2005.6.
[2] RsnetWorx for ControlNet Online Help