CN103825781B - 一种基于Canbus总线的***通信调度算法 - Google Patents
一种基于Canbus总线的***通信调度算法 Download PDFInfo
- Publication number
- CN103825781B CN103825781B CN201410068441.5A CN201410068441A CN103825781B CN 103825781 B CN103825781 B CN 103825781B CN 201410068441 A CN201410068441 A CN 201410068441A CN 103825781 B CN103825781 B CN 103825781B
- Authority
- CN
- China
- Prior art keywords
- address
- equipment
- sub
- monitoring box
- monitoring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Small-Scale Networks (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明涉及***通信调度算法领域,具体涉及一种基于Canbus总线的***通信调度算法;本发明的具体方案如以下步骤:步骤a:子设备上电时给监控盒发送地址声明,监控盒上电时给子设备发送地址声明请求命令;步骤b:已上电的子设备在接受到监控盒发送的地址声明请求命令时,启动随机延时后需要回复其对应的地址声明。本发明通过上述步骤,解决了多台子设备间地址自动分配和地址冲突的问题、解决在Canbus总线上在线设备较多的情况下,对各节点设备的操作控制和运行状态监测不及时的问题;能使Canbus总线在线通讯节点较多时及时上报设备告警,并根据告警进行保护控制、实现Canbus总线在线设备上线和掉线有效检测、实现Canbus总线多个节点设备显示控制。
Description
技术领域
本发明涉及***通信调度算法领域,具体涉及一种基于Canbus总线的***通信调度算法。
背景技术
目前游艇电源设备的监视和控制自动化程度不高,发电机、岸电、电池、舱底泵、船底漏水等各种电器设备的监控都分别有各自的控制显示面板,分别进行单独的控制和显示,通读或信息传送主要采用点对点的形式,即一台子设备连接一个远程控制显示面板,这些监控显示面板散布在游艇的操作台,降低了驾驶台的空间利用率,相互有关系的设备也不能连动控制,在子设备过多、游艇超过60英尺的情况下,往往会造成对设备资源和空间资源的不够,通过Canbus通讯总线把游艇上各设备连接起来,进行集中地显示和控制,极大的提高了游艇的自动化程度,也有效地提高了游艇的空间利用率,但这种方式,没有一种优良通讯调度算法,不可避免地会导致Canbus上的数据流量大,严重时可能会导致通信堵塞,对子设备的操作控制和监控数据更新不及时的现象;同时,由于挂在Canbus总线的在线子设备过多,对地址的分配及处理也会存在问题,最终会导致数据的混乱。
发明内容
本发明的目的在于克服以上所述的缺点,提供一种解决多台子设备间地址
自动分配和地址冲突的、解决在Canbus总线上在线设备较多的情况下,对各节点设备的操作控制和运行状态监测不及时、能使Canbus总线上在线通讯节点较多时及时上报设备告警信息,并根据告警信息进行保护控制、实现Canbus总线在线设备上线和掉线有效检测、实现Canbus总线多个节点设备显示控制的Canbus总线的通讯调度算法。
为实现上述目的,本发明的具体方案如下:基于Canbus总线的***通信调度算法,包括以下步骤:
步骤a:子设备上电时给监控盒发送地址声明,监控盒上电时给子设备发送地址声明请求命令;
步骤b:已上电的子设备在接受到监控盒发送的地址声明请求命令时,启动随机延时后需要回复其对应的地址声明。
其中,当多个子设备之间产生地址冲突时,
执行如下步骤:
步骤一:当某台设备检测到地址冲突时,将自己的设备名字与对方的名字进行比较;
步骤二:如果自己的名字小于对方的名字,则使用原地址发送一次地址声明;如果大于对方的名字,则使用备用地址进行地址声明;当备用地址使用完时,则会发送不能声明地址的消息,等待监控盒为自己分配地址;如收到监控盒为其分配的地址,则采用该地址发送一次地址声明;如一直未收到为其所分配的地址,则间隔一段时间循环不断地发送不能声明地址的消息。
其中,在监控盒请求数据,子设备上传数据消息的过程中,监控盒以固定时间T1轮番切换需要请求数据的在线子设备,以固定时间T3向选中的子设备发送所需要的请求消息,所述T3<T1;
如果在T1时间内未收到选中设备返回的信息,则判定该设备掉线,并在在线设备表里面删掉该子设备;如果在T1时间内收到选中设备返回的信息,则判定该设备在线;
其中,当监控盒进入某一子设备的监控界面时,监控盒以固定时间T2的时间间隔向该子设备发送数据请求消息,所述T2<T3;
如果此时监控界面对应的子设备与监控盒程序所选中的子设备一致,监控盒则启用过滤机制停止对该子设备的数据请求转而切换到下一子设备,监控盒则继续以固定时间T2的时间间隔向该子设备进行数据请求。
其中,在进入某一子设备的监控界面后,用户可以通过界面上的按钮发送控制命令。
其中,当监控盒进入设备在线状态界面的时候,会以固定时间T5的时间间隔轮番的给标记为在线的设备发送对应的地址声明请求命令,以固定时间T6为周期进行循环;如果在T5时间内,某一子设备未回复相应的地址声明,则将其标注未掉线状态。
本发明的有益效果为:本发明通过上述步骤,解决了多台子设备间地址自动分配和地址冲突的问题、解决在Canbus总线上在线设备较多的情况下,对各节点设备的操作控制和运行状态监测不及时的问题;能使Canbus总线在线通讯节点较多时及时上报设备告警,并根据告警进行保护控制、实现Canbus总线在线设备上线和掉线有效检测、实现Canbus总线多个节点设备显示控制。
附图说明
图1是本发明的监控盒与子设备声明地址的示意图;
图2是本发明在监控盒与上电子设备声明地址的示意图;
图3是本发明的多个子设备产生地址冲突时的处理机制流程图;
图4是本发明的多个子设备产生地址冲突时的示意图;
图5是本发明的监控盒请求数据与子设备上传数据消息的过程中的调度机制示意图;
图6是本发明的监控盒请求数据与子设备上传数据消息的过程中的调度机制示意图;
图7是本发明的监控盒进入设备在线状态界面后的调度机制示意图;
图8是本发明的监控盒认为子设备掉线,而子设备实际未掉线的情况时的调度机制图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细的说明,并不是把本发明的实施范围局限于此;
如图1至图2所示,基于Canbus总线的***通信调度算法,包括以下步骤:步骤a:子设备上电时给监控盒发送地址声明,监控盒上电时给子设备发送地址声明请求命令;步骤b:已上电的子设备在接受到监控盒发送的地址声明请求命令时,启动随机延时后需要回复其对应的地址声明;如此方法能有效的让每一个子设备顺利地接入到通信网络,方便实用。
如图3至图4所示,本实施例所述的基于Canbus总线的***通信调度算法,当多个子设备之间在产生地址冲突时,
执行如下步骤:
步骤一:当某台设备检测到地址冲突时,将自己的设备名字与对方的名字进行比较;
步骤二:如果自己的名字小于对方的名字,则使用原地址发送一次地址声明;如果大于对方的名字,则使用备用地址进行地址声明;当备用地址使用完时,则会发送不能声明地址的消息,等待监控盒为自己分配地址;如收到监控盒为其分配的地址,则采用该地址发送一次地址声明;如一直未收到为其所分配的地址,则间隔一段时间循环不断地发送不能声明地址的消息。如此方法则可以解决各子设备间地址因为冲突而发生错误的问题,大大提高了本发明的实用性。
如图5至图6所示,本实施例所述的基于Canbus总线的***通信调度算法,在监控盒请求数据,子设备上传数据消息的过程中,监控盒以固定时间T1轮番切换需要请求数据的在线子设备,以固定时间T3向选中的子设备发送所需要的请求消息,所述T3<T1;
如果在T1时间内未收到选中设备返回的信息,则判定该设备掉线,并在在线设备表里面删掉该子设备;如果在T1时间内收到选中设备返回的信息,则判定该设备在线;
本实施例所述的基于Canbus总线的***通信调度算法,当监控盒进入某一子设备的监控界面时,监控盒以固定时间T2的时间间隔向该子设备发送数据请求消息,所述T2<T3;
如果此时监控界面对应的子设备与监控盒程序所选中的子设备一致,监控盒则启用过滤机制停止对该子设备的数据请求转而切换到下一子设备,监控盒则继续以固定时间T2的时间间隔向该子设备进行数据请求。
在进入某一子设备的监控界面后,用户可以通过界面上的按钮发送控制命令。
如图7至图8所示,本实施例所述的基于Canbus总线的***通信调度算法,其中,当监控盒进入设备在线状态界面的时候,会以固定时间T5的时间间隔轮番的给标记为在线的设备发送对应的地址声明请求命令,以固定时间T6为周期进行循环;如果在T5时间内,某一子设备未回复相应的地址声明,则将其标注未掉线状态。
当出现监控盒认为设备掉线,而设备实际未掉线的情况时,则采用图8所示的机制进行处理。图中显示,当子设备经过一段固定的时间而且一直未收到来至监控盒的消息时,则会主动发送一条地址声明来让监控盒响应。
本发明通过上述步骤,解决了多台子设备间地址自动分配和地址冲突的问题、解决在Canbus总线上在线设备较多的情况下,对各节点设备的操作控制和运行状态监测不及时的问题;能使Canbus总线上在线通讯节点较多时及时上报设备告警,并根据告警进行保护控制、实现Canbus总线在线设备上线和掉线有效检测、实现Canbus总线多个节点设备显示控制。
因此,经过以上所述几种机制的处理,能够有效解决目前CANBUS通信方式所遇到的多台子设备间因为地址冲突出现地址错误的问题以及由于通信总线上面数据过多导致无法通信的问题和监控盒对子设备掉线状态判定出现错误的问题。
以上所述仅是本发明的一个较佳实施例,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,包含在本发明专利申请的保护范围内。
Claims (4)
1.一种基于Canbus总线的***通信调度算法,其特征在于:包括以下步骤:
步骤a:子设备上电时给监控盒发送地址声明,监控盒上电时给子设备发送地址声明请求命令;
步骤b:已上电的子设备在接受到监控盒发送的地址声明请求命令时,启动随机延时后需要回复其对应的地址声明;
当多个子设备之间在产生地址冲突时,
执行如下步骤:
步骤一:当某台设备检测到地址冲突时,将自己的设备名字与对方的名字进行比较;
步骤二:如果自己的名字小于对方的名字,则使用原地址发送一次地址声明;如果大于对方的名字,则使用备用地址进行地址声明;当备用地址使用完时,则会发送不能声明地址的消息,等待监控盒为自己分配地址;如收到监控盒为其分配的地址,则采用该地址发送一次地址声明;如一直未收到为其所分配的地址,则间隔一段时间循环不断地发送不能声明地址的消息。
2.根据权利要求1所述的一种基于Canbus总线的***通信调度算法,其特征在于:
在监控盒请求数据,子设备上传数据消息的过程中,监控盒以固定时间T1轮番切换需要请求数据的在线子设备,以固定时间T3向选中的子设备发送所需要的请求消息,所述T3<T1;
如果在T1时间内未收到选中设备返回的信息,则判定该设备掉线,并在在线设备表里面删掉该子设备;如果在T1时间内收到选中设备返回的信息,则判定该设备在线;
当监控盒进入某一子设备的监控界面时,监控盒以固定时间T2的时间间隔向该子设备发送数据请求消息,所述T2<T3;
如果此时监控界面对应的子设备与监控盒程序所选中的子设备一致,监控盒则启用过滤机制停止对该子设备的数据请求转而切换到下一子设备,监控盒则继续以固定时间T2的时间间隔向该子设备进行数据请求。
3.根据权利要求2所述的一种基于Canbus总线的***通信调度算法,其特征在于:在进入某一子设备的监控界面后,用户可以通过界面上的按钮发送控制命令,控制命令发送的优先级明显高于普通命令,从而达到快速响应。
4.根据权利要求3所述的一种基于Canbus总线的***通信调度算法,其特征在于:
当监控盒进入设备在线状态界面的时候,会以固定时间T5的时间间隔轮番的给标记为在线的设备发送对应的地址声明请求命令,以固定时间T6为周期进行循环;如果在T5时间内,某一子设备未回复相应的地址声明,则将其标注未掉线状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410068441.5A CN103825781B (zh) | 2014-02-27 | 2014-02-27 | 一种基于Canbus总线的***通信调度算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410068441.5A CN103825781B (zh) | 2014-02-27 | 2014-02-27 | 一种基于Canbus总线的***通信调度算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103825781A CN103825781A (zh) | 2014-05-28 |
CN103825781B true CN103825781B (zh) | 2017-02-22 |
Family
ID=50760626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410068441.5A Active CN103825781B (zh) | 2014-02-27 | 2014-02-27 | 一种基于Canbus总线的***通信调度算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103825781B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954214B (zh) * | 2015-06-24 | 2018-10-30 | 珠海格力电器股份有限公司 | 提高rs485通讯扩展性的方法和*** |
CN107835266B (zh) * | 2017-09-22 | 2020-10-13 | 北京机械设备研究所 | 一种为通信总线上相同节点自动分配地址的方法 |
CN114944967B (zh) * | 2021-02-09 | 2024-02-13 | 奥动新能源汽车科技有限公司 | 编码方法、***、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101167341A (zh) * | 2005-04-27 | 2008-04-23 | 菲尼克斯电气公司 | 对现场总线安全用户的地址分配 |
CN103119916A (zh) * | 2010-09-30 | 2013-05-22 | 罗伯特·博世有限公司 | 向同类总线用户自动分发地址的方法 |
CN103425590A (zh) * | 2012-05-16 | 2013-12-04 | 英飞凌科技股份有限公司 | 对连接到总线***的装置进行寻址的***和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001015385A2 (de) * | 1999-08-23 | 2001-03-01 | Pilz Gmbh & Co. | Verfahren zum konfigurieren eines sicheren busteilnehmers und sicheres steuerungssystem mit einem solchen |
-
2014
- 2014-02-27 CN CN201410068441.5A patent/CN103825781B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101167341A (zh) * | 2005-04-27 | 2008-04-23 | 菲尼克斯电气公司 | 对现场总线安全用户的地址分配 |
CN103119916A (zh) * | 2010-09-30 | 2013-05-22 | 罗伯特·博世有限公司 | 向同类总线用户自动分发地址的方法 |
CN103425590A (zh) * | 2012-05-16 | 2013-12-04 | 英飞凌科技股份有限公司 | 对连接到总线***的装置进行寻址的***和方法 |
Non-Patent Citations (1)
Title |
---|
矿井下CAN总线节点地址的设计;郭继坤,将家正;《黑龙江科技学院学报》;20040331;第14卷(第2期);第117-120页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103825781A (zh) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104089371B (zh) | 多联机空调*** | |
CN105379044A (zh) | 菊花链式***中的功率协商 | |
CN103825781B (zh) | 一种基于Canbus总线的***通信调度算法 | |
JP6708318B1 (ja) | 蓄電池監視装置及び蓄電池監視方法 | |
CN106482080B (zh) | 一种继电器主从架构*** | |
CN104811339A (zh) | 一种基于无仲裁总线的智能组网方法 | |
CN103281261A (zh) | 一种以太网通信方法和*** | |
CN204043128U (zh) | 多联机空调*** | |
CN206671852U (zh) | 一种用于智能楼宇建设的集成监控平台 | |
CN109743365B (zh) | 监控输电线路的方法、装置及*** | |
CN105122736B (zh) | 用于主仲裁的方法和*** | |
CN104360665A (zh) | 开闭所的物联网综合监控*** | |
CN104852815B (zh) | 网络冗余的ipmi管理*** | |
CN104300681B (zh) | 一种智能变电站的站级设备节点状态监测方法 | |
CN107682906B (zh) | 机房内巡检数据通信方法及*** | |
CN206696678U (zh) | 楼宇监控装置及*** | |
CN105356592B (zh) | 一种不断电***的智能供电装置以及方法 | |
WO2020174712A1 (ja) | 蓄電池監視装置及び蓄電池監視方法 | |
CN203694490U (zh) | 基于物联网的消防信息管理*** | |
CN205812232U (zh) | 一种实时网络工程监控报警装置 | |
CN105785899A (zh) | 智能站用一体化监控*** | |
CN206250843U (zh) | 一种变电站综合自动化*** | |
CN205951998U (zh) | 用于铁路信号设备***的中央控制装置 | |
CN110691454A (zh) | 一种消防灯具轮询方法及应急灯具控制*** | |
CN203773670U (zh) | 机车火灾报警控制*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |