一种基于Canbus总线的系统通信调度算法

文档序号:7797680阅读:164来源:国知局
一种基于Canbus总线的系统通信调度算法
【专利摘要】本发明涉及系统通信调度算法领域,具体涉及一种基于Canbus总线的系统通信调度算法;本发明的具体方案如以下步骤:步骤a:子设备上电时给监控盒发送地址声明,监控盒上电时给子设备发送地址声明请求命令;步骤b:已上电的子设备在接受到监控盒发送的地址声明请求命令时,启动随机延时后需要回复其对应的地址声明。本发明通过上述步骤,解决了多台子设备间地址自动分配和地址冲突的问题、解决在Canbus总线上在线设备较多的情况下,对各节点设备的操作控制和运行状态监测不及时的问题;能使Canbus总线在线通讯节点较多时及时上报设备告警,并根据告警进行保护控制、实现Canbus总线在线设备上线和掉线有效检测、实现Canbus总线多个节点设?备显示控制。
【专利说明】—种基于Canbus总线的系统通信调度算法
[0001]
【技术领域】
[0002]本发明涉及系统通信调度算法领域,具体涉及一种基于Canbus总线的系统通信调度算法。
【背景技术】
[0003]目前游艇电源设备的监视和控制自动化程度不高,发电机、岸电、电池、舱底泵、船底漏水等各种电器设备的监控都分别有各自的控制显示面板,分别进行单独的控制和显示,通读或信息传送主要采用点对点的形式,即一台子设备连接一个远程控制显示面板,这些监控显示面板散布在游艇的操作台,降低了驾驶台的空间利用率,相互有关系的设备也不能连动控制,在子设备过多、游艇超过60英尺的情况下,往往会造成对设备资源和空间资源的不够,通过Canbus通讯总线把游艇上各设备连接起来,进行集中地显示和控制,极大的提高了游艇的自动化程度,也有效地提高了游艇的空间利用率,但这种方式,没有一种优良通讯调度算法,不可避免地会导致Canbus上的数据流量大,严重时可能会导致通信堵塞,对子设备的操作控制和监控数据更新不及时的现象;同时,由于挂在Canbus总线的在线子设备过多,对地址的分配及处理也会存在问题,最终会导致数据的混乱。

【发明内容】

[0004]本发明的目的在于克服以上所述的缺点,提供一种解决多台子设备间地址
自动分配和地址冲突的、解决在Canbus总线上在线设备较多的情况下,对各节点设备的操作控制和运行状态监测不及时、能使Canbus总线上在线通讯节点较多时及时上报设备告警信息,并根据告警信息进行保护控制、实现Canbus总线在线设备上线和掉线有效检测、实现Canbus总线多个节点设备显示控制的Canbus总线的通讯调度算法。
[0005]为实现上述目的,本发明的具体方案如下:基于Canbus总线的系统通信调度算法,包括以下步骤:
步骤a:子设备上电时给监控盒发送地址声明,监控盒上电时给子设备发送地址声明请求命令;
步骤b:已上电的子设备在接受到监控盒发送的地址声明请求命令时,启动随机延时后需要回复其对应的地址声明。
[0006]其中,当多个子设备之间产生地址冲突时,
执行如下步骤:
步骤一:当某台设备检测到地址冲突时,将自己的设备名字与对方的名字进行比较;步骤二:如果自己的名字小于对方的名字,则使用原地址发送一次地址声明;如果大于对方的名字,则使用备用地址进行地址声明;当备用地址使用完时,则会发送不能声明地址的消息,等待监控盒为自己分配地址;如收到监控盒为其分配的地址,则采用该地址发送一次地址声明;如一直未收到为其所分配的地址,则间隔一段时间循环不断地发送不能声明地址的消息。
[0007]其中,在监控盒请求数据,子设备上传数据消息的过程中,监控盒以固定时间Tl轮番切换需要请求数据的在线子设备,以固定时间T3向选中的子设备发送所需要的请求消息,所述T3〈T1 ;
如果在Tl时间内未收到选中设备返回的信息,则判定该设备掉线,并在在线设备表里面删掉该子设备;如果在Tl时间内收到选中设备返回的信息,则判定该设备在线;
其中,当监控盒进入某一子设备的监控界面时,监控盒以固定时间Τ2的时间间隔向该子设备发送数据请求消息,所述Τ2〈Τ3 ;
如果此时监控界面对应的子设备与监控盒程序所选中的子设备一致,监控盒则启用过滤机制停止对该子设备的数据请求转而切换到下一子设备,监控盒则继续以固定时间Τ2的时间间隔向该子设备进行数据请求。
[0008]其中,在进入某一子设备的监控界面后,用户可以通过界面上的按钮发送控制命令。
[0009]其中,当监控盒进入设备在线状态界面的时候,会以固定时间Τ5的时间间隔轮番的给标记为在线的设备发送对应的地址声明请求命令,以固定时间Τ6为周期进行循环;如果在Τ5时间内,某一子设备未回复相应的地址声明,则将其标注未掉线状态。
[0010]本发明的有益效果为:本发明通过上述步骤,解决了多台子设备间地址自动分配和地址冲突的问题、解决在Canbus总线上在线设备较多的情况下,对各节点设备的操作控制和运行状态监测不及时的问题;能使Canbus总线在线通讯节点较多时及时上报设备告警,并根据告警进行保护控制、实现Canbus总线在线设备上线和掉线有效检测、实现Canbus总线多个节点设备显示控制。
【专利附图】

【附图说明】
[0011]图1是本发明的监控盒与子设备声明地址的示意图;
图2是本发明在监控盒与上电子设备声明地址的示意图;
图3是本发明的多个子设备产生地址冲突时的处理机制流程图;
图4是本发明的多个子设备产生地址冲突时的示意图;
图5是本发明的监控盒请求数据与子设备上传数据消息的过程中的调度机制示意图; 图6是本发明的监控盒请求数据与子设备上传数据消息的过程中的调度机制示意图; 图7是本发明的监控盒进入设备在线状态界面后的调度机制示意图;
图8是本发明的监控盒认为子设备掉线,而子设备实际未掉线的情况时的调度机制图。
【具体实施方式】
[0012]下面结合附图和具体实施例对本发明作进一步详细的说明,并不是把本发明的实施范围局限于此;
如图1至图2所示,基于Canbus总线的系统通信调度算法,包括以下步骤:步骤a:子设备上电时给监控盒发送地址声明,监控盒上电时给子设备发送地址声明请求命令;步骤b:已上电的子设备在接受到监控盒发送的地址声明请求命令时,启动随机延时后需要回复其对应的地址声明;如此方法能有效的让每一个子设备顺利地接入到通信网络,方便实用。
[0013]如图3至图4所示,本实施例所述的基于Canbus总线的系统通信调度算法,当多个子设备之间在产生地址冲突时,
执行如下步骤:
步骤一:当某台设备检测到地址冲突时,将自己的设备名字与对方的名字进行比较;步骤二:如果自己的名字小于对方的名字,则使用原地址发送一次地址声明;如果大于对方的名字,则使用备用地址进行地址声明;当备用地址使用完时,则会发送不能声明地址的消息,等待监控盒为自己分配地址;如收到监控盒为其分配的地址,则采用该地址发送一次地址声明;如一直未收到为其所分配的地址,则间隔一段时间循环不断地发送不能声明地址的消息。如此方法则可以解决各子设备间地址因为冲突而发生错误的问题,大大提高了本发明的实用性。
[0014]如图5至图6所示,本实施例所述的基于Canbus总线的系统通信调度算法,在监控盒请求数据,子设备上传数据消息的过程中,监控盒以固定时间Tl轮番切换需要请求数据的在线子设备,以固定时间T3向选中的子设备发送所需要的请求消息,所述T3〈T1 ;
如果在Tl时间内未收到选中设备返回的信息,则判定该设备掉线,并在在线设备表里面删掉该子设备;如果在Tl时间内收到选中设备返回的信息,则判定该设备在线;
本实施例所述的基于Canbus总线的系统通信调度算法,当监控盒进入某一子设备的监控界面时,监控盒以固定时间Τ2的时间间隔向该子设备发送数据请求消息,所述Τ2〈Τ3 ;如果此时监控界面对应的子设备与监控盒程序所选中的子设备一致,监控盒则启用过滤机制停止对该子设备的数据请求转而切换到下一子设备,监控盒则继续以固定时间Τ2的时间间隔向该子设备进行数据请求。
[0015]在进入某一子设备的监控界面后,用户可以通过界面上的按钮发送控制命令。
[0016]如图7至图8所示,本实施例所述的基于Canbus总线的系统通信调度算法,其中,当监控盒进入设备在线状态界面的时候,会以固定时间Τ5的时间间隔轮番的给标记为在线的设备发送对应的地址声明请求命令,以固定时间Τ6为周期进行循环;如果在Τ5时间内,某一子设备未回复相应的地址声明,则将其标注未掉线状态。
[0017]当出现监控盒认为设备掉线,而设备实际未掉线的情况时,则采用图8所示的机制进行处理。图中显示,当子设备经过一段固定的时间而且一直未收到来至监控盒的消息时,则会主动发送一条地址声明来让监控盒响应。
[0018]本发明通过上述步骤,解决了多台子设备间地址自动分配和地址冲突的问题、解决在Canbus总线上在线设备较多的情况下,对各节点设备的操作控制和运行状态监测不及时的问题;能使Canbus总线上在线通讯节点较多时及时上报设备告警,并根据告警进行保护控制、实现Canbus总线在线设备上线和掉线有效检测、实现Canbus总线多个节点设备显示控制。
[0019]因此,经过以上所述几种机制的处理,能够有效解决目前CANBUS通信方式所遇到的多台子设备间因为地址冲突出现地址错误的问题以及由于通信总线上面数据过多导致无法通信的问题和监控盒对子设备掉线状态判定出现错误的问题。
[0020]以上所述仅是本发明的一个较佳实施例,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,包含在本发明专利申请的保护范围内。
【权利要求】
1.一种基于Canbus总线的系统通信调度算法,其特征在于:包括以下步骤: 步骤a:子设备上电时给监控盒发送地址声明,监控控盒上电时给子设备发送地址声明请求命令; 步骤b:已上电的子设备在接受到监控盒发送的地址声明请求命令时,启动随机延时后需要回复其对应的地址声明。
2.根据权利要求1所述的一种基于Canbus总线的系统通信调度算法,其特征在于:当多个子设备之间在产生地址冲突时, 执行如下步骤: 步骤一:当某台设备检测到地址冲突时,将自己的设备名字与对方的名字进行比较;步骤二:如果自己的名字小于对方的名字,则使用原地址发送一次地址声明;如果大于对方的名字,则使用备用地址进行地址声明;当备用地址使用完时,则会发送不能声明地址的消息,等待监控盒为自己分配地址;如收到监控盒为其分配的地址,则采用该地址发送一次地址声明;如一直未收到为其所分配的地址,则间隔一段时间循环不断地发送不能声明地址的消息。
3.根据权利要求1所述的一种基于Canbus总线的系统通信调度算法,其特征在于: 在监控盒请求数据,子设备上传数据消息的过程中,监控盒以固定时间Tl轮番切换需要请求数据的在线子设备,以固定时间T3向选中的子设备发送所需要的请求消息,所述T3〈T1 ; 如果在Tl时间内未收到选中设备返回的信息,则判定该设备掉线,并在在线设备表里面删掉该子设备;如果在Tl时间内收到选中设备返回的信息,则判定该设备在线; 根据权利要求3所述的一种基于Canbus总线的系统通信调度算法,其特征在于:当监控盒进入某一子设备的监控界面时,监控盒以固定时间Τ2的时间间隔向该子设备发送数据请求消息,所述Τ2〈Τ3; 如果此时监控界面对应的子设备与监控盒程序所选中的子设备一致,监控盒则启用过滤机制停止对该子设备的数据请求转而切换到下一子设备,监控盒则继续以固定时间Τ2的时间间隔向该子设备进行数据请求。
4.根据权利要求4所述的一种基于Canbus总线的系统通信调度算法,其特征在于:在进入某一子设备的监控界面后,用户可以通过界面上的按钮发送控制命令,控制命令发送的优先级明显高于普通命令,从而达到快速响应。
5.根据权利要求4所述的一种基于Canbus总线的系统通信调度算法,其特征在于: 当监控盒进入设备在线状态界面的时候,会以固定时间Τ5的时间间隔轮番的给标记为在线的设备发送对应的地址声明请求命令,以固定时间Τ6为周期进行循环;如果在Τ5时间内,某一子设备未回复相应的地址声明,则将其标注未掉线状态。
【文档编号】H04L12/40GK103825781SQ201410068441
【公开日】2014年5月28日 申请日期:2014年2月27日 优先权日:2014年2月27日
【发明者】陈健, 李富伟 申请人:全天自动化能源科技(东莞)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1