The invention relates to a method for communication on the bus the same node automatic address assignment comprises the following steps: step S1, set the global variable address assignment symbol, initialization of address assignment mark is not assigned to determine the node address, address assignment signs are not allocated, not do the steps S2, step S3; step S2, to determine the node address whether with the stored address conflict, step S3, otherwise executing step S5; step S3, assign the initial address of the node for the minimum address bus number 1; step S4, determine the node address whether with the stored address conflict, not executing S5 is the node address, +1, and once again step S4; step S5, address assignment mark to address has been assigned, and remain unchanged. The invention avoids the address redistribution when the device changes the CAN bus due to the node movement, and automatically replaces the duplicate address in time, and avoids the bus data error caused by the address repetition.
【技术实现步骤摘要】
一种为通信总线上相同节点自动分配地址的方法
本专利技术涉及自动变速箱换挡控制领域,尤其涉及一种为通信总线上相同节点自动分配地址的方法。
技术介绍
多个相同设备通过同一CAN总线相连,按一定周期定时发送报文。一个接入CAN总线的设备即为当前总线上的一个节点。本节点向总线发送的报文供其他节点应用。总线中的每个节点应有唯一地址。总线上各节点遵循同一通信协议规定各报文的格式、数据含义及发送周期,各节点发送的报文格式、数据含义、及发送周期相同。通信协议规定报文中的某些数据应为发送该报文的节点地址,各报文根据节点地址区分来自哪一个节点,因此在使用前,需要对各节点分配地址。传统的相同节点在同一CAN总线的地址分配方式为人为手工分配,需要对总线上每个节点的地址分别分配。其缺点为:1.节点更换CAN总线时,该节点在后接入CAN总线上的地址需要重新分配;2.增加人工成本;3.易发生人为误操作,出现地址冲突,导致CAN总线上报文错误;4.总线上节点地址出现冲突后不易发现,更改时需人为手工更改地址。
技术实现思路
鉴于上述的分析,本专利技术旨在提供一种为通信总线上相同节点自动分配地址的方法,用以解决现有技术中同一CAN总线上接有多个相同设备节点,不能自动分配本节点在总线上的地址等诸多技术问题。本专利技术的目的主要是通过以下技术方案实现的:在基于本专利技术的一个实施例中,提供了一种为通信总线上相同节点自动分配地址的方法,包括:步骤S1、设置全局变量地址分配标志,初始化地址分配标志为地址未分配,判断本节点地址分配标志是否未分配,否,执行步骤S2,是,执行步骤S3;步骤S2、判断本节点地址 ...
【技术保护点】
一种为通信总线上相同节点自动分配地址的方法,其特征在于,包括:步骤S1、设置全局变量地址分配标志,初始化地址分配标志为地址未分配,判断本节点地址分配标志是否未分配,否,执行步骤S2,是,执行步骤S3;步骤S2、判断本节点地址是否与已存储地址冲突,是,执行步骤S3,否执行步骤S5;步骤S3、为本节点分配初始地址为总线上的最小地址号“1”;步骤S4、判断本节点地址是否与已存储地址冲突,否,执行步骤S5,是,本节点地址+1,并再次执行步骤S4;步骤S5、地址分配标志改为地址已分配,并保持不变。
【技术特征摘要】
1.一种为通信总线上相同节点自动分配地址的方法,其特征在于,包括:步骤S1、设置全局变量地址分配标志,初始化地址分配标志为地址未分配,判断本节点地址分配标志是否未分配,否,执行步骤S2,是,执行步骤S3;步骤S2、判断本节点地址是否与已存储地址冲突,是,执行步骤S3,否执行步骤S5;步骤S3、为本节点分配初始地址为总线上的最小地址号“1”;步骤S4、判断本节点地址是否与已存储地址冲突,否,执行步骤S5,是,本节点地址+1,并再次执行步骤S4;步骤S5、地址分配标志改为地址已分配,并保持不变。2.如权利要求1所述的方法,其特征在于,还包括:报文接收并存储步骤。3.如权利要求1或2所述的方法,其特征在于,还包括:报文发送的步骤。4.如权利要求3所述的方法,其特征在于,步骤S5还包括:判断是否接收到总线上的报文,是,处理接收报文并解析报文地址,然后执行步骤S6,否,执行步骤S7;步骤S6、判断接收到的报文地址与已存储的报文地址是否相同,是,更新该存储空间...
【专利技术属性】
技术研发人员:杨润宇,徐晓彤,袁红升,
申请(专利权)人:北京机械设备研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。