上位机与下位机的组网通讯方法

文档序号:7768785阅读:3691来源:国知局
专利名称:上位机与下位机的组网通讯方法
技术领域
本发明涉及单个上位机与多个下位机的组网通讯方法,尤其是通过二总线或单信道频率载波上传数据的通讯方法。
背景技术
现有的单个上位机与多个下位机之间相互交换数据的通讯方法,一般是以上位机轮询或是下位机单次或多次上传的模式,进行通讯的。这些通讯模式要是联网的下位机数量多的话,容易造成通讯效率严重延缓。
对于由上位机发查询指令后进行的通讯模式而言,假如连线下位机较多的情况下,特别是出现个别下位机掉线的情况,数据通讯效率就会大大的延缓,以致下位机的数据无法以最快的速度向上传递,有可能会在数秒钟甚至更长才传达上位机,下位机数据上传的反应能力不够。
对于由下位机主动发出信号的通讯模式而言,上位机的反应能力很高,但是两个下位机同时上传数据时就很容易冲码,而致使整体系统瘫痪。发明内容
针对上述现有技术存在的不足,本发明提供一种上位机与下位机的组网通讯方法,它具有通讯效率高、下位机之间不会发生冲码冲突的特点。
为了实现上述目的,本发明所采用的技术方案是
上位机与下位机的组网通讯方法,包括以下步骤
(1)上位机发出广播查询指令或中断脉冲信号,并启动第一计时器倒计时,倒计时期间内,上位机设置成指令数据接收状态;
(2)下位机缓存内若有指令数据需要上传则启用广播查询指令判断程序或中断脉冲信号检测程序;
(3)下位机判断到存在广播查询指令或中断脉冲信号,则按本机的延时规则计时后向上位机返回以本机地址码或特定编码表示的指令数据,各下位机之间自动形成顺序延时;
(4)在第一计时器计时期间内,上位机判断返回的指令数据,是否属于上位机内登记的符合指令规则的地址值或编码值,若不符合指令规则,则丢弃该指令数据;
(5)若指令数据符合指令规则,上位机根据该地址码或特定编码,逐一查询下位机,与对应地址码或特定编码的下位机作数据交换。
进一步,所述第一计时器的倒计时的时间长短不小于下位机最大的地址码或特定编码和返回指令数据所需通讯时间的乘积。
所述步骤(3)中,下位机内部设定缓存保留时长,如指令数据超过该缓存保留时长,没成功上传至上位机,则自动清除延时返回地址指令的功能,并关闭广播查询指令判断程序或中断脉冲信号检测程序。
本发明的技术构思在于在同一延时起始时间的情况下,各下位机根据不同的延时向上位机返回以本机地址码或特定编码表示的指令数据,这样不会出现两个下位机因同时上传指令数据而引起的冲码现象,然后,上位机再根据返回的地址码或特定编码指令逐一查询对应的下位机并作数据交换;
另外,本发明采用的通讯模式是在上位机发出查询指令或中断脉冲信号的基础上,下位机若有指令数据上传则启用广播查询指令判断程序或中断脉冲信号检测程序,二者配合后才进行数据交换;对于下位机在发生数据通讯之前就已掉线的情况,下位机不会启动广播查询指令判断程序或中断脉冲信号检测程序,不进行通讯连接,自然不会影响整体通讯进程;下位机通过设定缓存保留时长以限定上传指令数据的有效时效,避免下位机数据因迟迟不能上传而影响通讯效率,同时也避免把过时的数据送至上位机。
本发明的有益效果在于(1)下位机之间不会发生冲码冲突以致系统瘫痪;(2)不会因单个下位机在发生数据通讯之前掉线而影响通讯效率;C3)下位机设定上传指令数据的有效时效,避免下位机的指令数据因迟迟不能上传而影响通讯效率,同时也避免把过时的数据送至上位机。


下面结合附图和实施例对本发明进一步说明。
图1是本发明的上位机与下位机的组网结构图。
图2是本发明的下位机的延时响应图。
图3是本发明的上位机工作流程图。
图4是本发明的下位机工作流程图。
具体实施方式
以下所述仅为本发明的较佳实施例,并不因此而限定本发明的保护范围。
实施例,见图1至图4所示上位机与下位机的组网通讯方法,适用于一个上位机与多个下位机走同一物理通讯连线的组网模式或是上传和下传使用同一频率信道的载波通讯的组网模式,本实施例中,下位机有5台,分别为1号下位机、2号下位机、3号下位机、4 号下位机、5号下位机。该组网通讯方法包括以下步骤
(1)上位机发出广播查询指令或中断脉冲信号,并启动第一计时器倒计时,倒计时期间内,上位机设置成指令数据接收状态;
(2)下位机缓存内若有指令数据需要上传则启用广播查询指令判断程序或中断脉冲信号检测程序;
(3)下位机判断到存在广播查询指令或中断脉冲信号,则启动第二计时器倒计时, 此过程中,下位机不断检测第二计时器是否溢出,当第二计时器溢出时,也即第二计时器计时完毕,下位机按本机的延时规则计时后向上位机返回以本机地址码或特定编码表示的指令数据,各下位机之间自动形成顺序延时;顺序延时的意思是,在同一延时起始时间的情况下,各下位机延时时间顺序递增。所述第二计时器倒计时的时间长短不小于地址指令和返回该地址指令所需通讯时间的乘积;
(4)在第一计时器计时期间内,上位机判断返回的指令数据是否属于上位机内登4CN 102546332 A记的符合指令规则的地址值或编码值,若指令数据不符合指令规则,则丢弃该指令数据;若指令数据符合指令规则,则将该指令数据写入待询计划缓存;
(5)上位机判断第一计时器是否溢出,若无溢出则返回步骤,若第一计时器溢出,则判断待询计划缓存内是否有指令数据,若没有指令数据则返回步骤(1),若有指令数据则根据待询计划缓存内的地址码或特定编码指令,逐一查询下位机,与对应的下位机作数据交换;对应每个下位机而言,数据交换成功后,上位机向该下位机发出通讯成功指令, 下位机关闭广播查询指令判断程序或中断脉冲信号检测程序;
(6)待逐一查询下位机完毕后,上位机清空待询计划缓存,并返回步骤(1)循环。
所述步骤(3)中,下位机内部设定缓存保留时长,如指令数据超过该缓存保留时长,没成功上传至上位机,则自动清除延时返回地址指令的功能,并关闭广播查询指令判断程序或中断脉冲信号检测程序。通过设定下位机上传地址指令的有效时效,保证下位机的地址指令不至于因迟迟不能上传而影响通讯效率,同时也避免把过时的数据送至上位机。
所述第一计时器的倒计时的时间长短不小于下位机最大的地址码或特定编码和返回指令数据所需通讯时间的乘积。
本实施例的工作原理在同一延时起始时间的情况下,各下位机根据不同的延时向上位机返回本机的指令数据(地址码或特定编码),这样不会出现两个下位机因同时上传指令数据而引起的冲码现象,然后,上位机再根据返回的地址码或特定编码指令逐一查询对应的下位机并作数据交换;
另外,本实施例采用的通讯模式是在上位机发出查询指令或中断脉冲信号的基础上,下位机若有指令数据上传则启用广播查询指令判断程序或中断脉冲信号检测程序, 二者配合后才进行数据交换;对于下位机在发生数据通讯之前就已掉线的情况,下位机不会启动广播查询指令判断程序或中断脉冲信号检测程序,不进行通讯连接,自然不会影响整体通讯进程;下位机通过设定缓存保留时长以限定上传指令数据的有效时效,避免下位机数据因迟迟不能上传而影响通讯效率,同时也避免把过时的数据送至上位机。
对于下位机在发生数据通讯后就已掉线的情况,上位机则每隔一定时间判断一次发生过数据通讯的地址码或特定编码是否存在,没有记录的,则预警下位机掉线。本实施例中间隔判断时间为60秒。
为了可以及时反映下位机在线状态,下位机假如长时间没有指令数据需要上传。 可以让下位机自动自检计时,比如下位机没有数据与上位机通讯,保持超过60秒钟,自动形成在线通讯指令,开启广播查询指令判断程序或中断脉冲信号检测程序。
权利要求
1.上位机与下位机的组网通讯方法,其特征在于包括以下步骤(1)上位机发出广播查询指令或中断脉冲信号,并启动第一计时器倒计时,倒计时期间内,上位机设置成指令数据接收状态;(2)下位机缓存内若有指令数据需要上传则启用广播查询指令判断程序或中断脉冲信号检测程序;(3)下位机判断到存在广播查询指令或中断脉冲信号,则按本机的延时规则计时后向上位机返回以本机地址码或特定编码表示的指令数据,各下位机之间自动形成顺序延时(4)在第一计时器计时期间内,上位机判断返回的指令数据,是否属于上位机内登记的符合指令规则的地址值或编码值,若不符合指令规则,则丢弃该指令数据;(5)若指令数据符合指令规则,上位机根据该地址码或特定编码,逐一查询下位机,与对应地址码或特定编码的下位机作数据交换。
2.根据权利要求1所述的上位机与下位机的组网通讯方法,其特征在于所述第一计时器的倒计时的时间长短不小于下位机最大的地址码或特定编码和返回指令数据所需通讯时间的乘积。
3.根据权利要求1或2所述的上位机与下位机的组网通讯方法,其特征在于所述步骤(3)中,下位机内部设定缓存保留时长,如地址指令超过该缓存保留时长,没有成功上传至上位机,则自动清除延时返回地址指令的功能,并关闭广播查询指令判断程序或中断脉冲信号检测程序。
全文摘要
本发明公开了一种上位机与下位机的组网通讯方法,包括以下步骤上位机发出广播查询指令或中断脉冲信号,并启动第一计时器倒计时,倒计时期间内,上位机设置成指令数据接收状态;下位机若有指令数据需要上传则启用广播查询指令判断程序或中断脉冲信号检测程序;下位机判断到存在广播查询指令或中断脉冲信号,则向上位机返回以本机地址码或特定编码指令;在第一计时器计时期间内,上位机判断返回的地址码或特定编码指令,是否属于上位机内登记的符合指令规则的地址值或编码值;若指令数据符合指令规则,上位机根据该地址码或特定编码指令,逐一查询下位机,与对应的下位机作数据交换。本发明优点通讯效率高、下位机之间不会发生冲码冲突。
文档编号H04L12/40GK102546332SQ20101058888
公开日2012年7月4日 申请日期2010年12月14日 优先权日2010年12月14日
发明者黄越杰 申请人:黄越杰
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1