CN102546340A - 一种小型can总线网络组网的方法 - Google Patents
一种小型can总线网络组网的方法 Download PDFInfo
- Publication number
- CN102546340A CN102546340A CN2012100342387A CN201210034238A CN102546340A CN 102546340 A CN102546340 A CN 102546340A CN 2012100342387 A CN2012100342387 A CN 2012100342387A CN 201210034238 A CN201210034238 A CN 201210034238A CN 102546340 A CN102546340 A CN 102546340A
- Authority
- CN
- China
- Prior art keywords
- node
- network
- nodes
- generates
- networking
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000006855 networking Effects 0.000 title claims abstract description 18
- 238000004891 communication Methods 0.000 abstract description 11
- 238000009826 distribution Methods 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种能自行分配ID,实现CAN网络通讯的小型CAN总线网络组网的方法,主要针对网络节点数目较少的场合。它的步骤为:第一步,CAN网络中各个节点的ID均为初始值ID0,选定其中一个为起始的目标节点,然后在CAN网络上广播发送生成ID的命令;第二步,其他节点在接收到生成ID的命令后,开始随机生成一个整数作为自己的ID,各个节点生成自己的ID后,把ID0作为目标地址,将自己新ID发送出去;第三步,ID0节点将接收到的ID号码加上ID0组成一个ID表;第四步,ID0节点将生成的ID表发送给各个其他节点,至此,CAN网络ID分配完成。
Description
技术领域
本发明涉及CAN总线技术领域,尤其涉及一种小型CAN总线网络组网的方法。
背景技术
CAN 即控制器局域网络,属于工业现场总线的范畴。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。
一般在组成CAN网络时,需要先定义好CAN网络中每个节点的ID,这样使得CAN网络的建立需要大量的准备时间,需要有专业人员设置好每个节点的ID。对于一般的CAN网络,用户无法使自行完成CAN网络中ID的分配。
虽然现有的CAN组网的方法中,也可由网络分配ID,但多采用一个主机来管理和分配地址,各个节点需要依次连接到网络,在节点接入过程中容易在网络中引入干扰,组网复杂度较高,操作较不方便。
发明内容
本发明的目的在于针对上述问题而设计了一种能自行分配ID,实现CAN网络通讯的小型CAN总线网络组网的方法,主要针对网络节点数目较少的场合,本方法无需主机分配地址,各个节点在组网时都已经接入CAN总线网络,不需要依次连接到网络,算法简单,操作简单,在现有硬件条件下只需加入简单代码就可以实现本方法。
为实现上述目的,本发明采用如下方法:
一种小型CAN总线网络组网的方法,它的步骤为:
第一步,CAN网络中各个节点的ID均为初始值ID0,选定其中一个为起始的目标节点,然后在CAN网络上广播发送生成ID的命令;由于节点初始值均为ID0,所以CAN通讯模块可以批量生产,装配简单,无需像传统组网那样,需要提前设定好每个节点的ID。由于各个节点的CAN通讯模块并无差异,所以起始的目标节点可以按用户的需要选定,无任何限制,而现有的能自行分配ID的网络中,都采用一个专门用来管理和分配ID的节点,这个节点是唯一确定的,在实际安装网络中很不方便。
第二步,其他节点在接收到生成ID的命令后,开始随机生成一个整数作为自己的ID,各个节点生成自己的ID后,把ID0作为目标地址,将自己新ID发送出去;由于节点初始ID都为ID0,所以目标节点发送的生成ID的命令,各个节点在同一时间均可接收到,然后利用随机数函数生成自己的ID。较之用固定的管理节点来对依次接入网络的节点进行ID的分配,可以节约大量的时间,且通讯稳定性好,不会因节点的依次接入而引入干扰;算法简单可靠,直接调用现有的随机数函数即可。
第三步,ID0节点将接收到的ID号码加上ID0组成一个ID表;起始的目标节点暂时对网络中的ID进行管理,可以快速的判断出组网是否成功。固定的管理节点需要时时刻刻的对总线进行监听,这样不仅浪费资源,而且还大量占用总线时间,降低有效通讯。与采用固定的管理节点不同,起始的目标节点只是被动的接收各个节点发送来的数据,全部为有益通讯,总线利用率高,而且只是暂时管理ID表。
第四步,ID0节点将生成的ID表发送给各个其他节点,至此CAN网络ID分配完成。将完整的ID表发送给其他各个节点,从而取消了起始的目标节点的差异性,使网络中各个节点的地位均相同,使用固定的管理节点的网络,这一管理节点始终处于管理者的地位,其他节点均受到管理。
所述第三步中,如果各个节点随机生成的ID号均不一样,则ID表中含有N个不相同的ID号,则表示ID分配成功,进入第四步。
所述第三步中,如果生成的ID表中出现相同的ID,或者ID表中ID的数目少于N,ID0节点则按照当前的ID表重发生成ID的命令,跳至第二步继续进行。
本发明是针对小型的CAN网络提出的组网方法,具体说是针对节点数50以内的CAN网络的组网方法。它先将CAN网络中各节点的地址一致化,然后从中选择一个节点作为起始的目标节点,随即向CAN网络发布ID生成信息,除目标节点外的其余各节点都会自动生成一个地址,并向目标节点发送自己的地址,为防止冲突出现,只有当所有节点发布的自己地址不同时,组网才算成功,只要有任何两个或多个节点的地址出现相同,则本次组网失败,将重新进行组网操作。
本发明的有益效果是:
1)方法实现简单,从而降低了开发成本,只需加入简单的代码就可以实现本方法,无需任何的硬件改动。 2)本方法中最初各个节点的初始ID相同,各个节点的CAN通讯部分软硬件完全相同,所以适合于产量化的生产节点通讯器件。 3)组网操作简单,可由用户自行完成,用户只要连接好线路,即可完成整个网络的ID分配,使用方便。
附图说明
图1为本发明CAN网络示意图。
具体实施方式
下面结合附图与实施例对本发明作详细说明。
图1中,
第一步,先按附图所示连接好各个节点,各个节点的ID初始值均为ID0,且使用的为10位二进制ID。
第二步,选取一节点,例如节点3,输入CAN网络中节点总数N,开启ID分配功能。
第三步,节点3以ID0作为目标地址,在CAN网络中发送生成ID的命令。
第四步,CAN网络中其他节点接收到生成ID的命令后,开始随机生成一个10位二进制的正整数作为自己的ID,并将此ID发送给节点3。例如,节点1在接收到生成ID的命令后,节点1会随机生成一个10位二进制数,将此二进制数作为自己的ID,并将此ID发送给节点3。
第五步,节点3会在一定时间里接收各个节点发来的ID号,并生成ID表。超过此时间后,节点3开始开始计算ID表中不相同ID的数目n,如果n等于N,则表示网络中各个节点的ID都不相同,ID分配成功,进入第六步。否则,节点3将根据当前的ID表,向其他各个节点重发生成ID的命令,转至第四步继续进行。
第六步,节点3将ID表发送给其他各个节点。
关于此方法在CAN网络中适用范围的计算。
假设采用10位二进制ID,则可用ID为1024个,我们以1000个可用ID计算。
(CAN网络中节点总数N)-1 | 第一次ID分配成功的概率 |
10 | 94.63% |
20 | 80.94% |
30 | 62.51% |
40 | 43.55% |
50 | 27.33% |
60 | 15.44% |
70 | 7.84% |
由表中可知,当采用10位二进制ID时,CAN网络节点总数在40个以内时,ID分配成功率较高,可以在短时间内完成ID分配。当节点总数大于50个时,ID分配成功率较低,要完成ID分配可能会需要较长时间。因此,此方法比较适用于CAN网络规模较小的场合,具体使用可参考上述表格。
Claims (3)
1.一种小型CAN总线网络组网的方法,其特征是,它的步骤为:
第一步,CAN网络中各个节点的ID均为初始值ID0,选定其中一个为起始的目标节点,然后在CAN网络上广播发送生成ID的命令;
第二步,其他节点在接收到生成ID的命令后,开始随机生成一个整数作为自己的ID,各个节点生成自己的ID后,把ID0作为目标地址,将自己新ID发送出去;
第三步,ID0节点将接收到的ID号码加上ID0组成一个ID表;
第四步,ID0节点将生成的ID表发送给各个其他节点,至此,CAN网络ID分配完成。
2.如权利要求1所述的小型CAN总线网络组网的方法,其特征是,所述第三步中,如果各个节点随机生成的ID号均不一样,则ID表中含有N个不相同的ID号,则表示ID分配成功,进入第四步。
3.如权利要求1所述的小型CAN总线网络组网的方法,其特征是,所述第三步中,如果生成的ID表中出现相同的ID,或者ID表中ID的数目少于N,ID0节点则按照当前的ID表重发生成ID的命令,跳至第二步继续进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210034238.7A CN102546340B (zh) | 2012-02-16 | 2012-02-16 | 一种小型can总线网络组网的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210034238.7A CN102546340B (zh) | 2012-02-16 | 2012-02-16 | 一种小型can总线网络组网的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546340A true CN102546340A (zh) | 2012-07-04 |
CN102546340B CN102546340B (zh) | 2014-02-19 |
Family
ID=46352341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210034238.7A Expired - Fee Related CN102546340B (zh) | 2012-02-16 | 2012-02-16 | 一种小型can总线网络组网的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546340B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830685A (zh) * | 2012-09-19 | 2012-12-19 | 三一矿机有限公司 | 一种电动轮自卸车及控制系统 |
CN104192654A (zh) * | 2014-07-29 | 2014-12-10 | 广州日滨科技发展有限公司 | 电梯召唤装置和电梯系统 |
CN105337826A (zh) * | 2014-06-20 | 2016-02-17 | 奇点新源国际技术开发(北京)有限公司 | 一种获取总线上挂载节点信息的方法和装置 |
CN105573174A (zh) * | 2016-02-03 | 2016-05-11 | 惠州市蓝微新源技术有限公司 | 一种电池管理系统从控单元标识信息自动分配方法 |
CN106657263A (zh) * | 2016-11-11 | 2017-05-10 | 宁波柯力传感科技股份有限公司 | 一种称重传感器can网络节点号自动分配方法 |
CN106817438A (zh) * | 2017-02-09 | 2017-06-09 | 浙江风向标科技有限公司 | 一种基于控制器局域网络的设备管理方法及装置 |
CN108123860A (zh) * | 2017-01-19 | 2018-06-05 | 山西智舒智能科技有限公司 | 基于can总线的智能家居系统节点设备的id自动分配及管理方法 |
CN109586978A (zh) * | 2018-12-28 | 2019-04-05 | 浙江中控研究院有限公司 | 总线拓扑网络自组网方法 |
CN109873676A (zh) * | 2017-12-05 | 2019-06-11 | 艾乐德电子(南京)有限公司 | 一种基于光纤的can总线异步通信方法及网络 |
CN110311824A (zh) * | 2019-07-25 | 2019-10-08 | 江苏小牛电动科技有限公司 | 一种电池管理系统can通讯动态组网方法 |
CN107786405B (zh) * | 2017-10-17 | 2020-10-27 | 南京博兰得电子科技有限公司 | 基于can总线的多节点自动组网方法 |
CN113347070A (zh) * | 2021-05-31 | 2021-09-03 | 上海汇解科技有限公司 | 一种智能楼宇现场总线自组网方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409516A (zh) * | 2001-09-28 | 2003-04-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种用于监控系统的动态组网方法 |
CN1988503A (zh) * | 2006-11-13 | 2007-06-27 | 西北工业大学 | 无线传感器网络路由方法 |
EP2104277A1 (fr) * | 2008-03-10 | 2009-09-23 | Delphi Technologies, Inc. | Détection de pannes et isolation d'un réseau CAN highspeed AVAL |
-
2012
- 2012-02-16 CN CN201210034238.7A patent/CN102546340B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409516A (zh) * | 2001-09-28 | 2003-04-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种用于监控系统的动态组网方法 |
CN1988503A (zh) * | 2006-11-13 | 2007-06-27 | 西北工业大学 | 无线传感器网络路由方法 |
EP2104277A1 (fr) * | 2008-03-10 | 2009-09-23 | Delphi Technologies, Inc. | Détection de pannes et isolation d'un réseau CAN highspeed AVAL |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830685A (zh) * | 2012-09-19 | 2012-12-19 | 三一矿机有限公司 | 一种电动轮自卸车及控制系统 |
CN102830685B (zh) * | 2012-09-19 | 2015-02-18 | 三一矿机有限公司 | 一种电动轮自卸车及控制系统 |
CN105337826A (zh) * | 2014-06-20 | 2016-02-17 | 奇点新源国际技术开发(北京)有限公司 | 一种获取总线上挂载节点信息的方法和装置 |
CN105337826B (zh) * | 2014-06-20 | 2019-05-10 | 奇点新源国际技术开发(北京)有限公司 | 一种获取总线上挂载节点信息的方法和装置 |
CN104192654A (zh) * | 2014-07-29 | 2014-12-10 | 广州日滨科技发展有限公司 | 电梯召唤装置和电梯系统 |
CN104192654B (zh) * | 2014-07-29 | 2016-03-23 | 广州日滨科技发展有限公司 | 电梯召唤装置和电梯系统 |
CN105573174A (zh) * | 2016-02-03 | 2016-05-11 | 惠州市蓝微新源技术有限公司 | 一种电池管理系统从控单元标识信息自动分配方法 |
CN106657263A (zh) * | 2016-11-11 | 2017-05-10 | 宁波柯力传感科技股份有限公司 | 一种称重传感器can网络节点号自动分配方法 |
CN108123860A (zh) * | 2017-01-19 | 2018-06-05 | 山西智舒智能科技有限公司 | 基于can总线的智能家居系统节点设备的id自动分配及管理方法 |
CN106817438A (zh) * | 2017-02-09 | 2017-06-09 | 浙江风向标科技有限公司 | 一种基于控制器局域网络的设备管理方法及装置 |
CN107786405B (zh) * | 2017-10-17 | 2020-10-27 | 南京博兰得电子科技有限公司 | 基于can总线的多节点自动组网方法 |
CN109873676A (zh) * | 2017-12-05 | 2019-06-11 | 艾乐德电子(南京)有限公司 | 一种基于光纤的can总线异步通信方法及网络 |
CN109873676B (zh) * | 2017-12-05 | 2020-07-03 | 艾乐德电子(南京)有限公司 | 一种基于光纤的can总线异步通信方法及网络 |
CN109586978A (zh) * | 2018-12-28 | 2019-04-05 | 浙江中控研究院有限公司 | 总线拓扑网络自组网方法 |
CN109586978B (zh) * | 2018-12-28 | 2022-03-18 | 浙江中控研究院有限公司 | 总线拓扑网络自组网方法 |
CN110311824A (zh) * | 2019-07-25 | 2019-10-08 | 江苏小牛电动科技有限公司 | 一种电池管理系统can通讯动态组网方法 |
CN110311824B (zh) * | 2019-07-25 | 2021-12-28 | 江苏小牛电动科技有限公司 | 一种电池管理系统can通讯动态组网方法 |
CN113347070A (zh) * | 2021-05-31 | 2021-09-03 | 上海汇解科技有限公司 | 一种智能楼宇现场总线自组网方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102546340B (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546340B (zh) | 一种小型can总线网络组网的方法 | |
CN107040284B (zh) | 一种提高数据传输的可靠性与稳定性的多址接入方法 | |
CN104901858A (zh) | 一种基于can总线的系统通信方法 | |
US20160142370A1 (en) | System and method for automatically addressing devices in a multi-drop master/slave network | |
CN110505319A (zh) | 一种rs485从设备地址自动分配方法及系统 | |
JP6463709B2 (ja) | 工業インターネットブロードバンドフィールドバスクロック同期の実現方法 | |
CN104158911A (zh) | 一种面向服务器集群的控制方法及系统 | |
CN108111337A (zh) | 分布式系统仲裁主节点的方法及设备 | |
WO2019196455A1 (zh) | 空调通讯系统、方法、存储介质、电子装置 | |
CN105915369A (zh) | 一种配置信息管理方法及装置 | |
WO2015106432A1 (en) | Forwarding messages in a communication network | |
CN104113435A (zh) | 生成标识的方法及装置 | |
CN107786405A (zh) | 基于can总线的多节点自动组网方法 | |
CN103581356A (zh) | 一种mac地址分配方法 | |
CN103108000B (zh) | 用于任务同步的方法和系统及系统中的主节点和工作节点 | |
CN111371659B (zh) | 一种rs485从设备地址自动分配的方法 | |
CN104809551A (zh) | 一种基于移动Agent客户端的跨系统工作流协同方法 | |
CN101667124A (zh) | 基于对象模型对监控设备进行配置的系统及其方法 | |
EP3503495A1 (en) | Method for accumulating and co-assembling uniform data | |
CN109617817A (zh) | 一种mlag组网的转发表项的生成方法及装置 | |
CN110740182A (zh) | 一种基于dds技术的动态数据通信方法及设备 | |
CN104394220B (zh) | 一种智能电网的升级方法和智能电网 | |
CN106302854A (zh) | 一种控制多DHCP Server动态分配主机地址的方法 | |
CN105007233B (zh) | 一种基于dhcp服务器集群负载分配地址的方法 | |
JP5180862B2 (ja) | ネットワークシステム |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140219 Termination date: 20150216 |
|
EXPY | Termination of patent right or utility model |