一种串行设备通信地址的自动分配方法与流程

文档序号:19059727发布日期:2019-11-06 01:39阅读:651来源:国知局
一种串行设备通信地址的自动分配方法与流程

本发明涉及一种地址自动分配方法,具体涉及一种串行设备通信地址的自动分配方法。



背景技术:

在串联通讯系统的应用中,通常存在有一个具有通讯相关的主导权设备,以及复数个从属于主导权设备的终端设备,而在一般工业控制领域中也大多都是采用一主多从的通讯架构。在此架构下,串联通讯系统是由一个主设备、若干个从属设备组成,而主设备为了要与从设备间建立起良好的通讯,从设备的地址必须是唯一,若不然从设备的地址发生冲突,则会导致数据传输的失败。

而对于一主多从通讯架构下的串联通讯系统中,目前采取方法有四种:1)、各从机设置拨码开关设定地址;2)、通过键盘或人机界面设置各从机地址;3)、通过电脑串口软件逐一设置各从机地址;4)、通过从机查询总线的状态,不断等待空闲状态与主机通讯,如果有站号冲突则重新分配地址。

但是采用拨码开关,需要人工控制,容易造成通讯地址重复从而导致rs485总线瘫痪;2,拨码开关设置的通讯地址无法反映出rs485总线上设备处于rs485总线上的位置,给定位和排错造成麻烦;

而采用2与3的方式则耗费人工设置,不便于现场的操作;

采用4的方式则耗时严重,严重影响通讯效率及可靠性。

基于以上的不足,中国专利cn109428951a公开了一种串联通讯系统中的地址自动分配方法,其利用主机发送分配指令至尚未分配地址的从机,利用进入分配模式的从机自身的特征码去获取地址。

中国专利cn109756588a公开了一种rs485通讯的自动分配地址系统及方法,利用各个从机的所属的继电器,去保证主机与各个从机之间的通信断开,利用继电器去实现对各个从机与主机之间的通信连接,实现地址分配。

但是以上两种分配方法,均是利用了主机去发送分配指令,利用各个串联的从机之间的锁定,来实现各个从机的顺序接收分配指令,实现地址分配,其中涉及到从机与主机之间的双向信号传输的问题,其会导致地址分配响应速度延长,且过程较为复杂。



技术实现要素:

针对现有技术存在的不足,本发明的目的在于提供一种串行设备通信地址的自动分配方法。

为实现上述目的,本发明提供了如下技术方案:

一种串行设备通信地址的自动分配方法,包括基于网关和若干从设备组成的网络,若干从设备均设有地址识别输入引脚与地址识别输出引脚,且从设备的地址识别输出引脚依次与相邻的从设备的地址识别输入引脚通信连接,且最后一个从设备的地址识别输出引脚与网关通信连接,通信地址的自动分配方法包括以下步骤:

1)网关接收地址分配指令,并向从设备发送自动分配地址指令;

2)从设备接收到自动分配地址指令后,从设备将地址识别输出引脚拉高或拉低,判断自身地址识别输入引脚与地址识别输出引脚的电平是否一致,电平检测为不一致的从设备将自身的地址设定为首地址,并将当前从设备定义的地址发送至网关;

3)设定为首地址的从设备的地址识别输出引脚输出首地址数加1个的脉冲信号,并发送至相邻的从设备;

4)相邻的从设备通过判断地址识别输入引脚与地址识别输出引脚的电平是否一致,若一致则根据获取的脉冲信号定义自身的地址为首地址加1,并将当前从设备定义的地址发送至网关,并继续由当前从设备向下一个从设备发送当前地址数加1个脉冲的脉冲信号;

5)最后个从设备在地址定义完成之后,发送n+1个脉冲信号至网关,n为从设备的地址;

6)网关接收到该脉冲信号后,则表示从设备地址自动分配完成。

从设备接收到自动分配地址指令后,判断自身地址识别输入引脚与地址识别输出引脚的电平是否一致,若一致,则当前从设备将地址识别输入引脚配置为边沿触发或电平触发的外部中断模式,在外部中断模式中计算脉冲个数,将脉冲个数设为自身设备地址。

从设备设置完自身的设备地址后,延时一段时间,并向网关发送自身地址设置完毕的指令,然后在地址识别输出引脚输出地址数加1个脉冲给下一设备。

从设备第一次进入外部中断时,打开定时器开始计时,用于计算两个脉冲之间的时间间隔,其他从设备每次进入中断都将定时器的时间清零。

从设备判断脉冲结束的方法:当定时器的时间大于预设的时间后则认为脉冲已结束,当前定时器时间内接收脉冲个数即为当前设备的设备地址,脉冲个数由pwm波产生。

所述网关向从设备发送自动地址分配指令并打开定时器开始计时,当从设备设置完成自身地址设定后,向网关发送自身地址,当网关接收到所述从设备发送的自身地址,则将定时器清零。

当网关的定时器的时间大于预设的时间,则认为地址分配出错,此时网关会向云端发送一个报警信号。

当网关发送自动地址分配指令后,打开定时器开始计时,同时配置地址分配完成输入引脚为边沿触发或者电平触发的外部中断模式,当网关进入到外部中断模式时,则认为地址分配已完成,向从设备发送地址分配完成指令,使从设备退出自动地址分配模式并进入正常运行模式。

本发明的有益效果:实现了网关与下面的从设备在串口模式下自动分配地址的方法,提升了多个从设备地址分配的灵活性与便捷性。网关带有无线通讯模块,可以实现将从设备的相关信息通过网关上传到云平台进行数据管理,也可以实现远程控制功能。该方法的优点是多个从设备共用一个无线模块,节约了成本。

附图说明

图1为本发明的连接示意图。

图2为本发明的从设备的流程示意图。

图3为本发明的网关的流程示意图。

图4为本发明的网关的定时器清零的流程示意图。

图5为本发明的自动地址分配完成的流程示意图。

图6为本发明的从设备的定时器的流程示意图。

图7为本发明的从设备正常模式的响应流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明公开了一种串行设备通信地址的自动分配方法,其基于串行设备,该串行设备包括一网关与多个从设备,其中网关具有无线模块,无线模块包括wifi模块、蓝牙模块、4g模块、以太网等模块。

网关与从设备的连接方式包括rs485或232的方式连接。

从设备的地址识别输入引脚分别与另一个从设备的地址识别输出引脚相连,其中所有的从设备的地址识别输入引脚都下拉到地或者上拉电阻到vcc。

当从设备的地址识别输入引脚为下拉输入时,从设备接收到网关发出的自动地址分配指令后,将地址识别输入引脚置高。

当从设备的地址识别输入引脚为上拉输入时,从设备接收到网关发出的自动地址分配指令后,将地址识别输入引脚置低。

通信地址的自动分配方法如下:

1)网关接收地址分配指令,并向从设备发送自动分配地址指令;

从设备进入地址自动配置的模式,可以由网关上的地址配置按钮按下进入也可以由手机app或者其他远程方式控制。

2)从设备接收到自动分配地址指令后,从设备将地址识别输出引脚拉高或拉低,判断自身地址识别输入引脚与地址识别输出引脚的电平是否一致,电平检测为不一致的从设备将自身的地址设定为首地址,并将当前从设备定义的地址发送至网关;

从设备接收到指令后,会将地址识别输出引脚置高或者置低,然后判断自身地址识别输出引脚与地址识别输入引脚的电平是否一致;若否,则所述从设备将自身的设备地址设为1,并向网关发送自身地址设置完毕的指令。

3)设定为首地址的从设备的地址识别输出引脚输出首地址数加1个的脉冲信号,并发送至相邻的从设备;

延时一段时间后,在地址识别输出引脚输出2个脉冲给下一设备。

4)相邻的从设备通过判断地址识别输入引脚与地址识别输出引脚的电平是否一致,若一致则根据获取的脉冲信号定义自身的地址为首地址加1,并将当前从设备定义的地址发送至网关,并继续由当前从设备向下一个从设备发送当前地址数加1个脉冲的脉冲信号;

非首位的从设备,在接收到自动分配地址指令后,其自身地址识别输入引脚与地址识别输出引脚的电平为一致,将地址识别输入引脚配置为边沿或电平触发中断的模式,用于接收上一位的从设备发送的脉冲信号,同时当前从设备进入外部中断。

从设备第一次进入外部中断时,打开定时器开始计时,用于计算两个脉冲之间的时间间隔,其他从设备每次进入中断都将定时器的时间清零。

从设备判断脉冲结束的方法:当定时器的时间大于预设的时间后则认为脉冲已结束,当前定时器时间内接收脉冲个数即为当前设备的设备地址,脉冲个数由pwm波产生。

即在中断中累加脉冲个数,待脉冲数传输完毕,将脉冲个数设为自身设备地址,并向网关发送自身地址设置完毕的指令,然后在地址识别输出引脚输出地址数加1个脉冲给下一设备。

5)最后个从设备在地址定义完成之后,发送n+1个脉冲信号至网关,n为从设备的地址;

6)网关接收到该脉冲信号后,则表示从设备地址自动分配完成。

所述网关向从设备发送自动地址分配指令并打开定时器开始计时,当从设备设置完成自身地址设定后,向网关发送自身地址,当网关接收到包含从设备发送的自身地址的响应帧,则将定时器清零。

当网关的定时器的时间大于预设的时间,则认为地址分配出错,此时网关会向云端发送一个报警信号。

当网关发送自动地址分配指令后,打开定时器开始计时,同时配置地址分配完成输入引脚为边沿触发或者电平触发的外部中断模式,当网关进入到外部中断模式时,则认为地址分配已完成,向从设备发送地址分配完成指令,使从设备退出自动地址分配模式并进入正常运行模式。

实施例不应视为对本发明的限制,但任何基于本发明的精神所作的改进,都应在本发明的保护范围之内。

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