一种基于rs485总线的通信方法及装置的制造方法

文档序号:9844058阅读:511来源:国知局
一种基于rs485总线的通信方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别是涉及一种基于RS485总线的通信方法及装置。
【背景技术】
[0002]目前,在光伏电站现场智能管理系统项目中,挂在总线上的设备有接入模块和感知模块,接入模块这个设备的个数为一个,感知模块这个设备的个数为至少一个,即挂在总线上的设备有多个,感知模块和接入模块可通过RS485总线连接方式构成的现场网络以达到数据传输的目的。
[0003]RS485总线传输距离可达1200m,速率范围达几十至几百kb/s。总线上可以挂接多个节点,少则几十几,多则上百个,完全可以满足光伏电站现场智能管理系统应用需要。接口芯片丰富,易于采购。有很好的性价比。结构简单、易于安装,物理介质只须一对双绞线,分散在各处的现场感知模块设备可以直接“挂”在总线上。
[0004]但是,在该方式中,由于传输数据的物理介质是RS485总线,RS485总线本身没有自动仲裁的功能,感知模块和接入模块这些多台设备在RS485总线上同时发送数据会导致数据混乱,数据碰撞冲突,不能有效传输数据。同时如采用ID的方式区分系统内的设备,则每次有新的设备接入总线时,都需要安装人员手动配置添加新设备ID至ID管理表,人工手动操作,费时费力。

【发明内容】

[0005]本发明的目的是提供一种基于RS485总线的通信方法及装置,以实现避免光伏电站现场智能管理系统中多台设备同时发送数据,以解决数据碰撞冲突的问题,达到有效传输数据的目的。
[0006]为解决上述技术问题,本发明提供一种基于RS485总线的通信方法,包括:
[0007]接入模块向每一个感知模块发送携带有ID地址的询问数据;
[0008]所述感知模块接收所述询问数据,并判断所述询问数据携带的ID地址是否与所述感知模块的ID地址相同;若是,向所述接入模块发送应答信号和通信数据;
[0009]其中,所述接入模块为接入RS485总线的主设备,所述接入模块的个数为一个,所述感知模块为接入RS485总线的从设备,所述感知模块的个数为至少一个,主设备与从设备之间采用主从工作模式。
[0010]优选的,所述方法还包括:
[0011 ]当所述感知模块判断所述询问数据携带的ID地址与感知模块的ID地址不相同时,所述感知模块不向所述接入模块发送应答信号和通信数据。
[0012]优选的,所述方法还包括:若每一个感知模块均没有向所述接入模块发送应答信号和通信数据,所述接入模块将所述询问数据携带的ID地址指向的感知模块的老化次数计数加一。
[0013]优选的,所述接入模块将所述询问数据携带的ID地址指向的感知模块的老化次数计数加一之后,还包括:
[0014]当感知模块的老化次数达到预设次数,所述接入模块将所述感知模块的状态更改为未发现状态。
[0015]优选的,所述方法还包括:
[0016]所述接入模块自动识别新加入的感知模块,将新加入的感知模块的状态标记为已发现状态,并将新加入的感知模块的ID地址添加入ID管理表中。
[0017]本发明还提供一种基于RS485总线的通信装置,包括:
[0018]接入模块,用于向每一个感知模块发送携带有ID地址的询问数据;
[0019]感知模块,用于接收所述询问数据,并判断所述询问数据携带的ID地址是否与感知模块的ID地址相同;若是,向所述接入模块发送应答信号和通信数据;
[0020]其中,所述接入模块为接入RS485总线的主设备,所述接入模块的个数为一个,所述感知模块为接入RS485总线的从设备,所述感知模块的个数为至少一个,主设备与从设备之间采用主从工作模式。
[0021 ]优选的,所述感知模块还包括:
[0022]判断单元,用于判断所述询问数据携带的ID地址与感知模块的ID地址不相同时,不向所述接入模块发送应答信号和通信数据。
[0023]优选的,所述接入模块还包括:
[0024]计数单元,用于若每一个感知模块均没有向所述接入模块发送应答信号和通信数据,将所述询问数据携带的ID地址指向的感知模块的老化次数计数加一。
[0025]优选的,所述接入模块还包括:
[0026]状态单元,用于当感知模块的老化次数达到预设次数,将所述感知模块的状态更改为未发现状态。
[0027]优选的,所述接入模块还包括:
[0028]识别单元,用于自动识别新加入的感知模块,将新加入的感知模块的状态标记为已发现状态,并将新加入的感知模块的ID地址添加入ID管理表中。
[0029]本发明所提供的一种基于RS485总线的通信方法及装置,接入模块向每一个感知模块发送携带有ID地址的询问数据;感知模块接收所述询问数据,并判断所述询问数据携带的ID地址是否与感知模块的ID地址相同;若是,向所述接入模块发送应答信号和通信数据;其中,所述接入模块为接入RS485总线的主设备,所述接入模块的个数为一个,所述感知模块为接入RS485总线的从设备,所述感知模块的个数为至少一个,主设备与从设备之间采用主从工作模式。可见,只有与询问数据的ID地址相同的感知模块才能与接入模块进行通信,通过ID地址来选定能与接入模块进行通信的感知模块,这样一次选定一个感知模块进行通信,即每一时刻只允许一台设备在总线上进行通信,避免了多台设备同时发送数据,避免数据碰撞冲突,有效传输数据。
【附图说明】
[0030]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0031]图1为本发明所提供的一种基于RS485总线的通信方法的流程图;
[0032]图2为本发明所提供的一种基于RS485总线的通信装置的结构示意图。
【具体实施方式】
[0033]本发明的核心是提供一种基于RS485总线的通信方法及装置,以实现避免光伏电场现场智能管理系统中多台设备同时发送数据,以解决数据碰撞冲突的问题,达到有效传输数据的目的。
[0034]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]请参考图1,图1为本发明所提供的一种基于RS485总线的通信方法的流程图,该方法包括:
[0036]Sll:接入模块向每一个感知模块发送携带有ID地址的询问数据;
[0037]其中,接入模块为接入RS485总线的主设备,接入模块的个数为一个,感知模块为接入RS485总线的从设备,感知模块的个数为至少一个,主设备与从设备之间采用主从工作模式,即一个接入模块与每个感知模块之采用主从工作模式。需要说明的是,该方法应用于光伏电场现场智能管理系统,接入模块能够向每一个已被发现的感知模块发送携带有ID地址的询问数据。而对于新加入的还没有被发现的感知模块,接入模块不能向它发送询问数据。
[0038]S12:感知模块接收询问数据,并判断询问数据携带的ID地址是否与感知模块的ID地址相同;若是,向接入模块发送应答信号和通信数据;
[0039]其中,所述感知模块的ID地址为感知模块固有的ID地址,每一个感知模块的ID地址是不同的,每一个感知模块均接收到询问数据,并判断询问数据携带的ID地址是否与该感知模块的ID地址相同。接入模块的ID地址配置为O,每个感知模块配置唯一的ID地址,每个感知模块具有不同的ID地址。当感知模块判断询问数据携带的ID地址与感知模块的ID地址不相同时,感知模块不向接入模块发送应答信号和通信数据。这样只有自身ID地址与询问数据携带的ID地址相同的感知模块才能向接入模块发送通信数据,即与接入模块进行通信过程,自身ID地址与询问数据携带的ID地址不相同的感知模块不能向接入模块发送通信数据,即不能与接入模块进行通信过程,这样一条RS485总线上每一时刻只能允许一个感知模块和接入模块进行通信,不会出现多个感知模块同时与接入模块进行通信,感知模块和接入模块都是总线上的设备,在任意时刻,总线上只能由一个设备在发数据,可以是任意一个感知模块,也可以是接入模块。
[0040]具体的,步骤S12之后会回到Sll轮回进行。若每一个感知模块均没有向接入模块发送应答信号和通信数据,接入模块将询问数据携带的ID地址指向的感知模块的老化次数计数加一。这样每次遍历进行,当感知模块的老化次数达到预设次数,接入模块将感知模块的状态更改为未发现状态。
[0041 ]接入模块还可以自动识别新加入的感知模块,将新加入的感知模块的状态标记为已发现状态,将新加入的感知模块的ID地址添加入ID管理表中。
[0042]具体的,系统在任一时刻只能有一个节点处于发送状态,而其他RS485节点必须处于接收状态,RS2485总线以半双工方式进行通信。采用主-从工作模式,系统中有且只有一个接入模块为主节点,其余各现场感知模块都处于从属地位。总线的占用与分配完全由接入模块来主导,现场感知模块在允许发送数据时才可发送数据。接入模块以循环遍历的方式逐一扫描各现场感知模块并与其建立通信联系。
[0043]协议中的规定出地址字段,为待访问现场感知模块的地址。所有现场感知模块都将接收到这一协议串,然而只有与协议串中地址相同的现场感知模块才会对接收的协议进行分析、执行主机命令、修改某些现场参数,并将执行结果数据回传给主机。而其他现场感知模块则由于地址不符,会弃掉刚才收到的协议,不作任何回应。所以该方案简单易行,适用于系统内设备不多,一般不多于100台,实时性要求不高的系统适用。
[0044]查询任务中,感知模块通过地址模块判断协议是否是发给自己的,是则
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1