一种称重传感器CAN网络节点号自动分配方法与流程

文档序号:11156813阅读:966来源:国知局
一种称重传感器CAN网络节点号自动分配方法与制造工艺

本发明涉及一种称重传感器,尤其是一种称重传感器CAN网络节点号自动分配方法。



背景技术:

称重传感器广泛应用于工农业的计量、测试场合,而称重传感器CAN(Controller Area Network)网络是称重传感器和仪表之间的通讯通道。称重传感器CAN网络的主要功能包括:组网、称重数据传输、传感器状态信息传输、仪表指令传输等。

CAN是一种高效、稳健的现场总线,特别适用于小规模数据的快速、实时传输。CAN总线采用多主通讯,每个节点均可自主发送报文,也正因此CAN总线要求网络中的每个节点必须具有唯一的通讯标识符。在进行网络通讯前,必须合理地对网络中所有节点进行标识符分配。CAN 2.0b中定义了两种CAN数据帧类型:标准帧、扩展帧,前者标识符长度11位,而后者标识符长度29位。在某些应用场合,如高实时性、低协议开销的称重传感器CAN网络应用,标准帧更受欢迎。

本发明所提及到的节点号是一个纯数字的值,表征着具体的某个称重传感器节点,节点号可配合相关功能码或其他数值,组成CAN通讯的标识符,示例见表1。

表1 CAN标识符和节点号之间关系的示例

CAN总线的诞生最初是为了满足车辆ECU间的通讯,而在大多数车辆CAN网络应用中,每个通讯节点承担的角色都不同且不会重叠,所以每个通讯节点的标识符或节点号都是预先分配并固化在程序中的,运行时一般不允许更改。而在称重传感器的CAN网络中,功能相同、外观相同的多个称重传感器均由生产线批量生产;在实际使用时,称重传感器往往安装于户外,要求较高的防护等级,为了便于检修、识别或更换,节点号必须能够自动或手动分配,所以固化的节点号并不适用于称重传感器网络。

CAN网络节点号的设置,当前的主要方案有:

1)拨码开关或拨码盘:在称重传感器上安装拨码开关或拨码盘,网络运行前由用户手动逐个设置每个称重传感器节点的节点号;该方法设置过程直观、设置结果可见,但在网络规模较大时,手动设置的工作量大,且易出错;此外,该方法由于要在壳体上安装零部件,所以不适用于防护等级较高的场合;

2)软件一对一设置:通过软件逐一设置各个称重传感器的节点号;称重传感器节点号的设置基于软件和CAN网络,在整个网络投入运行前,利用上位机软件或其他工具逐一写入称重传感器的节点号;该方法因无需在称重传感器本体上安装额外的装置,所以易于实现高的防护等级;但在网络规模较大时,这种方式同方案1)一样,工作量大、易出错。

申请号为200810097355.1、名称为“关于控制局域网总线从节点设备的节点号自动分配方法”的中国专利公开了一种节点号分配方法,该方法采用从节点自主试错的方式,由从节点自主向网络申请节点号;该节点号分配方法,不需要主机的参与,主机不掌握从机各节点的节点号分配情况;该方法对于主从结构,仪表主导通讯的称重传感器网络来说是不适用的。



技术实现要素:

本发明所要解决的技术问题是针对上述现有技术存在的问题,提供一种效率高、正确率高的称重传感器CAN网络节点号自动分配方法。

本发明解决上述技术问题所采用的技术方案为:一种称重传感器CAN网络节点号自动分配方法,所述称重传感器CAN网络包括仪表和称重传感器节点,所述称重传感器节点包括多个传感器节点,其特征在于:包括如下步骤:

a)所述仪表发出“组网准备命令报文”MSGm1,并启动计时器;

b)所述传感器节点正确接收到MSGm1后,立即向称重传感器CAN网络中发出“组网准备响应报文”MSGs1;

c)若在规定时间T1内,所述仪表正确接收到来自传感器节点的MSGs1,则根据其中的称重传感器串号信息为各传感器节点分配节点号,并发出“节点号写入命令报文”MSGm2;否则,对规定时间T1外的MSGs1不做处理;

d)所述传感器节点正确接收到MSGm2后,则将其中的节点号保存到本地非易失性存储体内,并发出“节点号写入响应报文”MSGs2;

e)若在规定的时间T2内,所述仪表正确接收到来自所述传感器节点的MSGs2,则在达到规定时间T2时,所述仪表将称重传感器数量信息保存到本地非易失性存储体中,并发出“结束组网命令报文”MSGm3;否则,对规定时间T2外的MSGs2不做处理;

f)所述传感器节点正确接收到MSGm3,则树立节点号分配完成标志com_Flag,节点号分配完成。

优选的,所述传感器节点发出的所有报文,其报文标识符等于称重传感器自身的串号。

优选的,称重传感器的串号采用数字形式,取值范围0~229

优选的,在步骤c)中,称重传感器串号信息直接取自于传感器节点的报文MSGs1。

优选的,所述仪表发出的所有报文,其报文标识符是预定义的数值,取值范围0~229

优选的,所述仪表和传感器节点发出的报文均采用符合CAN2.0b的扩展帧。

优选的,节点号自动分配过程中的CAN网络通讯采用主从轮询方式,仪表作为主机,各传感器节点作为从机。

进一步的,规定时间T1、T2满足如下关系:T1≤T2。

与现有技术相比,本发明的优点在于:节点号分配方法中巧妙利用了称重传感器自身的串号、以及串号信息的唯一性,实施简便,无需在称重传感器外壳上增加额外零部件,也无需用户在使用前逐个手动改写节点号;采用该方法,将易于实现户外使用所要求的高防护等级,提高节点号的分配效率。

附图说明

图1是典型的称重传感器CAN网络拓扑结构。

图2是本发明较佳实施例的称重传感器CAN网络节点号自动分配流程图。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。

参见图1,称重传感器CAN网络30包括仪表10,称重传感器节点。在本实施例中,称重传感器节点包括传感器节点1(20)……传感器节点n-1(21)、传感器节点n(22)。在本发明所述的节点号自动分配方法中,节点号自动分配过程中的CAN网络通讯采用主从轮询方式,其中仪表10作为主机,负责指令下达;而所有传感器节点20、21、22则作为从机,只能在正确接收到主机指令后才能发出响应报文。

节点号自动分配流程是在用户操作仪表相应按键时触发的。节点号自动分配流程发起后,仪表10、传感器节点20、21、22便按照图2所示流程运行,其主要步骤包括:

a)仪表10发出“组网准备命令报文”MSGm1,并启动计时器T;

b)传感器节点20、21、22正确接收到MSGm1,立即向称重传感器CAN网络30中发出“组网准备响应报文”MSGs1;

c)若在规定时间T1(如为500ms)内,仪表10正确接收到MSGs1,则将其中的称重传感器串号信息(称重传感器串号信息直接取自报文MSGs1的标识符,串号信息采用数字形式,取值范围0~229)保存到本地非易失性存储体中;由于传感器串号信息的唯一性,因此可根据不同的传感器串号信息识别为不同的传感器节点,由此仪表10可以根据其接收到称重传感器20、21、22报文MSGs1的顺序,按照一定规则逐一对各个称重传感器进行节点号写入(分配节点号),也即发出“节点号写入命令报文”MSGm2;否则,对规定时间T1外的MSGs1不做处理;称重传感器的节点号将用于进一步的称重数据通信;

d)传感器节点20、21、22正确接收到MSGm2后,则将其中的节点号保存到本地非易失性存储体内,并发出“节点号写入响应报文”MSGs2;

e)若在规定时间T2(如为800ms)内,仪表10正确接收到来自传感器节点20、21、22的MSGs2,则在达到规定时间T2时,仪表10将称重传感器数量信息(与节点号相对应)保存到本地非易失性存储体中,并发出“结束组网命令报文”MSGm3;否则,对规定时间T2外的MSGs2不做处理;

f)传感器节点20、21、22正确接收到MSGm3,则树立节点号分配完成标志com_Flag,节点号分配完成,此后,即可用分配到的节点号参与后续的常规CAN通讯。

在步骤c)、e)中的规定时间T1、T2是相对于步骤a)所述发送“组网准备命令报文”MSGm1的时刻来说的,其具体数值取决于网络中称重传感器的数量、网络传输速率,并且T1≤T2。

节点号自动分配流程中,仪表10和称重传感器20、21、22报文的数据场携带具体命令和响应数据,具体格式见表2。

表2 本发明较佳实施例中所用到的CAN报文格式

节点号自动分配流程中,所有的通讯报文都是采用符合CAN2.0b的扩展帧,仪表10发出的所有报文,其报文标识符是预定义的数值,取值范围0~229,传感器节点发出的所有报文,其报文标识符等于称重传感器自身的串号,串号采用数字形式,取值范围0~229

上述步骤中仪表10所发报文采用一个数值为x的预定义标识符,而各传感器节点20、21、22所发报文均采用自身串号sn作为标识符。为减少不必要的CPU负荷,传感器节点设置只自接收来自仪表10的标识符为x的扩展帧报文。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1