TTCAN在风力发电控制系统中的应用

时间:2014-03-10来源:网络

图5 冗余流程


而要实现冗余,can通道的故障判断尤为重要。由于风力发电控制系统中,cpu模块充当着控制器的核心,系统所有的采集输入都在这里汇集,经过控制流程后又由它产生控制输出。于是在can网络中,cpu模块同时充当着主节点的角色。所以系统设计在cpu模块中进行can总线故障判断处理。具体判断流程如下:cpu模块中预设定时器中断(暂设1ms),对每个从节点都做时间计数,当每次收到从节点传来的数据帧时,对相应节点的计数清零。也就是说,这个计数就是距上次正确收到该从节点传来数据的延时(单位为ms)。当程序判断这个计数超过一定值(暂定100ms),认为通信超时,该从节点的can通讯已经出错或中断,此时整个控制系统需要切换总线通道,激活canb,重新建立通讯,并进行报警。如下面流程图6所示。

图6 can故障判断流程图

  5 实验结果分析

  基于本方案所设计的这种通讯方式,当can节点发送数据时,在其待发送的数据帧最后补加上两个字节的crc校验码,区别于twincan模块自身所带的crc容错机制,补加的crc校验是为了防止can传输多帧数据过程中出现数据丢帧的现象。于是,cpu模块每次都将接收完成的数据进行crc判断,以此验证收到的该帧数据是否出错。cpu模块程序设计使其对它收到的每个从节点传来的数据帧进行一个计数,每正确收到1帧,计数加1。设查询时刻为t,can通讯周期为t,则t时刻计数值cnt=t/t。以通讯周期20ms为例,每隔1秒钟,cpu模块应收到的每个从节点所传来的数据帧数cnt=50,即为32h,于是,我们每隔1秒钟将这些计数通过串口发出来,就可以监视这些计数,以此验证ttcan通讯周期长度,以及can总线切换机制。具体数据参见附表。
  附表 监视结果表

  附表中为20ms通讯周期下,系统上电运行10min的一个情况,据表分析,系统上电时,延时1秒钟开始can通讯,正常情况下,每秒钟包含50个通讯周期,故应正常收发数据50帧,t时刻计数值则刚好满足cnt=(t-1)*50,相邻两秒之间计数基本相差32h。但偶尔会出现前后两秒相差31h的情况,这种情况出现的原因则是因为在该发送时刻,该节点该次数据暂未接收完成所致。

  系统上电1min后,尝试切断总线上id号为1的节点,会发现该节点计数相对其他正常节点少5,则分析推断该节点can通讯停顿了100ms后又重新建立,而此刻,系统已经完成can通道切换,转用canb运行。

6 结束语

  实验效果表明,基于冗余ttcan的模块化风力发电控制系统各模块间的通信总线,相对于过去常用的查询返回can通信方式,更具效率且更为可靠。它的应用,对于提高整个控制系统的可靠性和实时性极具意义。

1 2 3

关键词: TTCAN 风力发电 控制系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版