CN111385172A - 一种基于总线的控制系统、控制方法及存储介质 - Google Patents
一种基于总线的控制系统、控制方法及存储介质 Download PDFInfo
- Publication number
- CN111385172A CN111385172A CN201811608958.3A CN201811608958A CN111385172A CN 111385172 A CN111385172 A CN 111385172A CN 201811608958 A CN201811608958 A CN 201811608958A CN 111385172 A CN111385172 A CN 111385172A
- Authority
- CN
- China
- Prior art keywords
- sub
- bus
- protocol
- equipment
- message
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims description 25
- 239000002184 metal Substances 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000004020 conductor Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/26—Pc applications
- G05B2219/2642—Domotique, domestic, home control, automation, smart house
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供了一种基于总线的控制系统。该控制系统包括:发送总线和接收总线;连接到发送总线和接收总线上的主设备;以及通过并联方式连接到发送总线和接收总线上的至少一个子设备;其中,主设备通过接收总线分别从至少一个子设备接收包含协议码以及设备标识的连接请求报文,建立设备标识与协议码的对应关系,根据连接请求报文中的协议码分别确定至少一个子设备对应的协议信息,以及根据至少一个子设备对应的协议信息以及设备标识通过发送总线和接收总线分别与所述至少一个子设备建立连接。相应的,本申请还提供了一种基于总线的控制方法,由控制设备执行以及一种计算机存储介质。
Description
技术领域
本申请涉及智能家居技术领域,尤其涉及一种基于总线的控制系统、控制方法及存储介质。
背景技术
目前智能家居已经走过了几年概念普及阶段的洗礼,多数的消费者已经或多或少的听说过智能家居。其中,智能墙壁开关是智能家居中重要的组成部分,通过智能开关可以实现房屋灯光智能化,例如,用户可远程通过应用(APP)控制开关通断、开关定时等操作。
目前,市面上的智能家居产品,例如智能墙壁开关,大多数采用RS485总线实现。其中,单条的RS485总线通常由A/B两根金属线绞合而成的双绞线组成,传输数据采用差分的形式,是半双工的工作模式,也即同一时间只能发送数据或接收数据。由于半双工的RS485总线决定了主机(也称为主设备)同一时刻只能收数据或发数据,而没法做到同时接收数据和发送数据两个操作,因此,目前RS485总线上只能传输同一种协议的报文,而不能支持多种不同协议的报文在同一条RS485总线上传输。这是因为,不同的协议的报文的长度不完全一样,主机在识别出一种协议的报文,经过协议转换,报文解析,最后再进行应答的一系列过程所占用总线的时间是不确定的,因此,众多总线上的子设备不知道需等待多久才能发送自己的报文。如果各个子设备处理不好总线的等待时间,就会造成子设备之间在占有总线的时间上的冲突,从而造成大量的丢包及错误,这是目前RS485总线很难克服的问题。
发明内容
本申请的实施例提供了一种基于总线的控制系统。该控制系统主要包括:
发送总线和接收总线;
连接到所述发送总线和接收总线上的主设备;以及
通过并联方式连接到所述发送总线和接收总线上的至少一个子设备;其中,
主设备存储至少一种协议的协议码及对应的协议信息;
主设备通过接收总线分别从至少一个子设备接收包含协议码以及设备标识的连接请求报文,建立设备标识与协议码的对应关系,根据连接请求报文中的协议码分别确定至少一个子设备对应的协议信息,以及根据至少一个子设备对应的协议信息以及设备标识通过发送总线和接收总线分别与至少一个子设备建立连接。
在本申请的实施例中,上述发送总线和接收总线分别为双绞线,其中,在上述双绞线上传输差分形式的数据;上述主设备通过总线交换机将输入接口连接至接收总线,将输出接口连接至所述发送总线;上述至少一个子设备的两个输入接口分别连接至作为接收总线的双绞线中的一根金属导线上;至少一个子设备的两个输出接口分别连接至作为发送总线的双绞线中的一根金属导线上。
在本申请的实施例中,上述并联方式为手拉手连接方式。
在本申请的实施例中,上述并联方式包括:将通过手拉手连接方式连接的N个子设备作为一个总线分支,并通过中继器将多段所述总线分支接续起来;其中,N为正整数。
在本申请的实施例中,上述并联方式包括:将通过手拉手连接方式连接的N个子设备作为一个总线分支,并通过集线器将多段所述总线分支连接成星型的网络拓扑结构;其中,N为正整数。
在本申请的实施例中,上述协议信息包括:报文格式、报文长度、报文校验方式、以及报文加密方式;以及主设备分别根据确定的与至少一个子设备对应的报文格式、报文长度、报文校验方式、以及报文加密方式以及设备标识分别与至少一个子设备建立连接。
在本申请的实施例中,上述主设备与至少一个子设备建立连接之后进一步通过接收总线接收其中一个子设备发送的包含协议码的操作请求报文,根据协议码确定子设备对应的协议信息,根据确定的协议信息解析操作请求报文,根据解析后的操作请求报文以及所述子设备对应的协议信息生成包含子设备的设备标识的响应报文,并通过发送总线反馈生成的响应报文至子设备。
在本申请的实施例中,上述主设备与至少一个子设备建立连接之后进一步根据自身建立的设备标识和协议码的对应关系,确定一个子设备对应协议码,根据确定的协议码确定所述子设备对应的协议信息,根据所述子设备对应的协议信息生成包含所述子设备的设备标识的控制指令,以及通过发送总线发送生成的控制指令至子设备。
在本申请的实施例中,上述连接请求报文进一步包括:协议头、指令内容以及校验码。
本申请还提供了一种基于总线的控制方法,该方法包括:通过接收总线从一个子设备接收包含协议码以及设备标识的连接请求报文;建立设备标识与协议码的对应关系;根据连接请求报文中的协议码以及预先存储的至少一种协议的协议码及其对应的协议信息确定子设备对应的协议信息;以及根据子设备对应的协议信息以及设备标识通过发送总线和所述接收总线与子设备建立连接。
在本申请的实施例中,上述协议信息包括:报文格式、报文长度、报文校验方式、以及报文加密方式;以及上述根据子设备对应的协议信息以及设备标识通过发送总线和所述接收总线与子设备建立连接包括:根据确定的与子设备对应的报文格式、报文长度、报文校验方式、以及报文加密方式以及设备标识通过发送总线和接收总线与子设备建立连接。
在本申请的实施例中,在与所述子设备建立连接之后上述方法进一步包括:通过接收总线接收子设备发送的包含协议码的操作请求报文,根据协议码确定子设备对应的协议信息,根据确定的协议信息解析操作请求报文,根据解析后的操作请求报文以及所述子设备对应的协议信息生成包含子设备的设备标识的响应报文,并通过发送总线反馈所生成的响应报文至子设备。
在本申请的实施例中,在与所述子设备建立连接之后上述方法进一步包括:根据自身建立的设备标识和协议码的对应关系,确定一个子设备对应协议码,根据确定的协议码确定所述子设备对应的协议信息,根据所述子设备对应的协议信息生成包含所述子设备的设备标识的控制指令,以及通过发送总线发送生成的控制指令至子设备。
在本申请的实施例中,上述连接请求报文、请求报文以及响应报文进一步包括:协议头、指令内容以及校验码。
本申请实施例还提供了一种存储介质,存储有可读指令,可以使至少一个处理器执行上述方法。
通过以上技术方案可以看出,本申请通过在子设备发送的报文中携带自身所支持协议对应的协议码信息,可以使系统中的主设备快速确定所接收报文对应的协议。此外,通过在主设备内预先存储协议码和协议信息的映射关系,可以快速获得所接收报文对应的协议信息,从而可对所接收的报文进行快速解析。更进一步,通过上述发送总线和接收总线单独分别设置的方式,可以实现主设备和子设备之间的全双工通信,也即主设备在接收报文的同时也可以发送报文。这样,各个子设备无需等待主设备反馈响应报文即可通过单独的接收总线发送请求报文至主设备,便于确定总线的等待时间,可以在最大程度上避免子设备之间在占有总线的时间上的冲突,从而避免丢包及错误。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所述的基于总线的控制系统结构示意图;
图2为本申请实施例所述的通过手拉手连接方式连接的一个控制系统的内部结构示意图;
图3为本申请实施例所述的连接请求报文结构示意图;以及
图4为本申请实施例所述的基于总线的控制方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本发明的方案进行阐述。实施例中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
如前所述,在采用RS485总线连接多种智能家居产品时,特别是连接支持不同协议的子设备时,由于需要在RS485总线上传输多种协议的报文,则会产生大量的丢包及错误等问题。
为了解决上述问题,本申请的实施例提出了一种基于总线的控制系统,可以通过总线对支持多种不同协议的子设备进行控制。
图1显示了本申请实施例所述的一种基于总线的控制系统100的结构。如图1所示上述控制系统100包括:
发送总线101和接收总线102;
连接到上述发送总线101和上述接收总线102上的主设备103;以及
通过并联方式连接到上述发送总线101和上述接收总线102上的至少一个子设备104。
在上述控制系统中,上述主设备作为主机预先存储至少一种协议的协议码及其对应的协议信息。
在本申请的实施例中,为了区分不同子设备所支持的不同协议,分别预先为每一种协议设置了一个协议码作为该协议的标识。其中,不同的协议对应不同的协议码。
并且,在本申请的实施例中,可以预先在主设备中存储至少一种协议的协议码及其对应的协议信息。其中,上述协议信息可以包括:报文格式、报文长度、报文校验方式以及报文加密方式。可以看出,上述协议信息具体已包括解析报文所需的各类信息。
更进一步,上述主设备103通过所述接收总线102从某一个子设备接收包含协议码和设备标识的连接请求报文,建立该设备标识与协议码的对应关系,根据该连接请求报文中的协议码确定该子设备对应的协议信息,以及根据该子设备对应的协议信息以及设备标识通过发送总线101和接收总线102与该子设备104建立连接。
在本申请的实施例中,上述主设备103与子设备104建立连接的过程可以参考现有的基于RS 485总线的控制系统中主设备和子设备建立连接的过程,例如参考RS 485物理层协议,包括:设备间握手、校验总线是否通信正常以及检查总线是否空闲等。
通过上述建立连接的过程,主设备可以不断“学习”系统中所有子设备的设备标识以及该子设备所支持的协议的协议码以及协议信息,并可以进一步获得所有子设备的类型以及能力集等等信息,从而便于在建立连接之后和该子设备进行快速且有效地报文交互。
在本申请的一些实施例中,在上述主设备103与上述至少一个子设备104建立连接之后,主设备103可以进一步通过接收总线102接收其中某一个子设备104发送的包含协议码的操作请求报文,根据该请求报文中携带的协议码确定该操作请求报文对应的协议信息,根据确定的协议信息解析该操作请求报文,从而确定该子设备的设备标识以及报文内容,再根据解析后的操作请求报文以及该子设备对应的协议信息生成包含该子设备的设备标识的响应报文,最后再通过发送总线101反馈生成的响应报文至上述发送请求报文的子设备。
需要说明的是,上述主设备103可以按照从接收总线102上收到请求报文的顺序依次生成对应的响应报文,并按此顺序依次在发送总线101上发送生成的响应报文。
由上述操作可以看出,在本申请的一些实施例中,主设备预先存储了协议码和协议信息的对应关系,并且在主设备和子设备建立连接的过程中,主设备还进一步确定并记录每个子设备的设备标识以及每个子设备所支持协议的协议码的对应关系,从而在后续的交互过程中可以通过操作请求报文中携带的协议码确定每个子设备所支持的协议,从而对所接收的操作请求报文进行快速解析,以及在反馈响应时可以根据每个子设备所支持的协议信息生成子设备可以正确解析的响应报文。
在本申请的一些实施例中,在上述主设备103与上述至少一个子设备104建立连接之后,主设备103可以进一步根据自身建立的设备标识和协议码的对应关系,确定一个子设备104对应协议码,然后根据确定的协议码确定该子设备104对应的协议信息,再根据该子设备104对应的协议信息生成包含该子设备104的设备标识的控制指令,并通过发送总线101发送生成的控制指令至该子设备104,从而实现对各个子设备104的控制。
由上述操作可以看出,在本申请的一些实施例中,主设备预先存储了协议码和协议信息的对应关系,并且在主设备和子设备建立连接的过程中,主设备还进一步确定并记录每个子设备的设备标识以及每个子设备所支持协议的协议码的对应关系,从而在后续对子设备进行控制的过程中可以依据每个子设备的设备标识快速确定每个子设备所支持的协议信息,从而生成子设备可以正确解析的控制指令。
上述至少一个子设备104内也需要存储自身所支持协议的协议码以及与该协议码对应的协议信息。这样,子设备104在需要发送操作请求报文至主设备103时,需要在操作请求报文上加入自身所支持协议的协议码。子设备设置有载波侦听机制,当自身需要发送报文时,该子设备侦听上述接收总线上是否已经有其它子设备在发送数据。如果没有,就立即发送自身的报文;如果有,则延时一个随机的时间,再重新侦听上述接收总线上是否已经有其它子设备在发送数据。
此外,上述至少一个子设备104还可以侦听主设备在上述发送总线101上发送的响应报文或控制指令,并对发送总线101上的响应报文进行解析,来接收主设备103发送给自身的响应报文。具体而言,子设备104在侦听到响应报文或控制指令时首先根据自身所支持协议的协议信息对所接收报文进行解析,并根据解析结果中该报文所携带的设备标识确定该报文是否为发送给自身的报文。如果是,则根据该报文的内容指示进行处理,如果不是,则可以不对该响应报文进行任何处理。
在本申请的实施例中,上述发送总线101和所述接收总线102为双绞线。其中,上述双绞线包括两根绞合在一起的金属导线,且上述双绞线上传输的是差分形式的数据。在本申请的实施例中,通过上述差分的方式传输信号可以实现抗干扰能力很强以及通信距离长等技术效果。
在本申请的实施例中,上述主设备103可以通过总线交换机105连接至上述发送总线101和接收总线102。具体而言,上述主设备103可以通过总线交换机将自身的输入接口连接至上述接收总线102;而通过总线交换机将自身的输出接口连接至上述发送总线101。其中,主设备103和总线交换机105之间可以通过以太网总线连接。
在本申请的实施例中,上述至少一个子设备104的两个输入接口RX+和RX-分别连接至作为接收总线的双绞线中的一根金属导线上;上述至少一个子设备104的两个输出接口TX+和TX-分别连接至作为发送总线的双绞线中的一根金属导线上。
在本申请的实施例中,上述并联方式具体可以为手拉手连接方式。具体而言,通过手拉手链接方式,可以将前一个设备的信号线并联到后一个设备的信号线上,这样,一条总线,例如RS 485总线可以挂载多个从设备。
下面将结合附图详细说明上述手拉手连接方式。假设上述控制系统100包含一个主设备103,N个子设备104,其中N为正整数。图2为本申请一个实施例所述的通过手拉手连接方式连接的一个控制系统的内部结构示意图。如图2所示,该控制系统中的N个子设备104按照距离主设备103依次排列为1~N号子设备104,分别称为子设备1……子设备N。其中,子设备1的两个输入接口RX+和RX-分别连接至发送总线的一根金属线上;子设备1的两个输出接口TX+和TX-分别连接至接收总线的一根金属线上。子设备i的两个输入接口分别连接至子设备i-1的两个输入接口;子设备i的两个输出接口分别连接至子设备i-1的两个输出接口。子设备i+1的两个输入接口分别连接至子设备i的两个输入接口;子设备i+1的两个输出接口分别连接至子设备i的两个输出接口。其中,i∈[2,N]。在本申请的实施例中,通过这种手拉手的连接方式可以尽量减少节点设备与主干线路之间的距离从而有效避免反射信号的产生,提高信号传输的质量。
需要说明的是,在实际应用中,上述通过手拉手连接方式连接的N个子设备也可以作为一个总线分支,与其他具有相同结构的总线分支进行连接从而构建出更为复杂的网络拓扑结构。例如,如果所需要的传输距离较远,则可以使用中继器(例如,RS 485中继器)将多段总线分支接续起来,连接成更长的总线。还例如,如果使用集线器(RS 485集线器)还可以将多段总线分支连接成星型的网络拓扑结构等等。
本申请的一个实施例给出了上述连接请求报文一种示例性的结构,可以如图3所示。在图3中,本申请的实施例所述的连接请求报文可以包括:报文头301、协议码302、设备标识303、指令内容304以及校验码305。其中,报文头301可以用于引导后面的数据,提示主设备后面跟着的是真实的数据。例如,可以设置报文头是0x55,这样当主设备识别到有0x55信号时就可以确定后面有真实的数据发过来了,而不是总线上的干扰。其中,报文头301的长度可以设置为1个字节。协议码302为协议类型的标识,其长度可以根据该控制系统所支持的协议数量而定,例如可以设置为1个字节、2个字节或3个字节。设备标识303为子设备的标识或称ID,例如可以为不同的开关、插座、窗帘等设备设置不同的设备标识303。该设备标识303的长度可以根据该控制系统所支持的设备类型的数量而定,例如可以设置为1个字节、2个字节或3个字节。指令内容304为具体的指令,其长度可以设置为固定长度,例如3个字节。校验码305用于进行报文的校验,其长度可以设置为固定长度,例如3个字节。
本申请通过在子设备发送的连接请求报文或操作请求报文中携带协议码信息,可以使系统中的主设备快速确定所接收报文对应的协议。此外,通过在主设备内预先存储协议码和协议信息的映射关系,可以快速获得所接收的报文对应的协议信息,从而可对所接收的报文进行快速且有效地解析。
更进一步,通过上述发送总线101和接收总线102单独分别设置的方式,可以实现主设备和子设备之间的全双工通信,也即主设备在接收报文的同时也可以发送报文。这样,各个子设备无需等待主设备反馈响应报文即可通过单独的接收总线发送请求报文至主设备,且可以确定总线的等待时间,在最大程度上避免子设备之间在占有总线的时间上的冲突,从而避免丢包及错误。
此外,在上述控制系统中,主设备103可以识别一个协议再应答一个协议,识别和应答是同步进行,互不干扰,而且识别不同协议的过程可以连续不间断的执行,应答的内容也是连续不间断的执行。从而大大提高总线的使用效率,也能从根本上解决现有的一条RS485总线只能兼容一个协议的难题。
对应上述基于总线的控制系统,本申请的实施例还提供了一种基于总线的控制方法,该方法可以由控制系统中的主设备执行。图4显示了本申请实施例所述的一种基于总线的控制方法流程图。如图4所示,该方法可以包括:
步骤401:通过接收总线从一个子设备接收包含协议码以及设备标识的连接请求报文;
步骤402:建立设备标识与协议码的对应关系;
步骤403:根据所述连接请求报文中的协议码以及预先存储的至少一种协议的协议码及其对应的协议信息确定所述子设备对应的协议信息;
步骤404:根据所述子设备对应的协议信息以及所述设备标识通过发送总线和所述接收总线与所述子设备建立连接。
在本申请的实施例中,上述协议信息可以包括:报文格式、报文长度、报文校验方式、以及报文加密方式。
上述步骤404可以包括:根据确定的与所述子设备对应的报文格式、报文长度、报文校验方式、以及报文加密方式以及所述设备标识通过发送总线和所述接收总线与所述子设备建立连接。
在本申请的实施例中,在与子设备建立连接之后,上述方法还可以进一步包括:通过接收总线接收子设备发送的包含协议码的操作请求报文,根据协议码确定子设备对应的协议信息,根据确定的协议信息解析操作请求报文,根据解析后的操作请求报文生成包含上述子设备的设备标识的响应报文,并通过发送总线反馈所生成的响应报文至子设备。
在本申请的实施例中,在与子设备建立连接之后,上述方法还可以进一步包括:根据自身建立的设备标识和协议码的对应关系,确定一个子设备对应协议码,然后根据确定的协议码确定该子设备对应的协议信息,再根据该子设备对应的协议信息生成包含该子设备104的设备标识的控制指令,以及通过发送总线发送生成的控制指令至上述子设备。
上述连接请求报文的报文结构,可以如图3所示,包括:协议头301、协议码302、设备标识303、指令内容304以及校验码305。
本申请通过在子设备发送的请求报文中携带协议码信息,可以使系统中的主设备快速确定所接收报文对应的协议。此外,通过在主设备内预先存储协议码和协议信息的映射关系,可以快速获得所接收报文对应的协议信息,从而可对所接收报文进行快速且有效地解析。
更进一步,通过上述发送总线和接收总线单独分别设置的方式,可以实现主设备和子设备之间的全双工通信,也即主设备在接收报文的同时也可以发送报文。这样,各个子设备无需等待主设备反馈响应报文即可通过单独的接收总线发送请求报文至主设备,且可以确定总线的等待时间,在最大程度上避免子设备之间在占有总线的时间上的冲突,从而避免丢包及错误。
更进一步,在上述控制方法中,主设备可以识别一个协议再应答一个协议,识别和应答是同步进行,互不干扰,而且识别不同协议的过程可以连续不间断的执行,应答的内容也是连续不间断的执行。从而大大提高总线的使用效率,也能从根本上解决现有的一条RS485总线只能兼容一个协议的难题。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施例中的硬件模块可以以硬件方式或硬件平台加软件的方式实现。上述软件包括机器可读指令,存储在非易失性存储介质中。
因此,各实施例也可以体现为软件产品。因此,本申请的一些实例还提供了一种计算机可读存储介质,其上存储有计算机指令,其中,所述计算机指令被处理器执行时实现上述图4所述方法的步骤。
各例中,硬件可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。
此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,这种数据处理程序可用于执行本申请上述方法实例中的任何一种实例。
非易失性计算机可读存储介质可以是插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器。安装在扩展板或者扩展单元上的CPU等可以根据指令执行部分和全部实际操作。另外,在本申请各个实例中的装置及各模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上装置或模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (15)
1.一种基于总线的控制系统,其中,所述系统包括:
发送总线和接收总线;
连接到所述发送总线和接收总线上的主设备;以及
通过并联方式连接到所述发送总线和接收总线上的至少一个子设备;其中,
所述主设备存储至少一种协议的协议码及对应的协议信息;
所述主设备通过所述接收总线分别从所述至少一个子设备接收包含协议码以及设备标识的连接请求报文,建立所述设备标识与所述协议码的对应关系,根据所述连接请求报文中的协议码分别确定所述至少一个子设备对应的协议信息,以及根据所述至少一个子设备对应的协议信息以及设备标识通过所述发送总线和接收总线分别与所述至少一个子设备建立连接。
2.根据权利要求1所述的系统,其中,所述发送总线和所述接收总线分别为双绞线,其中,在所述双绞线上传输差分形式的数据;
所述主设备通过总线交换机将自身输入接口连接至所述接收总线,以及将自身输出接口连接至所述发送总线;
所述至少一个子设备的两个输入接口分别连接至作为接收总线的双绞线中的一根金属导线上;所述至少一个子设备的两个输出接口分别连接至作为发送总线的双绞线中的一根金属导线上。
3.根据权利要求2所述的系统,其中,所述并联方式为手拉手连接方式。
4.根据权利要求2所述的系统,其中,所述并联方式包括:将通过手拉手连接方式连接的N个子设备作为一个总线分支,并通过中继器将多段所述总线分支接续起来;其中,N为正整数。
5.根据权利要求2所述的系统,其中,所述并联方式包括:将通过手拉手连接方式连接的N个子设备作为一个总线分支,并通过集线器将多段所述总线分支连接成星型的网络拓扑结构;其中,N为正整数。
6.根据权利要求1所述的系统,其中,所述协议信息包括:报文格式、报文长度、报文校验方式、以及报文加密方式;以及
所述主设备分别根据确定的与所述至少一个子设备对应的报文格式、报文长度、报文校验方式、以及报文加密方式以及设备标识分别与所述至少一个子设备建立连接。
7.根据权利要求1所述的系统,其中,所述主设备与所述至少一个子设备建立连接之后进一步通过所述接收总线接收其中一个子设备发送的包含协议码的操作请求报文,根据所述协议码确定所述子设备对应的协议信息,根据确定的协议信息解析所述操作请求报文,根据解析后的操作请求报文以及所述子设备对应的协议信息生成包含所述子设备的设备标识的响应报文,并通过所述发送总线反馈所生成的响应报文至所述子设备。
8.根据权利要求1所述的系统,其中,所述主设备与所述至少一个子设备建立连接之后进一步根据自身建立的设备标识和协议码的对应关系,确定一个子设备对应协议码,根据确定的协议码确定所述子设备对应的协议信息,根据所述子设备对应的协议信息生成包含所述子设备的设备标识的控制指令,以及通过所述发送总线发送生成的控制指令至所述子设备。
9.根据权利要求1所述的系统,其中,所述连接请求报文进一步包括:协议头、指令内容以及校验码。
10.一种基于总线的控制方法,其中,所述方法包括:
通过接收总线从一个子设备接收包含协议码以及设备标识的连接请求报文;
建立所述设备标识与所述协议码的对应关系;
根据所述连接请求报文中的协议码以及预先存储的至少一种协议的协议码及其对应的协议信息确定所述子设备对应的协议信息;以及
根据所述子设备对应的协议信息以及所述设备标识通过发送总线和所述接收总线与所述子设备建立连接。
11.根据权利要求10所述的方法,其中,所述协议信息包括:报文格式、报文长度、报文校验方式、以及报文加密方式;以及
根据所述子设备对应的协议信息以及所述设备标识通过发送总线和所述接收总线与所述子设备建立连接包括:根据确定的与所述子设备对应的报文格式、报文长度、报文校验方式、以及报文加密方式以及所述设备标识通过发送总线和所述接收总线与所述子设备建立连接。
12.根据权利要求10所述的方法,其中,在与所述子设备建立连接之后,所述方法进一步包括:通过所述接收总线接收所述子设备发送的包含协议码的操作请求报文,根据所述协议码确定所述子设备对应的协议信息,根据确定的协议信息解析所述操作请求报文,根据解析后的操作请求报文以及所述子设备对应的协议信息生成包含所述子设备的设备标识的响应报文,并通过所述发送总线反馈所生成的响应报文至所述子设备。
13.根据权利要求10所述的方法,其中,在与所述子设备建立连接之后,所述方法进一步包括:根据自身建立的设备标识和协议码的对应关系,确定一个子设备对应协议码,根据确定的协议码确定所述子设备对应的协议信息,根据所述子设备对应的协议信息生成包含所述子设备的设备标识的控制指令,以及通过所述发送总线发送生成的控制指令至所述子设备。
14.根据权利要求10所述的方法,其中,所述连接请求报文进一步包括:协议头、指令内容以及校验码。
15.一种计算机可读存储介质,其上存储有计算机程序,在处理器执行该计算机程序时可以实现所述权利要求10至14中任一项权利要求的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608958.3A CN111385172B (zh) | 2018-12-27 | 2018-12-27 | 一种基于总线的控制系统、控制方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608958.3A CN111385172B (zh) | 2018-12-27 | 2018-12-27 | 一种基于总线的控制系统、控制方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385172A true CN111385172A (zh) | 2020-07-07 |
CN111385172B CN111385172B (zh) | 2021-11-26 |
Family
ID=71217843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811608958.3A Active CN111385172B (zh) | 2018-12-27 | 2018-12-27 | 一种基于总线的控制系统、控制方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111385172B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338798A (zh) * | 2021-12-27 | 2022-04-12 | 北京神经元网络技术有限公司 | 一种数据传输方法、装置、系统、设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527561A (zh) * | 2003-09-22 | 2004-09-08 | 中兴通讯股份有限公司 | 实现rs-485多点通讯的方法 |
CN101005427A (zh) * | 2006-12-22 | 2007-07-25 | 华为技术有限公司 | 一种485总线系统和传送数据的方法 |
CN101534291A (zh) * | 2008-03-13 | 2009-09-16 | 华为技术有限公司 | Ip报文的发送、接收的方法及装置 |
CN101751361A (zh) * | 2008-12-16 | 2010-06-23 | 联想(北京)有限公司 | 控制移动终端中数据传输接口的切换方法及终端设备 |
CN102591269A (zh) * | 2011-12-27 | 2012-07-18 | 珠海派诺科技股份有限公司 | 设备识别方法及主设备模块和从设备模块 |
CN202472346U (zh) * | 2012-03-27 | 2012-10-03 | 天津创远电气工程有限公司 | 多通讯协议的总线型plc |
CN102957586A (zh) * | 2011-08-23 | 2013-03-06 | 万洲电气股份有限公司 | 基于无冲突协议的全双工rs485总线通信装置及方法 |
CN103077599A (zh) * | 2012-12-27 | 2013-05-01 | 深圳市奥宇控制系统有限公司 | 一种基于仪表的数据采集器及数据采集方法 |
CN104717203A (zh) * | 2015-02-02 | 2015-06-17 | 珠海格力电器股份有限公司 | 总线通信协议识别方法 |
CN104954211A (zh) * | 2014-03-27 | 2015-09-30 | 江西飞尚科技有限公司 | 基于rs485工业总线的接入设备智能识别系统 |
CN105491017A (zh) * | 2015-11-23 | 2016-04-13 | 泰华智慧产业集团股份有限公司 | Rs485总线多设备多协议解析方法及系统 |
CN106790282A (zh) * | 2017-02-24 | 2017-05-31 | 珠海格力电器股份有限公司 | 一种协议转换的方法、装置及空调系统 |
CN106933766A (zh) * | 2015-12-31 | 2017-07-07 | 无锡华润矽科微电子有限公司 | 一种总线控制实现方法 |
US20180262595A1 (en) * | 2017-03-09 | 2018-09-13 | Astronics Advanced Electronic Systems Corp. | Interfaces for selecting among multiple communications protocols |
CN109041139A (zh) * | 2018-07-06 | 2018-12-18 | 广州多益网络股份有限公司 | 一种数据传输方法及移动设备 |
-
2018
- 2018-12-27 CN CN201811608958.3A patent/CN111385172B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527561A (zh) * | 2003-09-22 | 2004-09-08 | 中兴通讯股份有限公司 | 实现rs-485多点通讯的方法 |
CN101005427A (zh) * | 2006-12-22 | 2007-07-25 | 华为技术有限公司 | 一种485总线系统和传送数据的方法 |
CN101534291A (zh) * | 2008-03-13 | 2009-09-16 | 华为技术有限公司 | Ip报文的发送、接收的方法及装置 |
CN101751361A (zh) * | 2008-12-16 | 2010-06-23 | 联想(北京)有限公司 | 控制移动终端中数据传输接口的切换方法及终端设备 |
CN102957586A (zh) * | 2011-08-23 | 2013-03-06 | 万洲电气股份有限公司 | 基于无冲突协议的全双工rs485总线通信装置及方法 |
CN102591269A (zh) * | 2011-12-27 | 2012-07-18 | 珠海派诺科技股份有限公司 | 设备识别方法及主设备模块和从设备模块 |
CN202472346U (zh) * | 2012-03-27 | 2012-10-03 | 天津创远电气工程有限公司 | 多通讯协议的总线型plc |
CN103077599A (zh) * | 2012-12-27 | 2013-05-01 | 深圳市奥宇控制系统有限公司 | 一种基于仪表的数据采集器及数据采集方法 |
CN104954211A (zh) * | 2014-03-27 | 2015-09-30 | 江西飞尚科技有限公司 | 基于rs485工业总线的接入设备智能识别系统 |
CN104717203A (zh) * | 2015-02-02 | 2015-06-17 | 珠海格力电器股份有限公司 | 总线通信协议识别方法 |
CN105491017A (zh) * | 2015-11-23 | 2016-04-13 | 泰华智慧产业集团股份有限公司 | Rs485总线多设备多协议解析方法及系统 |
CN106933766A (zh) * | 2015-12-31 | 2017-07-07 | 无锡华润矽科微电子有限公司 | 一种总线控制实现方法 |
CN106790282A (zh) * | 2017-02-24 | 2017-05-31 | 珠海格力电器股份有限公司 | 一种协议转换的方法、装置及空调系统 |
US20180262595A1 (en) * | 2017-03-09 | 2018-09-13 | Astronics Advanced Electronic Systems Corp. | Interfaces for selecting among multiple communications protocols |
CN109041139A (zh) * | 2018-07-06 | 2018-12-18 | 广州多益网络股份有限公司 | 一种数据传输方法及移动设备 |
Non-Patent Citations (4)
Title |
---|
YUNXIAJIANG: "Design and implementation of CAN-bus experimental system", 《PROCEEDINGS OF 2011 6TH INTERNATIONAL FORUM ON STRATEGIC TECHNOLOGY》 * |
张果: "基于Proteus的RS485总线串行通信的设计与仿真", 《汽车实用技术》 * |
李乐: "全双工RS485总线发送机制的研究", 《中国仪器仪表》 * |
杨培和等: "基于RS-485总线的多机串行通信的设计与实现", 《高性能计算技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338798A (zh) * | 2021-12-27 | 2022-04-12 | 北京神经元网络技术有限公司 | 一种数据传输方法、装置、系统、设备及存储介质 |
CN114338798B (zh) * | 2021-12-27 | 2023-04-25 | 北京神经元网络技术有限公司 | 一种数据传输方法、装置、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111385172B (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106453383B (zh) | 一种基于uart的主从多机通讯系统及方法 | |
CN104317765B (zh) | 一种基于串口通讯的一对多通讯系统和实现方法 | |
EP1750401A1 (en) | USB 1.1 over a high speed link | |
CN106959935B (zh) | 一种兼容i2c通信与ipmb通信的方法 | |
CN105187283A (zh) | 基于EtherCAT协议的工业控制网络从站通信方法及装置 | |
CN104506516A (zh) | 一种Modbus RTU/ASCII和Modbus TCP通信协议转换的网关及其实现方法 | |
CN102546070A (zh) | 使用现有网络线缆来同步网络的方法和系统 | |
US20090077455A1 (en) | Transmission system | |
CN103716092A (zh) | 一种总线型网络中双向光纤通信的组网系统及通信方法 | |
CN103186440A (zh) | 检测子卡在位的方法、装置及系统 | |
CN111385172B (zh) | 一种基于总线的控制系统、控制方法及存储介质 | |
CN110247936B (zh) | 一种通讯协议转换卡及通讯协议转换系统 | |
CN114039808B (zh) | 基于can的多通道的can/lin/sent转发协议 | |
CN106506306B (zh) | 一种数据报文传输的方法和装置 | |
CN113792003A (zh) | 单总线通信单元、系统及方法 | |
US20080021573A1 (en) | Communication system for flexible use in different application scenarios in automation technology | |
CN115657646B (zh) | 一种can控制器的测试方法及装置 | |
CN107911288B (zh) | 列车通信网卡及列车控制管理系统 | |
CN102447599A (zh) | 基于fsm的短距离家居通讯协议的控制系统及控制方法 | |
CN102447597B (zh) | 一种实现ip有效性检测的方法及装置 | |
CN110096002A (zh) | 一种基于canfd总线的自动化测试系统及测试方法 | |
CN113194048B (zh) | 一种动态切换cpu与gpu拓扑的装置及使用方法 | |
CN204945691U (zh) | 一种c4总线 | |
CN110855540B (zh) | 一种基于单环网的485多主通信方法和系统 | |
CN202385121U (zh) | 一种基于fsm的短距离家居通讯协议的控制系统 |
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 |