基于PLC网络的多操作开关仲裁方法
技术领域
本发明涉及一种基于PLC网络的多操作开关仲裁方法。
背景技术
电力线通信(Power Line Carrier ,以下简称PLC)是指利用高压电力线(在电力载波领域通常指35kV及以上电压等级)、中压电力线(指10kV电压等级)或低压配电线(380/220V用户线)作为信息传输媒介进行语音或数据传输的一种特殊通信方式。由于基于PLC技术的网络通信方式是直接使用现有的电力线,因此,其与以太网的不同之处在于:基于PLC技术的通信网络不需要额外的布线工作,并可应用于无线网络不能到达的地下室或遮蔽区域。
但是采用PLC技术的半双工通信网络,通过电力线通信方法控制设备,由于电力线带宽窄,易受环境影响,数据传输不稳定,当短时间内传输请求命令的数据量大时,容易引发通信信息堵塞,造成响应请求速度变缓或严重延迟,导致使用者无法第一时间获取设备的最新状态,造成一些不必要的损失。同时,由于采用PLC技术的通信网络大都是半双工通信方式,信息传递只能从主机发起,连接各设备的主控开关不能自主向主机发送数据,必须由主机发送请求命令之后主控开关才能进行响应,因此,当用户通过主控开关上的按钮直接手动改变设备状态时,更改后的状态不能反馈回主机,导致主机上记录的设备状态信息与实际情况不符,可能导致用户操作错误,也会造成不必要的损失。
基于PLC通信传输的网络控制开关,如何实现主机实时获取设备最新的开关状态且传输请求命令及响应命令的不堵塞,是一个亟待解决的问题。有鉴于此,本发明人对此进行深入研究产生本案。
发明内容
本发明要解决的技术问题,在于提供一种基于家庭PLC网络的多操作开关仲裁方法,其解决了现有PLC网络传输中因通信堵塞或数据传输不稳定,或因手动操作实体按钮导致主机无法实时获取设备最新开关状态,引发用户错误操作等问题。
本发明是这样实现的:
基于PLC网络的多操作开关仲裁方法,所述多操作开关仲裁方法适用于至少一用户终端、一主机、至少一主控开关以及至少一台设备;所述主机、主控开关以及设备设于PLC网络下;即所述主机、主控开关以及设备通过PLC电力载波方式相互连接;所述主控开关内设有一控制芯片,所述控制芯片上设有多个接口,所述接口与所述设备相连,所述控制芯片记录各个接口所连接设备的开或关的状态;每所述接口均对应设置一第一实体按钮,用户能通过第一实体按钮改变设备的状态,所述控制芯片记录经第一实体按钮改变后的接口状态;
所述多操作开关仲裁方法包括轮询步骤和控制步骤,所述轮询步骤具体为:
步骤10、主机读取各控制芯片中每个接口状态,并将读取到的接口状态以主控开关为单位进行堆栈排列,将排列好的堆栈定义为状态堆栈;
步骤20、设置轮询周期;
步骤30、所述主机根据轮询周期定期向所述状态堆栈的栈底对应的主控开关发出查询命令,查询该主控开关的控制芯片所记录的各接口状态,并将各接口状态反馈回主机,主机将其覆盖栈底记录的原接口状态,然后将该栈底置顶,放置在状态堆栈的栈顶;重复步骤30;
通过所述轮询步骤,实时更新主机中状态堆栈记录的各主控开关上各接口状态信息;
所述控制步骤具体为:
步骤100、所述用户终端通过通信网络读取主机中状态堆栈记录的各主控开关中各接口状态;
步骤200、所述用户终端通过通信网络发送请求命令至所述主机,所述主机通过PLC网络将请求命令发送至请求命令中所指定的主控开关;
步骤300、接收到请求命令的主控开关根据请求命令中指定的接口和请求命令的指令,控制该指定接口所连接的设备的状态;
步骤400、该指定接口的状态改变之后,所述控制芯片记录改变后的接口状态,并将各接口状态反馈回主机;
步骤500、所述主机将反馈回的主控开关的各接口状态覆盖该主控开关在状态堆栈中对应位置所记录的原接口状态,然后将更新后的该主控开关的接口状态置顶,放于状态堆栈的栈顶,最后反馈回用户终端。
进一步地,所述主机设有唯一的主机地址编码,通过主机的地址编码实现主机与设备的绑定关联,所述主机在轮询步骤或控制步骤中将各接口状态反馈回主机时,包含主机地址编码信息。
进一步地,各所述主控开关的控制芯片均设有各自唯一的开关地址编码,各控制芯片上的各接口均对应设有一接口位置码,所述主机在轮询步骤中发出的查询命令包含所述开关地址编码,所述主机在控制步骤中发出的请求命令中包含所述开关地址编码和接口位置码。
进一步地,每个第一实体按钮可以根据用户喜好设置单个第一实体按钮控制一个或多个设备。
进一步地,每所述主控开关还连接至少一个从控开关,所述从控开关通过I/O与所述主控开关相连,所述从控开关是主控开关的第二控制开关,所述从控开关设有至少一个第二实体按钮,所述从控开关通过I/O连接获取主控开关上设备对应的接口,且通过I/O将第二实体按钮的操作反馈回对应的主控开关上的接口;每个第二实体按钮可以根据用户喜好设置单个第二实体按钮控制一个或多个设备。
进一步地,所述主控开关为能够远程控制的主控开关。
进一步地,所述用户终端包括计算机终端和移动终端,所述移动终端包括手机和平板电脑。
进一步地,所述轮询周期在10秒~40秒之间。
本发明具有如下优点:本发明通过控制步骤实现远程控制设备的开关状态,将变更后的设备开关状态反馈回主机,且本发明通过轮询步骤,使通过实体按钮控制后的设备状态也能及时更新至主机,且通过轮询步骤保证主机实时获取各设备的最新开关状态,避免误导用户进行错误操作。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明的结构示意图。
图2为本发明轮询步骤的流程示意图。
图3为本发明轮询步骤下状态堆栈的结构示意图。
图4为本发明控制步骤的流程示意图。
图5为本发明控制步骤下状态堆栈的结构示意图。
图6为本发明实体按钮控制下状态堆栈的结构示意图。
具体实施方式
请结合图1至图6所示,对本发明的具体实施例进行详细阐述。
请参阅图1,基于PLC网络的多操作开关仲裁方法,所述多操作开关仲裁方法适用于复数个用户终端、一主机、复数个主控开关以及复数台设备;所述主机、主控开关以及设备设于PLC网络下,即所述主机、主控开关以及设备通过PLC电力载波方式相互连接;所述主控开关内设有一控制芯片(未图示),所述控制芯片上设有多个接口(未图示),所述接口与所述设备相连,所述控制芯片记录各个接口所连接设备的开或关的状态;每所述接口均对应设置一第一实体按钮,用户能通过第一实体按钮改变设备的状态,所述控制芯片记录经第一实体按钮(未图示)改变后的接口状态。每个第一实体按钮可以根据用户喜好设置单个第一实体按钮控制一个设备或控制多个设备。所述用户终端包括计算机终端和移动终端,所述移动终端包括手机和平板电脑。所述主控开关为能够远程控制的主控开关。
所述主机设有唯一的主机地址编码,通过主机的地址编码实现主机与设备的绑定关联。各所述主控开关的控制芯片均设有各自唯一的开关地址编码,各控制芯片上的各接口均对应设有一接口位置码
所述多操作开关仲裁方法包括轮询步骤和控制步骤,请参阅图2和图3,所述轮询步骤具体为:
步骤10、主机读取各控制芯片中每个接口状态,并将读取到的接口状态以主控开关为单位进行堆栈排列,将排列好的堆栈定义为状态堆栈;
步骤20、设置轮询周期,在实施例中,所述轮询周期可在10秒~40秒之间的任意值,在此区间的轮询频率不太高也不太低,恰到好处;
步骤30、请参阅图3,所述主机根据轮询周期定期向所述状态堆栈的栈底对应的主控开关发出查询命令,所述查询命令中包含栈底对应的主控开关的开关地址编码,在图3中,栈底记录编号1的主控开关所控制的各设备的开关状态。查询该主控开关的控制芯片所记录的各接口状态,通过在各接口状态中加入主机地址编码,将各接口状态反馈回主机,主机将其覆盖栈底记录的原接口状态,然后将该栈底置顶,放置在状态堆栈的栈顶;重复步骤30;
通过所述轮询步骤,实时更新主机中状态堆栈记录的各主控开关3上各接口状态信息;
请参阅图4和图5所示,所述控制步骤具体为:
步骤100、所述用户终端通过通信网络读取主机中状态堆栈记录的各主控开关中各接口状态;
步骤200、所述用户终端通过通信网络发送请求命令至所述主机,所述请求命令中包含开关地址编码和接口位置码,所述主机通过PLC网络将请求命令发送至请求命令所指定的主控开关;
步骤300、接收到请求命令的主控开关根据请求命令中指定的接口和请求命令的指令,控制该指定接口所连接的设备的开或关的状态;
步骤400、该指定接口的状态改变之后,所述控制芯片记录改变后的接口状态,通过在接口状态中加入主机地址编码,将各接口状态反馈回主机;
步骤500、所述主机将反馈回的主控开关的各接口状态覆盖该主控开关在状态堆栈中对应位置所记录的原接口状态,然后将更新后的该主控开关的接口状态置顶,放于状态堆栈的栈顶,最后反馈回用户终端。
请再参阅图1,在本实施例中,每所述主控开关还连接至少一个从控开关,所述从控开关通过I/O与所述主控开关相连,所述从控开关是主控开关的第二控制开关,所述从控开关设有至少一个第二实体按钮(未图示),所述从控开关通过I/O连接获取主控开关上设备对应的接口,且通过I/O将第二实体按钮的操作反馈回对应的主控开关上的接口;每个第二实体按钮可以根据用户喜好设置单个第二实体按钮控制一个设备或控制多个设备。
通过主控开关的第一实体按钮或从控开关的第二实体按钮改变设备的开关状态,是不能自主的将变化后的状态传送给主机,变化后的状态只能记录在主控芯片中,如图6所示,主机就不能实时获取到设备开关状态的变化,但是通过本发明的轮询步骤克服了这种缺陷,使主机中记录的设备开关状态保持最新。
本发明通过控制步骤实现远程控制设备的开关状态,且将变更后的设备开关状态反馈回主机,本发明通过轮询步骤,使通过实体按钮控制后的设备状态也能及时更新至主机,且通过轮询步骤保证主机实时获取各设备的最新开关状态,避免误导用户进行错误操作。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。