CN112905508B - 用于串口通信设备的地址分配方法、通信装置和存储介质 - Google Patents
用于串口通信设备的地址分配方法、通信装置和存储介质 Download PDFInfo
- Publication number
- CN112905508B CN112905508B CN202110135929.5A CN202110135929A CN112905508B CN 112905508 B CN112905508 B CN 112905508B CN 202110135929 A CN202110135929 A CN 202110135929A CN 112905508 B CN112905508 B CN 112905508B
- Authority
- CN
- China
- Prior art keywords
- serial port
- slave
- information
- address
- equipment
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
Abstract
本发明公开了一种用于串口通信设备的地址分配方法,所述串口通信设备具有至少两串口,包括通过第一串口获取上一级从设备发送的地址设置指令,判断是否存在与第二串口连接的下一级从设备,如不存在与第二串口连接的下一级从设备,则根据上一级从设备发送的地址设置指令进行地址配置后,生成尾部设备信息并通过上级从设备逐级传递至主设备;如存在与第二串口连接的下一级从设备则根据预设地址变化值对地址设置指令内配置地址进行修改更新后发送至下一级从设备,并将下一级从设备转发的最后一级从设备的尾部设备信息通过上级从设备逐级传递至主设备。本发明实现多个网关的最大限度的冗余,在备用网关可进行辅助采集也可视故障情况切换为主工作状态,增加了工业网关冗余系统的切换灵活性,提高了系统的可靠性与可工作性。
Description
技术领域
本发明涉及工业数据通信领域,尤其涉及一种用于串口通信设备的地址分配方法、通信装置和存储介质。
背景技术
串口通信是一种被广泛使用的单总线数据通信,被广泛应用于与计算机串行接口以及设备间数据通信。串口通信使用简单,速度快,是全双工的通信方式,在两个设备间可以同时发起数据的发送和接收。目前,串口通信通常采用RS232标准,串口通信仅允许一对一连接,而不允许一对多和多对多组网,因此在使用串口通信的场合不涉及通信地址。但是在许多应用场合中,存在一个主设备和多个从设备,且各个设备只具备串口通信接口。现有技术公开了一种基于级联父节点选通的总线地址分配和通信方式(专利公开号CN111400215A),其系统中只有一个主设备,可有多个从设备。每个主设备和从设备至少有一个接口,接口用于与其他设备进行级联;每个接口都包含一组总线和一组选通信号;第一级的从设备直接连接到主设备的接口上,第二级的从设备连接到第一级从设备的接口上,第三级的从设备连接到第二级从设备的接口上,以此类推;从而避免了传统的总线地址分配技术的需要总线支持冲突检测,当从设备数量越多,发生冲突的概率就越大的问题。但该现有技术虽然可以实现从设备地址的自动分配和数据通信,但是其要求所有设备接口的总线都连接在一起,所有从设备都可以同时接收主设备发送的数据,且通信接口都包含一组总线和一组选通信号,因此无法适用于目前的一些只有几个串口通信接口的通信设备场合,无法解决用主设备通过单个串口通信接口与多个从设备进行数据通信的问题。
发明内容
本发明针对现有技术中的不足,提供了一种用于串口通信设备的地址分配方法,所述串口通信设备具有至少两串口,包括如下步骤:
通过第一串口获取上一级从设备发送的地址设置指令,所述地址设置指令包括本级设备的配置地址;
判断是否存在与第二串口连接的下一级从设备,如不存在与第二串口连接的下一级从设备,则根据上一级从设备发送的地址设置指令进行地址配置后,生成尾部设备信息并通过上级从设备逐级传递至主设备;
如存在与第二串口连接的下一级从设备,则根据预设地址变化值对地址设置指令内配置地址进行修改更新后发送至下一级从设备,并将下一级从设备转发的最后一级从设备的尾部设备信息通过上级从设备逐级传递至主设备;其中所述尾部设备信息用于主设备获取该最后一级从设备所在的级数,并与预设从设备数量进行比较以判断是否存在连接异常的从设备。
优选的,所述尾部设备信息为本级从设备的地址信息。
优选的,所述用于串口通信设备的地址分配方法还包括步骤:对通过第一串口获取的上一级从设备传递的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过上级从设备逐级传递至主设备,否则将该数据通信指令通过第二串口转发给下一级从设备。
优选的,上述步骤对通过第一串口获取的上一级从设备传递的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过上级从设备逐级传递至主设备,否则将该数据通信指令通过第二串口转发给下一级从设备,具体包括:
对通过第一串口获取的上一级从设备传递的数据通信指令进行解析并获取目标地址信息,判断目标地址信息与自身地址信息是否一致;
如果目标地址信息与自身地址信息一致,则处理该数据通信指令并将应答信息通过第一串口发送至上一级从设备,并有上级从设备逐级转发至至主设备;
如果目标地址信息与自身地址信息不一致,则将该数据通信指令通过第二串口转发给下一级从设备,并将下一级从设备发送的目标从设备应答信息通过第一串口转发给上一级从设备。
优选的,所述第一串口和第二串口为RS232串口,第一串口的RX接收端和TX发送端互相连接后与上一级从设备同一串口内的RX端和TX端连接,第二串口的RX端和TX端互相连接后与下一级从设备同一串口内的RX端和TX端连接,所述地址分配方法还包括如下步骤:
根据第一串口RX接收端获取的由上一级从设备转发的通信状态检测指令,通过第一串口TX发送端回复状态响应信号;
通过第二串口TX发送端向下一级从设备转发该通信状态检测指令,并根据第二串口RX接收端收到信息判断是否存在通信故障和故障类型;
如果第二串口RX接收端在第一预定时间内收到的信息与该串口TX发送端发送的通信状态检测指令不同或者未在预定时间内接收到信息,则发出第一故障信息,所述第一故障为从设备内部串口通信异常;
如果第二串口RX接收端未在第二预定时间内收到下一级从设备回复的状态响应信号,则发出第二故障信息,所述第二故障信息为该从设备与下级从设备间通信异常。
本发明还公开了一种作为串口通信系统从设备的通信装置,具有第一串口和第二串口,包括:指令获取模块,用于通过第一串口获取上一级从设备发送的地址设置指令,所述地址设置指令包括本级设备的配置地址;判断模块,用于判断是否存在与第二串口连接的下一级从设备;设备信息生成模块,用于在不存在与第二串口连接的下一级从设备时,根据上一级从设备发送的地址设置指令进行地址配置后,生成尾部设备信息并通过上级从设备逐级传递至主设备;其中所述尾部设备信息用于主设备获取该最后一级从设备所在的级数,并与预设从设备数量进行比较以判断是否存在连接异常的从设备;地址更新模块,用于在存在与第二串口连接的下一级从设备时,根据预设地址变化值对地址设置指令内配置地址进行修改更新后发送至下一级从设备,并将下一级从设备转发的最后一级从设备的尾部设备信息通过上级从设备逐级传递至主设备。
优选的,所述尾部设备信息被配置为当第一串口和第二串口有且仅有一个连接有其它从设备时本级从设备的地址信息。
优选的,该通信装置还包括:通信模块,用于对通过第一串口获取的上一级从设备传递的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过上级从设备逐级传递至主设备,否则将该数据通信指令通过第二串口转发给下一级从设备。
本发明还公开了一种串口通信装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一所述方法的步骤。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述方法的步骤。
本发明公开的用于串口通信设备的地址分配方法和通信装置,可用于串口通信系统的各从设备上,通过第一串口获取上一级从设备发送的包括本级设备的配置地址的地址设置指令,判断是否存在与第二串口连接的下一级从设备,如不存在与第二串口连接的下一级从设备,则根据上一级从设备发送的地址设置指令进行地址配置后,生成尾部设备信息并通过上级从设备逐级传递至主设备,如存在与第二串口连接的下一级从设备,则根据预设地址变化值对地址设置指令内配置地址进行修改更新后发送至下一级从设备,并将下一级从设备转发的最后一级从设备的尾部设备信息通过上级从设备逐级传递至主设备。主设备根据末级从设备的回复信息来判断通信情况,实现了主设备通过单一串口实现了一主多从的通信模式,并且主设备只需发送一次第一级从设备地址配置指令,所有从设备的地址信息均可以通过自动方式获取,同时各级设备间的通讯线路,包括设备内硬件线路以及设备间连接的硬件线路可以实现断线检测。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一实施例公开用于串口通信设备的地址分配方法的流程示意图。
图2为本发明一实施例公开的步骤S104的具体流程示意图。
图3为本发明一实施例公开的步骤S105的具体流程示意图。
图4为本发明一实施例公开的串口通信系统的结构示意图。
图5为本发明一实施例公开的用于串口通信系统的通信方法的流程示意图。
图6为本发明一实施例公开的步骤S3的具体流程示意图。
图7为本发明一实施例公开的步骤S4的具体流程示意图。
图8为本发明另一实施例公开的步骤S4的具体流程示意图。
图9为本发明另一实施例公开的通信方法的部分流程示意图。
图10为本发明一实施例公开的步骤S5的具体流程示意图。
图11为本发明一实施例公开的步骤S6的具体流程示意图。
图12为本发明一实施例公开的步骤S62的具体流程示意图。
图13为本发明一实施例公开的通信装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。
实施例1
串口通信是一种被广泛使用的单总线数据通信,被广泛应用与计算机串行接口以及设备间数据通信。它使用简单,速度快,是全双工的通信方式,两个设备间可以同时发起数据的发送和接收。其中串口通常采用RS232标准,串口通信允许一对一连接,不允许一对多和多对多组网,因此,当存在一个主设备和多个从设备,且各个设备只具备串口通信接口,此时如何实现用主设备通过单个串口通信接口与多个从设备进行数据通信成为一个待解决的问题。本实施例公开的一种用于串口通信设备的地址分配方法,所述串口通信设备具有至少两串口,该方法可用于各类从设备中,该从设备可被用于串口通信系统,该系统包括主设备和多个从设备,其中主设备通过串口与多个从设备逐级串联连接,其中该串口可以为RS232总线,当然也可以是其它串行总线,当然该通信方法也可应用于后面公开的其它各实施例中公开的各类串口通信系统的从设备上。在本实施例中,该地址分配方法可用于串口通信系统,该串口通信系统具备至少一个串口,从设备至少具备2个串口,先将主设备的一个串口的TX、RX相连接,分别将从设备的2个串口的TX、RX相连接。并将主设备的串口与第一级从设备的一个串口相连接,第一个从设备的另外一个串口与第二级从设备的一个串口相连接,第二级从设备的另外一个串口与第三级从设备的一个串口相连接,如此重复,直到最后一级的从设备的一个串口与上一级从设备的一个串口相连接,此时完成整个系统的物理连接。接下来以该串口通信系统中的第三级从设备作为实施该方法实施的串口通信设备为例,来详细描述该方法的各步骤,但该应用举例仅仅为了更清楚的描述该地址分配方法,不作为对该方法的应用场景的限制,如附图1所示,该地址分配方法具体包括如下步骤。
步骤S101,通过第一串口获取上一级从设备发送的地址设置指令,所述地址设置指令包括本级设备的配置地址。
主设备通过与系统软件连接,获取该串口通信系统中与该主设备逐级串联的从设备数量。具体的,主设备在接收到从设备的数量信息后,保存该信息,发起从设备自动地址设置指令。具体的,主设备向第一级从设备发送地址设置指令,该地址设置指令包括所述第一级从设备配置地址。第一级从设备根据所述地址设置指令进行地址配置后,按预设地址变化值对所述配置地址进行更新后发送至第二级从设备。第二级从设备通过第一串口获取第一级从设备发送的地址设置指令,其中地址设置指令包括本级设备的配置地址。
步骤S102,判断是否存在与第二串口连接的下一级从设备,如不存在与第二串口连接的下一级从设备,则根据上一级从设备发送的地址设置指令进行地址配置后,生成尾部设备信息并通过上级从设备逐级传递至主设备。
其中尾部设备信息可以为本级从设备的地址信息。具体的,第二级从设备判断是否存在与第二串口连接的下一级从设备,如果不存在则根据第一级从设备发送的更新地址进行配置后将该级地址信息通过上级从设备逐级传递至主设备,否则根据预设地址变化值对所述更新地址进行再次更新后发送至下一级从设备。
步骤S103,如存在与第二串口连接的下一级从设备,则根据预设地址变化值对地址设置指令内配置地址进行修改更新后发送至下一级从设备,并将下一级从设备转发的最后一级从设备的尾部设备信息通过上级从设备逐级传递至主设备;其中所述尾部设备信息用于主设备获取该最后一级从设备所在的级数,并与预设从设备数量进行比较以判断是否存在连接异常的从设备。
具体的,如果在本实施例中主设备向第一级从设备发送的地址设置指令中包含的地址信息为1,则第一级从设备配置地址可以设定1。另外预设地址变化值可以设定为对收到的从设备地址加1,则第一级从设备接收到该指令后,立刻将自身的地址设置为1,并将地址设置指令中的地址信息加1后,转发给该第二级从设备。第二级从设备重复与第一级从设备相同的操作,即立刻根据接收到的由第一级从设备发送的地址信息将自身的地址设置为2。然后判断是否存在下一级从设备,可以通过判断本从设备除连接上一级从设备那串口外的其它串口是否还连接有其余从设备,如果还有一串口连接有从设备则确认存在下一级从设备。
如果该级从设备是最后一级从设备,则在设置完自身的地址信息后,将自身的的地址信息发送给上一级的从设备,上一级从设备接收到该信息后立刻将此信息转发给自身的上一级从设备,如此重复,直到主设备接收到该信息。其中所述尾部设备信息用于主设备获取该最后一级从设备所在的级数,并与预设从设备数量进行比较以判断是否存在连接异常的从设备。在本实施例中,尾部设备信息可以为本级从设备的地址信息。主设备根据收到的最后一级从设备发送的地址信息获取可通信从设备数量,判断可通信从设备数量与存储的从设备数量信息是否一致,若一致则进行正常通信,否则发出通信线路故障信息。主设备收到最后一级从设备的地址信息后,将该地址信息转化为从设备数量,一般情况下从设备数量即等于最后一级从设备的地址,因为地址是从1开始,逐级完后加1。主设备将转化后的从设备数量与自身保存的从设备数量信息相比较,如果相等,则完成从设备地址自动设置过程,并开始正常的数据通信;而不相等,则表明该系统中的通信线路存在故障,此时主设备自身发出报警信息,该报警信息可以通过主设备上的LED灯,液晶屏等进行显示,并可以通过系统软件进行显示。此时整体系统处于故障状态,主设备不再与从设备进行数据通信。
在本实施例中,该用于串口通信设备的地址分配方法或通信方法还包括如下步骤。
步骤S104,对通过第一串口获取的上一级从设备传递的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过上级从设备逐级传递至主设备,否则将该数据通信指令通过第二串口转发给下一级从设备。
在本实施例中,如附图2所示,步骤S4具体可包括:
步骤S1041,对通过第一串口获取的上一级从设备传递的数据通信指令进行解析并获取目标地址信息,判断目标地址信息与自身地址信息是否一致。
具体的,主设备根据接收到的最后一级从站地址信息确定与实际连接的各从站地址,将所需通信的从站地址添加至数据通信指令后向第一级从站进行发送。第一级从设备对接收到的主设备发送的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过串口发送至主设备,否则将该数据通信指令转发给第二级从设备。而后第二级从设备对从第一串口接收到的第一级从设备发送的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致。
步骤S1042,如果目标地址信息与自身地址信息一致,则处理该数据通信指令并将应答信息通过第一串口发送至上一级从设备,并由上级从设备逐级转发至至主设备。
具体的,如果目标地址信息与自身地址信息一致则处理该数据通信指令并将回复信息通过第一串口发送至第一从设备,并由第一从设备转发至主设备。
步骤S1043,如果目标地址信息与自身地址信息不一致,则将该数据通信指令通过第二串口转发给下一级从设备,并将下一级从设备发送的目标从设备应答信息通过第一串口转发给上一级从设备。
具体的,如果目标地址信息与自身地址信息不一致,则将该数据通信指令通过第二串口转发给第三级从设备。第三从设备接收到数据通信指令后再次重复上述操作,直至该数据通信指令发送至对应地址的从设备并进行回复后,该回复信息被通过上级从设备逐级传递至主设备。
在本实施例中,在系统处于通信正常状态时,主设备会向某个地址的从设备下发数据通信指令,该指令中包含有需要通信的从设备的地址信息。下一级的从设备接收到该指令后,会解析该指令中的地址信息,并与自身的地址信息进行比较,如果地址信息相同,则处理该指令,并回复给主设备,该回复信息发送给上一级的从设备。上一级从设备接收到该回复信息后直接向上一级从设备进转发,如此重复,直到主设备收到该信息。如果地址信息不相同,这将该数据通信指令保持原样的转发给下一级从设备,下一级从设备也进行完全相同的操作,如此可以完成主设备和从设备间的数据通信。
该用于串口通信设备的地址分配方法可用于串口通信系统的各从设备上,通过第一串口获取上一级从设备发送的包括本级设备的配置地址的地址设置指令,判断是否存在与第二串口连接的下一级从设备,如不存在与第二串口连接的下一级从设备,则根据上一级从设备发送的地址设置指令进行地址配置后,生成尾部设备信息并通过上级从设备逐级传递至主设备,如存在与第二串口连接的下一级从设备,则根据预设地址变化值对地址设置指令内配置地址进行修改更新后发送至下一级从设备,并将下一级从设备转发的最后一级从设备的尾部设备信息通过上级从设备逐级传递至主设备。主设备根据末级从设备的回复信息来判断通信情况,实现了主设备通过单一串口实现了一主多从的通信模式,并且主设备只需发送一次第一级从设备地址配置指令,所有从设备的地址信息均可以通过自动方式获取,同时各级设备间的通讯线路,包括设备内硬件线路以及设备间连接的硬件线路可以实现断线检测。
在本实施例中,如果主设备在预定时间内未收到相应从设备对数据通信指令的回复,则向从设备发出通信状态检测指令。具体的,主设备针对各从设备的通信状态检测可在从设备未回复数据通信指令后实施,也可在固定周期内定期执行。由于第一串口和第二串口为RS232串口,第一串口的RX接收端和TX发送端互相连接后与上一级从设备同一串口内的RX端和TX端连接,第二串口的RX端和TX端互相连接后与下一级从设备同一串口内的RX端和TX端连接,所述地址分配方法还包括如下步骤:
步骤S105,根据收到的通信状态检测指令回复状态响应信号,并通过第二串口TX发送端向下一级从设备转发该通信状态检测指令,并根据第二串口RX接收端收到的信息判断是否存在第一故障和第二故障,其中所述第一故障为从设备内部串口通信异常,所述第二故障信息为该从设备与下级从设备间通信异常。如附图3所示,该步骤具体包括:
步骤S1051,根据第一串口RX接收端获取的由上一级从设备转发的通信状态检测指令,通过第一串口TX发送端回复状态响应信号。
主设备通过串口TX发送端向第一级从设备发送通信状态检测指令,并对同一串口的RX接收端收到的信息进行判断,如果RX接收端在第一预定时间内收到的信息与通信状态检测指令不同或者未在预定时间内接收到信息则发出故障信号,即表明该主设备的串口发送端出现故障。如果RX接收端在预定时间内收到的信息与通信状态检测指令相同,则表明主设备内部该串口通信线正常。在另一些实施例中,主设备也可在预定周期内通过串口TX发送端向第二级从设备发送通信状态检测指令。第二级从设备在收到主设备发送的通信状态检测指令后通过同一串口回复响应信号,并通过另一串口的TX发送端向第三级从设备转发该通信状态检测指令,本实施例的第二级从设备根据第一串口RX接收端获取的由上一级从设备转发的通信状态检测指令,通过第一串口TX发送端回复状态响应信号。
步骤S1052,通过第二串口TX发送端向下一级从设备转发该通信状态检测指令,并根据第二串口RX接收端收到信息判断是否存在通信故障和故障类型。
步骤S1053,如果第二串口RX接收端在第一预定时间内收到的信息与该串口TX发送端发送的通信状态检测指令不同或者未在预定时间内接收到信息,则发出第一故障信息,所述第一故障为从设备内部串口通信异常。
步骤S1054,如果第二串口RX接收端未在第二预定时间内收到下一级从设备回复的状态响应信号,则发出第二故障信息,所述第二故障信息为该从设备与下级从设备间通信异常。
第二级从设备根据同串口RX接收端收到的信息判断是否存在第一故障和第二故障,其中第一故障为该设备内部串口通信异常,所述第二故障为该设备与下级从设备间串口通信异常。如果RX接收端在第一预定时间内收到的信息与TX发送端发送的通信状态检测指令不同或者未在预定时间内接收到信息则发出故障信号,即表明该从设备该串口通信线路通信异常。如果第二级从设备的该RX接收端在预定时间内收到的信息与TX发送端发送的通信状态检测指令相同,则表明该从设备内部该串口通信线路正常。
具体的,在特定实施例中,主设备会周期性的进行通信状态检测,此时主设备会下发通信状态检测指令,由于各个设备串口的RX与TX相连,因此发送的数据自身也可以同步接收。当主设备和从设备发送通信状态检测指令时,如果同一串口同步收到了该指令,这表明设备内部该串口通信线路正常,否则表明该串口通信异常。下一级设备在接收到通信状态检测指令时,会立刻向上一级设备响应该指令,并向下一级设备转发该指令。如果同一个串口同步收到了该响应指令,这表明设备内部该串口通信线路正常,否则表明该串口通信异常。上一级设备在发出通讯检测指令后,如果未能立刻收到下一级设备的响应,则表明与下一级设备间的通讯存在异常。所有的通讯异常均可通过设备自身的LED灯或者液晶屏进行显示,并且可以通过系统软件进行显示。如此可以实现通讯的断线检测功能。
本实施例公开的用于串口通信设备的地址分配方法通过将主设备与从设备通过各自的串口逐级串联连接,主设备只向与其连接的第一级从设备发送地址配置指令,第一级从设备在收到地址配置指令后对其自身地址进行设置后再对指令内地址进行更新,并转发至下一级从设备,每一级从设备均根据收到的地址配置指令进行设置后再次对该指令进行更新并转发至下一级设备,直至传递至最后一级后在设置完本级地址后将回复信息经各种从设备逐级转送至主设备,主设备根据末级从设备的回复信息来判断通信情况,实现了主设备通过单一串口实现了一主多从的通信模式,并且主设备只需发送一次第一级从设备地址配置指令,所有从设备的地址信息均可以通过自动方式获取,同时各级设备间的通讯线路,包括设备内硬件线路以及设备间连接的硬件线路可以实现断线检测。另外由于各个设备串口的RX与TX相连,因此发送的数据自身也可以同步接收,当主设备和从设备发送通信状态检测指令时,如果同一串口同步收到了该指令,这表明设备内部该串口通信线路正常,否则表明该串口通信异常。下一级设备在接收到通信状态检测指令时,会立刻向上一级设备响应该指令,并向下一级设备转发该指令。如果同一个串口同步收到了该响应指令,这表明设备内部该串口通信线路正常,否则表明该串口通信异常。上一级设备在发出通讯检测指令后,如果未能立刻收到下一级设备的响应,则表明与下一级设备间的通讯存在异常。所有的通讯异常均可通过设备自身的LED灯或者液晶屏进行显示,并且可以通过系统软件进行显示。如此可以实现通讯的断线检测功能。
实施例2
本实施例还公开了一种作为串口通信系统从设备的通信装置,具有第一串口和第二串口,该通信装置包括指令获取模块、判断模块、设备信息生成模块和地址更新模块,其中:指令获取模块用于通过第一串口获取上一级从设备发送的地址设置指令,所述地址设置指令包括本级设备的配置地址;判断模块用于判断是否存在与第二串口连接的下一级从设备;设备信息生成模块,用于在不存在与第二串口连接的下一级从设备时,根据上一级从设备发送的地址设置指令进行地址配置后,生成尾部设备信息并通过上级从设备逐级传递至主设备;其中所述尾部设备信息用于主设备获取该最后一级从设备所在的级数,并与预设从设备数量进行比较以判断是否存在连接异常的从设备。其中地址更新模块,用于在存在与第二串口连接的下一级从设备时,根据预设地址变化值对地址设置指令内配置地址进行修改更新后发送至下一级从设备,并将下一级从设备转发的最后一级从设备的尾部设备信息通过上级从设备逐级传递至主设备。具体的,尾部设备信息可以被配置为当第一串口和第二串口有且仅有一个连接有其它从设备时本级从设备的地址信息。
在一些具体实施例中,该通信装置,还可以包括通信模块,该通信模块用于对通过第一串口获取的上一级从设备传递的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过上级从设备逐级传递至主设备,否则将该数据通信指令通过第二串口转发给下一级从设备。
进一步的,该通信模块还可包括指令分析模块、指令应答模块和指令转发模块,其中指令分析模块用于对通过第一串口获取的上一级从设备传递的数据通信指令进行解析并获取目标地址信息,判断目标地址信息与自身地址信息是否一致。指令应答模块用于在目标地址信息与自身地址信息一致时,处理该数据通信指令并将应答信息通过第一串口发送至上一级从设备,并有上级从设备逐级转发至主设备;指令转发模块,用于在目标地址信息与自身地址信息不一致时,将该数据通信指令通过第二串口转发给下一级从设备,并将下一级从设备发送的目标从设备应答信息通过第一串口转发给上一级从设备。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例2公开的装置而言,由于其与实施例公开的方法对应,尤其是与实施例1公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
实施例3
附图4为本实施例公开的串口通信系统,包括主设备和多个从设备,主设备和多个从设备通过串口逐级串联连接,其中主设备被配置为向与其连接的第一级从设备发送地址设置指令,所述地址设置指令包括所述第一级从设备的配置地址。第一级从设备被配置为根据所述地址设置指令进行地址配置后,按预设地址变化值对地址设置指令内配置地址进行更新后发送至下一级从设备,其中下一级从设备被配置为在其为最后一级时根据前一从设备发送的更新地址进行配置后将该级地址信息通过上级从设备逐级传递至主设备,在其非最后一级时根据预设地址变化值对接收到的配置地址进行再次更新后发送至下一级从设备。在本实施例中,主设备的串口与第一级从设备的一个串口相连接,第一级从设备的另外一个串口与第二级从设备的一个串口相连接,第二级从设备的另外一个串口与第三级从设备的一个串口相连接,如此重复,直到最后一级的从设备的一个串口与上一级从设备的一个串口相连接,此时完成整个串口通信系统的物理连接。本实施例主设备和多个从设备通过串口逐级串联连接,主设备只需向第一级从设备发送该级设备的地址配置信息,后面各级从设备的地址信息可以通过其前一级从设备发送的信息自动进行地址配置,利用单一串口实现了一主多从的通信。
如附图4所示,在本实施例中,该主设备具有至少一串口,各从设备具有至少两串口,其中主设备一串口的TX发送端和RX接收端通过一串行总线与第一级从设备的同一串口的TX端和RX端连接,所述第一级从设备的另一串口的TX端和RX端通过一串行总线与下一级设备的同一串口的TX端和RX端连接。或者是将主设备的一个串口的TX、RX相连接,再分别将从设备的2个串口的TX、RX相连接,然后再通过串口在主设备和各级从设备间进行连接。其中主设备和多个从设备通过RS232总线逐级串联连接。
在本实施例中,外部系统软件与主设备相连接,并下发从设备的数量信息。主设备接收到从设备的数量信息后,保存该信息,并发起从设备自动地址设置指令。例如在本实施例中,主设备向与其连接的第一级从设备发送地址设置指令,其中地址设置指令包括所述第一级从设备的配置地址。例如,在该实施例中主设备发起地址设置指令,将第一级从设备的地址设置为1。第一级从设备接收到该指令后,立刻将自身的地址设置为1,并根据预设地址变化值对接收到的配置地址进行更新,例如将预设地址变化值设置为加1,即第一从设备将地址设置指令中的地址信息加1后,转发到第二级从设备。第二级从设备重复与第一级从设备相同的操作,即立刻将自身的地址设置为2,并将地址设置指令中的地址信息加1后,转发给下一级从设备。中间的从设备均重复该操作,直到最后一级从设备设置完自身的地址信息。
在本实施例中,最后一级从设备设置完自身的地址信息后,将自身的地址信息发送给上一级的从设备,上一级从设备接收到该信息后立刻将此信息转发给自身的上一级从设备,如此重复,直到主设备接收到该信息。
在本实施例中,主设备被配置为根据收到的最后一级从设备地址信息与存储的从设备信息进行比对确认是否存在故障,如无故障则进行数据通信。具体的,主设备被配置为根据收到的最后一级从设备地址信息获取可通信从设备数量,判断可通信从设备数量与存储的从设备数量信息是否一致,若一致则进行正常通信,否则发出通信线路故障信息。
具体的,主设备收到最后一级从设备的地址信息后,将该地址信息转化为从设备数量。在本实施例中,从设备数量即等于最后一级从设备的地址,因为地址是从1开始,逐级完后加1。主设备将转化后的从设备数量与自身保存的从设备数量信息相比较,如果相等,则完成从设备地址自动设置过程,并开始正常的数据通信。如果不相等,则表明该串口通信系统中的通信线路存在故障,此时主设备自身发出报警信息,该报警信息可以通过主设备上的LED灯,液晶屏等进行显示,并可以通过系统软件进行显示。此时整体系统处于故障状态,主设备不再与从设备进行数据通信。从而实现各级设备间的通讯线路,包括设备内硬件线路以及设备间连接的硬件线路的断线检测,特别是在对各从设备进行初始地址自动设置时即可及时发现从设备的通讯故障,避免延误后续的现场实际通信工作。
在本实施例中,从设备还被配置为对接收到的主设备发送的或上一级从设备传递的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过上级从设备逐级传递至主设备,否则将该数据通信指令转发给下级从设备。
具体的,在串口通信系统处于通信正常状态时,主设备会向某个地址的从设备下发数据通信指令,该指令中包含有需要通信的从设备的地址信息。下一级的从设备接收到该指令后,会解析该指令中的地址信息,并与自身的地址信息进行比较,如果地址信息相同,则处理该指令,并回复给主设备,该回复信息发送给上一级的从设备。上一级从设备接收到该回复信息后直接向其上一级从设备进转发,如此重复,直到主设备收到该信息。如果从设备将解析该指令后得到的地址信息与其自身地址不一致,则将该数据通信指令保持原样的转发给下一级从设备,下一级从设备也进行完全相同的操作,如此可以完成主设备和从设备间的数据通信。
在本实施例中,主设备还被配置为周期性的进行通信状态检测。具体的,主设备会下发通信状态检测指令,由于各个设备串口的RX与TX相连,因此发送的数据自身也可以同步接收。当主设备或从设备发送通信状态检测指令时,判断同一串口是否接受到该指令,如果同一串口同步收到了该指令,则表明设备内部该串口通信线路正常,否则表明该串口通信异常,可发出故障从设备故障信息。下一级设备在接收到通信状态检测指令时,会立刻向上一级设备响应该指令,并向下一级设备转发该指令。并判断该从设备的同一个串口是否接受到了相同指令,如果同一个串口同步收到了该响应指令,则表明设备内部该串口通信线路正常,否则表明该串口通信异常。上一级设备在发出通讯检测指令后,如果未能立刻收到下一级设备的响应,则表明与下一级设备间的通讯存在异常。所有的通讯异常均可通过设备自身的LED灯或者液晶屏进行显示,并且可以通过系统软件进行显示。如此可以实现通讯的断线检测功能。
本实施例中的串口通信系统通过将主设备的同一串口的TX、RX相连接,再分别将从设备的2个串口各自的TX、RX相连接,然后再通过串口在主设备和各级从设备间进行连接。能实现在主设备或从设备发送通信状态检测指令时,判断同一串口是否接受到该指令,如同串口能同步收到了该指令则表明设备内部该串口通信线路正常,否则表明该串口通信异常,进而可以实时发出故障报警信息,实现了各级设备间通讯线路,包括设备内硬件线路以及设备间连接的硬件线路的断线检测。
实施例4
附图5为本实施例公开的一种用于串口通信系统的通信方法,其中该通信系统包括主设备和多个从设备,所述主设备和多个从设备通过串口逐级串联连接。该通信方法也可应用于前述实施例中公开的各类串口通信系统。该方法具体不开如下步骤:
步骤S1,主设备向第一级从设备发送地址设置指令,所述地址设置指令包括所述第一级从设备的配置地址。
在一些实施例中,该主设备具备至少一个串口,从设备至少具备2个串口,先将主设备的一个串口的TX、RX相连接,分别将从设备的2个串口的TX、RX相连接。并将主设备的串口与第一级从设备的一个串口相连接,第一个从设备的另外一个串口与第二级从设备的一个串口相连接,第二级从设备的另外一个串口与第三级从设备的一个串口相连接,如此重复,直到最后一级的从设备的一个串口与上一级从设备的一个串口相连接,此时完成整个系统的物理连接。
主设备与系统软件连接,获取该串口通信系统中与该主设备逐级串联的从设备数量。具体的,主设备在接收到从设备的数量信息后,保存该信息,发起从设备自动地址设置指令。在本实施例中,主设备向第一级从设备发送地址设置指令,该地址设置指令包括所述第一级从设备配置地址。
步骤S2,第一级从设备根据所述地址设置指令进行地址配置后,按预设地址变化值对所述配置地址进行更新后发送至第二级从设备。
具体的,该第一级从设备配置地址可以设定1,预设地址变化值可以设定为对收到的从设备地址加1,则步骤具体为第一级从设备接收到该指令后,立刻将自身的地址设置为1,并将地址设置指令中的地址信息加1后,转发到二级从设备。
步骤S3,所述第二级从设备判断是否存在下一级从设备,如果不存在则根据第一级从设备发送的更新地址进行配置后将该级地址信息通过上级从设备逐级传递至主设备,否则根据预设地址变化值对所述更新地址进行再次更新后发送至下一级从设备。具体的,如附图6所示,该步骤S3包括:
步骤S31,根据第一级从设备发送的更新后地址信息进行地址配置,判断是否存在下一级从设备,若存在则执行步骤S32,否则执行步骤S33。
具体的,第二级从设备重复与第一级从设备相同的操作,即立刻根据接收到的由第一级从设备发送的地址信息将自身的地址设置为2。然后判断是否存在下一级从设备,可以通过判断本从设备除连接上一级从设备那串口外的其它串口是否还连接有其余从设备,如果还有一串口连接有从设备则确认存在下一级从设备。再一具体实施例中,还可向接收到上一级从设备地址配置信息外的其它串口发送问询信息,如果一串口接收到与其连接的下一级从设备发送的应答信息则确认存在下一级从设备,执行步骤S32,如果没收到应答信号则执行步骤S33。
步骤S32,根据预设地址变化值对所述更新地址进行再次更新后发送至下一级从设备。
具体的,即将收到的第一级从设备发送的地址设置指令中的地址信息再加1后,将该再次更新地址信息后的地址设置指令转发给第三级从设备。
步骤S33,将该级地址信息通过第一级从设备传递至主设备。
如果该级从设备是最后一级从设备,则在设置完自身的地址信息后,将自身的的地址信息发送给上一级的从设备,上一级从设备接收到该信息后立刻将此信息转发给自身的上一级从设备,如此重复,直到主设备接收到该信息。
步骤S4,所述主设备根据收到的最后一级地址信息与存储的从设备数量进行比较确认是否存在故障,如无故障则进行数据通信。
具体的,主设备根据收到的最后一级从设备发送的地址信息获取可通信从设备数量,判断可通信从设备数量与存储的从设备数量信息是否一致,若一致则进行正常通信,否则发出通信线路故障信息。主设备收到最后一级从设备的地址信息后,将该地址信息转化为从设备数量,一般情况下从设备数量即等于最后一级从设备的地址,因为地址是从1开始,逐级完后加1。主设备将转化后的从设备数量与自身保存的从设备数量信息相比较,如果相等,则完成从设备地址自动设置过程,并开始正常的数据通信;而不相等,则表明该系统中的通信线路存在故障,此时主设备自身发出报警信息,该报警信息可以通过主设备上的LED灯,液晶屏等进行显示,并可以通过系统软件进行显示。此时整体系统处于故障状态,主设备不再与从设备进行数据通信。
在一些具体实施例中,如附图7所示,该步骤S4具体包括:
步骤S411,主设备根据收到的最后一级从设备发送的地址信息获取可通信从设备数量,判断可通信从设备数量与存储的预设从设备数量信息是否一致,若一致则进行正常通信。
步骤S412,如果不一致,判断可通信从设备数量与预设从设备数量的比例是否大于预定值,如果大于则将可通信从设备数量替换为预设从设备数量,并对可连接的从设备进行通信。
步骤S413,可通信从设备数量与预设从设备数量的比例不大于预定值,则将主设备改与原从设备连接序列中的最后一级从设备连接,并判断此时可通信从设备数量与预设从设备数量的比例是否大于预定值,如果大于则以该设备连接关系进行后续通信,否则进行故障报警。
在另一些具体实施例中,如附图8所示,该步骤S4还可以包括:
步骤S421,主设备根据收到的最后一级从设备发送的地址信息获取可通信从设备数量,判断可通信从设备数量与存储的预设从设备数量信息是否一致,若一致则进行正常通信。
步骤S422,如果不一致,根据反馈的最后一级地址信息确认该级从站所在的正向级数,然后将主设备另一串口与原从设备连接序列中的最后一级从设备的另一串口连接,并向该级从设备发送地址重置指令,所述地址重置指令包括所述最后一级从设备的配置地址。
步骤S423,最后一级从设备根据所述地址设置指令进行地址重置后,按预设地址变化值对所述配置地址进行更新后发送至倒数第二级从设备。
步骤S424,倒数第二级从设备判断是否存在前一级从设备,如果不存在则根据最后一级从设备发送的更新地址进行重置后将该级地址信息通过最后一级从设备逐级传递至主设备,否则根据预设地址变化值对所述更新地址进行再次更新后发送至前一级从设备。
步骤S425,主设备根据收到的反馈的地址信息确认发送该反馈地址信息的从站所在的逆向级数,主设备根据收到的正向级数、逆向级数和预设从设备数量确认故障所在的从设备位置。具体的,在与主设备串联即依次逐级连接的整个从设备确定的情况下,根据能收到反馈的从设备正向级数或逆向级数来确定无法连接的从设备所在区域,方便快速的找到出现连接故障的从设备,提高断线诊断精度。
在本实施例中,如附图9所示,该串口通信方法还包括步骤S5,从设备对接收到的主设备发送的或上级从设备传递的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过上级从设备逐级传递至主设备,否则将该数据通信指令转发给下级从设备。如附图7所示,该步骤具体包括:
步骤S51,主设备根据接收到的最后一级从站地址信息确定与实际连接的各从站地址,将所需通信的从站地址添加至数据通信指令后向第一级从站进行发送。
步骤S52,第一级从设备对接收到的主设备发送的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过串口发送至主设备,否则将该数据通信指令转发给第二级从设备。
步骤S53,第二级从设备对从第一串口接收到的第一级从设备发送的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过第一串口发送至第一从设备,并由第一从设备转发至主设备,若不一致则将该数据通信指令通过第二串口转发给第三级从设备。第三从设备接收到数据通信指令后再次重复上述操作,直至该数据通信指令发送至对应地址的从设备并进行回复后,该回复信息被通过上级从设备逐级传递至主设备。
在一实施例中,具体的,在系统处于通信正常状态时,主设备会向某个地址的从设备下发数据通信指令,该指令中包含有需要通信的从设备的地址信息。下一级的从设备接收到该指令后,会解析该指令中的地址信息,并与自身的地址信息进行比较,如果地址信息相同,则处理该指令,并回复给主设备,该回复信息发送给上一级的从设备。上一级从设备接收到该回复信息后直接向上一级从设备进转发,如此重复,直到主设备收到该信息。如果地址信息不相同,这将该数据通信指令保持原样的转发给下一级从设备,下一级从设备也进行完全相同的操作,如此可以完成主设备和从设备间的数据通信。
步骤S54,如果主设备在预定时间内未收到相应从设备对数据通信指令的回复,则向从设备发出通信状态检测指令。
具体的,主设备针对各从设备的通信状态检测可在从设备未回复数据通信指令后实施,也可在固定周期内定期执行。该步骤具体如下:
步骤S6,主设备向从设备发送通信状态检测指令,各从设备向上级设备回复响应信号后,通过串口TX发送端向下一级从设备转发该通信状态检测指令,并根据同一串口RX接收端收到的不同信息情况来判断是否设备内部串口通信线路存在异常或者与下级设备间的通讯存在异常。如附图11所示,该步骤具体包括如下。
步骤S61,主设备通过串口TX发送端向第二级从设备发送通信状态检测指令,并对同一串口的RX接收端收到的信息进行判断,如果RX接收端在第一预定时间内收到的信息与通信状态检测指令不同或者未在预定时间内接收到信息则发出故障信号,即表明该主设备的串口发送端出现故障。如果RX接收端在预定时间内收到的信息与通信状态检测指令相同,则表明主设备内部该串口通信线正常。在另一些实施例中,主设备也可在预定周期内通过串口TX发送端向第二级从设备发送通信状态检测指令。
步骤S62,第二级从设备在收到主设备发送的通信状态检测指令后通过同一串口回复响应信号,并通过另一串口的TX发送端向第三级从设备转发该通信状态检测指令,同时根据同串口RX接收端收到的信息判断是否存在第一故障和第二故障,其中第一故障为该设备内部串口通信异常,所述第二故障为该设备与下级从设备间串口通信异常。如果RX接收端在第一预定时间内收到的信息与TX发送端发送的通信状态检测指令不同或者未在预定时间内接收到信息则发出故障信号,即表明该从设备该串口通信线路通信异常。如果第二级从设备的该RX接收端在预定时间内收到的信息与TX发送端发送的通信状态检测指令相同,则表明该从设备内部该串口通信线路正常。如附图12所示,该步骤具体可包括如下步骤。
步骤S621,第二级从设备在对第一串口收到主设备发送的通信状态检测指令后该串口回复响应信号,并通过第二串口的TX发送端向第三级从设备转发该通信状态检测指令。
步骤S622,第二级从设备对第二串口RX接收端收到的信息进行判断,如果RX接收端在第一预定时间内收到的信息与TX发送端发送的通信状态检测指令不同或者未在第一预定时间内接收到与通信状态检测指令相同信息则发出第一故障信号。其中第一故障信号表示该从设备内部串口通信异常。
步骤S623,第二级从设备如果未在第二预定时间内通过第二串口RX接收端收到第三级从设备发送的响应信号,则发出第二故障信号,其中第二故障信号表示该从设备与下级从设备间通信异常。
步骤S63,主设备如果未在第二预定时间内通过串口RX接收端收到第二级从设备发送的响应信号,则发出通讯异常信号,表明与下级从设备间的通讯存在异常。
具体的,在特定实施例中,主设备会周期性的进行通信状态检测,此时主设备会下发通信状态检测指令,由于各个设备串口的RX与TX相连,因此发送的数据自身也可以同步接收。当主设备和从设备发送通信状态检测指令时,如果同一串口同步收到了该指令,这表明设备内部该串口通信线路正常,否则表明该串口通信异常。下一级设备在接收到通信状态检测指令时,会立刻向上一级设备响应该指令,并向下一级设备转发该指令。如果同一个串口同步收到了该响应指令,这表明设备内部该串口通信线路正常,否则表明该串口通信异常。上一级设备在发出通讯检测指令后,如果未能立刻收到下一级设备的响应,则表明与下一级设备间的通讯存在异常。所有的通讯异常均可通过设备自身的LED灯或者液晶屏进行显示,并且可以通过系统软件进行显示。如此可以实现通讯的断线检测功能。
附图13为本发明实施例提供的另一种通信装置1,包括存储器12、处理器11以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述各实施例中描述的串口通信设备的地址分配方法和/或用于串口通信系统的通信方法。
所述通信装置可包括但不仅限于处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是通信装置的示例,并不构成对通信装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述通信装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述通信装置的控制中心,利用各种接口和线路连接整个通信装置设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述通信装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述串口通信设备的地址分配方法和/或用于串口通信系统的通信方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个通信装置的数据处理方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
Claims (9)
1.一种用于串口通信设备的地址分配方法,所述串口通信设备具有至少两串口,其特征在于,第一串口和第二串口为RS232串口,第一串口的RX接收端和TX发送端互相连接后与上一级从设备同一串口内的RX端和TX端连接,第二串口的RX端和TX端互相连接后与下一级从设备同一串口内的RX端和TX端连接,所述地址分配方法包括如下步骤:
根据第一串口RX接收端获取的由上一级从设备转发的通信状态检测指令,通过第一串口TX发送端回复状态响应信号;
判断是否存在与第二串口连接的下一级从设备,如不存在与第二串口连接的下一级从设备,则根据上一级从设备发送的地址设置指令进行地址配置后,生成尾部设备信息并通过上级从设备逐级传递至主设备;
如存在与第二串口连接的下一级从设备,则将下一级从设备转发的最后一级从设备的尾部设备信息通过上级从设备逐级传递至主设备;其中所述尾部设备信息用于主设备获取最后一级从设备所在的级数,并与预设从设备数量进行比较以判断是否存在连接异常的从设备;以及通过第二串口TX发送端向下一级从设备转发该通信状态检测指令,并根据第二串口RX接收端收到信息判断是否存在通信故障和故障类型;如果第二串口RX接收端在第一预定时间内收到的信息与该串口TX发送端发送的通信状态检测指令不同或者未在预定时间内接收到信息,则发出第一故障信息,所述第一故障为从设备内部串口通信异常;如果第二串口RX接收端未在第二预定时间内收到下一级从设备回复的状态响应信号,则发出第二故障信息,所述第二故障信息为该从设备与下级从设备间通信异常。
2.根据权利要求1所述的用于串口通信设备的地址分配方法,其特征在于:所述尾部设备信息为本级从设备的地址信息。
3.根据权利要求2所述的用于串口通信设备的地址分配方法,其特征在于,还包括如下步骤:
对通过第一串口获取的上一级从设备传递的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过上级从设备逐级传递至主设备,否则将该数据通信指令通过第二串口转发给下一级从设备。
4.根据权利要求3所述的用于串口通信设备的地址分配方法,其特征在于,所述步骤对通过第一串口获取的上一级从设备传递的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过上级从设备逐级传递至主设备,否则将该数据通信指令通过第二串口转发给下一级从设备,具体包括如下步骤:
对通过第一串口获取的上一级从设备传递的数据通信指令进行解析并获取目标地址信息,判断目标地址信息与自身地址信息是否一致;
如果目标地址信息与自身地址信息一致,则处理该数据通信指令并将应答信息通过第一串口发送至上一级从设备,并有上级从设备逐级转发至至主设备;
如果目标地址信息与自身地址信息不一致,则将该数据通信指令通过第二串口转发给下一级从设备,并将下一级从设备发送的目标从设备应答信息通过第一串口转发给上一级从设备。
5.一种作为串口通信系统从设备的通信装置,具有第一串口和第二串口,第一串口和第二串口为RS232串口,第一串口的RX接收端和TX发送端互相连接后与上一级从设备同一串口内的RX端和TX端连接,第二串口的RX端和TX端互相连接后与下一级从设备同一串口内的RX端和TX端连接,其特征在于,包括:
指令获取模块,用于根据第一串口RX接收端获取的由上一级从设备转发的通信状态检测指令,通过第一串口TX发送端回复状态响应信号;
判断模块,用于判断是否存在与第二串口连接的下一级从设备;
设备信息生成模块,用于在不存在与第二串口连接的下一级从设备时,根据上一级从设备发送的地址设置指令进行地址配置后,生成尾部设备信息并通过上级从设备逐级传递至主设备;其中所述尾部设备信息用于主设备获取最后一级从设备所在的级数,并与预设从设备数量进行比较以判断是否存在连接异常的从设备;并通过第二串口TX发送端向下一级从设备转发该通信状态检测指令,并根据第二串口RX接收端收到信息判断是否存在通信故障和故障类型;如果第二串口RX接收端在第一预定时间内收到的信息与该串口TX发送端发送的通信状态检测指令不同或者未在预定时间内接收到信息,则发出第一故障信息,所述第一故障为从设备内部串口通信异常;如果第二串口RX接收端未在第二预定时间内收到下一级从设备回复的状态响应信号,则发出第二故障信息,所述第二故障信息为该从设备与下级从设备间通信异常;
地址更新模块,用于在存在与第二串口连接的下一级从设备时,根据预设地址变化值对地址设置指令内配置地址进行修改更新后发送至下一级从设备,并将下一级从设备转发的最后一级从设备的尾部设备信息通过上级从设备逐级传递至主设备。
6.根据权利要求5所述的通信装置,其特征在于:所述尾部设备信息被配置为当第一串口和第二串口有且仅有一个连接有其它从设备时本级从设备的地址信息。
7.根据权利要求6所述的通信装置,其特征在于,还包括:
通信模块,用于对通过第一串口获取的上一级从设备传递的数据通信指令进行解析,判断数据通信指令中的地址信息与自身地址信息是否一致,若一致则处理该数据通信指令并将回复信息通过上级从设备逐级传递至主设备,否则将该数据通信指令通过第二串口转发给下一级从设备。
8.一种串口通信装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现如权利要求1-4任一所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-4任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110135929.5A CN112905508B (zh) | 2021-02-01 | 2021-02-01 | 用于串口通信设备的地址分配方法、通信装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110135929.5A CN112905508B (zh) | 2021-02-01 | 2021-02-01 | 用于串口通信设备的地址分配方法、通信装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905508A CN112905508A (zh) | 2021-06-04 |
CN112905508B true CN112905508B (zh) | 2021-08-20 |
Family
ID=76120844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110135929.5A Active CN112905508B (zh) | 2021-02-01 | 2021-02-01 | 用于串口通信设备的地址分配方法、通信装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905508B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949692A (zh) * | 2021-09-27 | 2022-01-18 | 北京三快在线科技有限公司 | 地址分配方法、装置、电子设备及计算机可读存储介质 |
CN114500147B (zh) * | 2021-12-29 | 2023-12-26 | 深圳市英威腾电气股份有限公司 | 分配站号的方法、装置、电子设备及存储介质 |
CN114301731B (zh) * | 2021-12-31 | 2023-12-22 | 德力西电气有限公司 | 地址管理方法、主设备及从设备 |
CN114301770A (zh) * | 2022-01-04 | 2022-04-08 | 江苏斯菲尔电气股份有限公司 | 一种采用串口方式下的模块自组网系统及方法 |
CN114629743A (zh) * | 2022-01-19 | 2022-06-14 | 深圳拓邦股份有限公司 | 识别从设备串口的方法、装置、系统、电子设备及存储介质 |
CN115334041A (zh) * | 2022-10-14 | 2022-11-11 | 广州翼辉信息技术有限公司 | 一种主从站通讯设备自动分配地址的方法、主站、从站和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630298A (zh) * | 2009-07-28 | 2010-01-20 | 中兴通讯股份有限公司 | 串行总线从设备地址设置系统 |
CN103812962A (zh) * | 2014-02-12 | 2014-05-21 | 南京欧帝科技股份有限公司 | 基于串行接口的设备通信地址自动分配系统及工作方法 |
CN110166338A (zh) * | 2019-05-17 | 2019-08-23 | 华东师范大学 | 一种串行通信接口的级联方法 |
CN110290227A (zh) * | 2019-05-28 | 2019-09-27 | 广州大学 | 集成电路总线地址的动态分配方法、系统及存储介质 |
CN111131533A (zh) * | 2019-11-29 | 2020-05-08 | 中煤科工集团重庆研究院有限公司 | 串行通信系统地址自动分配方法 |
CN111400215A (zh) * | 2019-01-08 | 2020-07-10 | 深圳市慎勇科技有限公司 | 一种基于级联父节点选通的总线地址分配和通信方法 |
CN111586204A (zh) * | 2020-05-12 | 2020-08-25 | 广州极飞科技有限公司 | 通讯地址分配方法、通讯系统、主设备和从设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7433740B2 (en) * | 2003-03-05 | 2008-10-07 | Colorado Vnet, Llc | CAN communication for building automation systems |
CN101635637A (zh) * | 2008-07-21 | 2010-01-27 | 江森自控楼宇设备科技(无锡)有限公司 | 基于串行总线的智能地址分配的方法和系统 |
WO2014037404A1 (de) * | 2012-09-05 | 2014-03-13 | Hexagon Technology Center Gmbh | Messmaschinenkommunikation mit automatischer adressvergabe |
CN108616610A (zh) * | 2018-05-21 | 2018-10-02 | 深圳前海有电物联科技有限公司 | 地址分配方法、主机、从机及总线系统 |
-
2021
- 2021-02-01 CN CN202110135929.5A patent/CN112905508B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630298A (zh) * | 2009-07-28 | 2010-01-20 | 中兴通讯股份有限公司 | 串行总线从设备地址设置系统 |
CN103812962A (zh) * | 2014-02-12 | 2014-05-21 | 南京欧帝科技股份有限公司 | 基于串行接口的设备通信地址自动分配系统及工作方法 |
CN111400215A (zh) * | 2019-01-08 | 2020-07-10 | 深圳市慎勇科技有限公司 | 一种基于级联父节点选通的总线地址分配和通信方法 |
CN110166338A (zh) * | 2019-05-17 | 2019-08-23 | 华东师范大学 | 一种串行通信接口的级联方法 |
CN110290227A (zh) * | 2019-05-28 | 2019-09-27 | 广州大学 | 集成电路总线地址的动态分配方法、系统及存储介质 |
CN111131533A (zh) * | 2019-11-29 | 2020-05-08 | 中煤科工集团重庆研究院有限公司 | 串行通信系统地址自动分配方法 |
CN111586204A (zh) * | 2020-05-12 | 2020-08-25 | 广州极飞科技有限公司 | 通讯地址分配方法、通讯系统、主设备和从设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112905508A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112905508B (zh) | 用于串口通信设备的地址分配方法、通信装置和存储介质 | |
CN112948299B (zh) | 一种串口通信系统和通信方法 | |
CN111131533A (zh) | 串行通信系统地址自动分配方法 | |
CN112751697A (zh) | 网络拓扑发现方法及节点设备 | |
CN112839310B (zh) | 一种无线通信方法以及Mesh设备 | |
CN111865745B (zh) | 一种自动识别从设备的无延时轮询方法及系统 | |
US11868302B2 (en) | Status signal output | |
CN114338267A (zh) | 多管理节点的维护方法、装置、设备、总线网络及介质 | |
KR20170122483A (ko) | 통신 네트워크 감지 시스템 | |
US10924589B2 (en) | RF transceiver and wireless mesh network | |
CN108667640B (zh) | 通信方法及设备、网络接入系统 | |
CN110995889A (zh) | 地址分配系统和方法 | |
US11457507B2 (en) | Communication system for serial communication between communication devices | |
WO2023148167A1 (en) | A daisy chain connected master-slave communication system and a method of operating thereof | |
CN113709030B (zh) | 网络流量的控制方法、装置及电子设备 | |
CN102469622B (zh) | 多模控制器入局消息处理方法、装置及多模控制器 | |
CN210518417U (zh) | 地址分配系统 | |
US11012347B2 (en) | Communication apparatus, communication control method, and communication system for multilink communication simultaneously using a plurality of communication paths | |
US20220330065A1 (en) | Interference measurement station, access point, and method | |
CN109982450B (zh) | 通信链路修复方法、装置、协调器及系统 | |
CN115242687B (zh) | 一种节点探活方法、装置、设备及介质 | |
US7827249B2 (en) | System and method for automatically linking multiple consoles | |
WO2022013967A1 (ja) | 通信制御装置、通信システム及び通信制御方法 | |
CN108809832B (zh) | 于发送工作请求时维护串行路由的装置及其方法 | |
KR100369630B1 (ko) | 에프피지에이 이피엘디의 로딩 검출장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |