专利名称:一种基于分布式网络的云台控制方法
技术领域:
本发明涉及计算机网络控制通讯领域,特别涉及一种基于分布式网络的监控设备的控制方法。
背景技术:
现有的云台控制方法通常是基于RS485总线的控制协议,但不适用于以太网,原因在于其无法解决网络延时带来的远程控制问题,当以太网的网速发生变化时,会使云台控制执行出现延时,进而导致远程操控的失误和困难,容易造成执行指令进入死循环或失控。另外,由于现有的云台控制方式为直发式,如果有数据指令发送,云台设备就会一直保持住执行该设备的状态。
发明内容
本发明的目的在于提供一种基于以太网TCP/IP协议的远程控制方法,特别提出一种基于分布式网络的云台控制方法,解决网络延时对远程控制云台操控困难的问题。
本发明所采用的技术方案一种基于分布式网络的云台控制方法,包括用户终端、设备控制端和受控的云台设备,用户终端与设备控制端通过以太网连接,所述云台设备的控制方法包括以下步骤(a).由用户应用程序端发送控制指令串到设备控制程序端;(b).设备控制程序端接收到控制指令串后,将该控制指令串和设备原控制指令串作比较生成新的控制指令串;(c).设备控制程序端将生成的新控制指令串发回用户应用程序端,返回设备可以执行数据量;(d).用户应用程序端接收到新的控制指令串后,修改指令串中的可执行标志位,再次将修改后的控制指令串发送至设备控制程序端;(e).设备控制程序端收到修改后的控制指令串后,与之前生成的新控制指令串比较,若指令数据量相同,则按照控制指令串中的指令数据量和步长量执行控制指令。
上述控制指令串的帧结构为
其中Syn为同步码,ADD为设备地址,C1、C2为指令类别,D1为指令数据量,D2为指令微分量,E1为指令执行使能,E2为指令已执行量,CRC32为校验码。
上述步骤(b)控制指令串和设备原控制指令串的比较过程是指,利用当前控制指令串中的指令数据量D1减去原控制指令串中的指令已执行量E2作为新生成的控制指令串的指令数据量D1。
上述步骤(d)中的用户应用程序端再次将修改后的控制指令串发送至设备控制程序端后,自动清除该控制指令串中的指令数据量D1、指令微分量D2、指令执行使能E1和指令已执行量E2的数据。
上述步骤(e)中设备控制程序端完成每个步长的执行指令后,自动修改控制指令串中的指令已执行量E2的数据。所述步骤(e)中设备控制程序端每按定时完成执行指令后将执行情况的数据返回用户应用程序端。所述用户应用程序端一直保持接收设备控制程序端返回的执行数据。
本发明的显著特点在于,在控制指令串中加入了微分量和已执行量的数据区,并结合控制流程,采用云台执行指令中的数据微分量与执行量相互计算执行,使执行指令不会进入死循环和失控。其控制方式为交互式,当数据量大于执行量时,数据量不能累加;只有当执行量大于数据量时,数据量区才可以接收新数据累加,且最大为数据区最大值,不会造成大量指令数据积聚,有效的解决了以太网网络通讯延时对云台的远程操控困难的问题,达到云台远程网络控制的精确控制。
图1为本发明的网络连接拓扑图;图2为本发明的控制数据流程图;图3为本发明的用户应用程序端的控制流程图;图4为本发明的设备控制程序端的控制流程图。
具体实施例方式
如图1所示为本发明的网络连接图,图示中,1为用户终端,2为服务器,3为交换机,4为A类设备控制服务器,5为B类设备控制服务器,用户终端1与A类设备控制服务器4、B类设备控制服务器5通过以太网连接,其中,A类设备控制服务器4的输出控制端连接有云台设备41、42,B类设备控制服务器5的输出控制端连接有云台设备51、52。
如图2所示为本发明的控制流程图,图示中标号[1],[2]……[9]表示在流程各阶段的控制指令串数据,标号(1),(2)……(9)表示控制流程各阶段的步骤序号。本发明的控制指令串的帧结构为
其中Syn为同步码,ADD为设备地址,C1、C2为指令类别,D1为指令数据量,D2为指令微分量,E1为指令执行使能,E2为指令已执行量,CRC32为校验码。
而传统的控制指令串的帧结构为
其中Syn为同步码,ADD为设备地址,C1、C2为指令类别,D1、D2为指令数据,Checksum为求和。
与传统的控制指令串的帧结构比较本发明的控制指令串的帧结构增加了微分量区和已执行量区,与控制流程相结合可以更精确地操控云台。
如图3、4所示为本发明的用户应用程序端和设备控制程序端的控制流程图,图示中,BUF[]表示控制指令串的变量名,对应于图2中流程图各阶段的控制指令串数据,BUF[].D1、BUF[].E2等表示各控制指令串中的数据位,对应于控制指令串帧结构中的各数据位。如图3中,用户终端发出的控制指令由入口A进入用户应用程序端,按图中所示流程执行;设备控制程序端返回的数据由入口B进入用户应用程序端的执行程序。图中实线所示流程为用户应用程序端和设备控制程序端的执行流程,虚线所示流程为用户应用程序端的内部执行流程。如图4中,用户应用程序端发出的控制指令由入口C进入设备控制程序端的执行程序,图中实线所示流程为设备控制程序端和用户应用程序端的执行流程,虚线所示流程为设备控制程序端的内部执行流程。
以下结合图2至图4的控制流程图,具体介绍本发明的云台控制方法,其通过如下步骤实现(a).由用户应用程序端发送控制指令串[1]到设备控制程序端。
(b).设备控制程序端接收到控制指令串[2]后,将该控制指令串[2]和设备原控制指令串[3]作比较生成新的控制指令串[4]。即利用当前控制指令串[2]中的指令数据量D1减去原控制指令串[3]中的指令已执行量E2作为新生成的控制指令串[4]的指令数据量D1,公式为[4]D1=[2]D1-[3]E2。
(c).设备控制程序端将生成的新控制指令串[4]发回用户应用程序端,返回设备可以执行数据量。
(d).用户应用程序端接收到新的控制指令串[5]后,修改指令串[5]中的可执行标志位E1为10,再次将修改后的控制指令串[6]发送至设备控制程序端;并自动清除该控制指令串[6]中的指令数据量D1、指令微分量D2、指令执行使能E1和指令已执行量E2的数据。
(e).设备控制程序端收到修改后的控制指令串[7]后,与之前生成的新控制指令串[4]比较,若指令数据量D1相同,则按照控制指令串中的指令数据量D1和步长量D2执行控制指令。每个步长D2执行完成后,改写控制指令串[7]的指令已执行量E2数据;设备控制程序端每按定时完成后把执行情况数据返回用户应用程序端;用户应用程序端一直保持接收设备控制程序端返回的执行数据。
在上述交互式的控制指令数据传送过程中,当帧数据区中D1数据量大于D1-E2执行量时,数据量不能累加;只有当数据量小于执行量时,数据量区才可以接收新数据累加,且最大为数据区最大值[FF],所述执行步长量即指令微分量。因此,不会造成大量指令数据积聚,有效的解决了以太网网络通讯延时对云台的远程操控困难的问题,达到云台远程网络控制的精确控制。
权利要求
1.一种基于分布式网络的云台控制方法,包括用户终端、设备控制端和受控的云台设备,用户终端与设备控制端通过以太网连接,其特征在于,所述云台设备的控制方法包括以下步骤a.由用户应用程序端发送控制指令串到设备控制程序端;b.设备控制程序端接收到控制指令串后,将该控制指令串和设备原控制指令串作比较生成新的控制指令串;c.设备控制程序端将生成的新控制指令串发回用户应用程序端,返回设备可以执行数据量;d.用户应用程序端接收到新的控制指令串后,修改指令串中的可执行标志位,再次将修改后的控制指令串发送至设备控制程序端;e.设备控制程序端收到修改后的控制指令串后,与之前生成的新控制指令串比较,若指令数据量相同,则按照控制指令串中的指令数据量和步长量执行控制指令。
2.根据权利要求1所述的基于分布式网络的云台控制方法,其特征在于,所述控制指令串的帧结构为
其中Syn为同步码,ADD为设备地址,C1、C2为指令类别,D1为指令数据量,D2为指令微分量,E1为指令执行使能,E2为指令已执行量,CRC32为校验码。
3.根据权利要求1所述的基于分布式网络的云台控制方法,其特征在于,所述步骤(b)中控制指令串和设备原控制指令串的比较过程是指,利用当前控制指令串中的指令数据量D1减去原控制指令串中的指令已执行量E2作为新生成的控制指令串的指令数据量D1。
4.根据权利要求1所述的基于分布式网络的云台控制方法,其特征在于,所述步骤(d)中的用户应用程序端再次将修改后的控制指令串发送至设备控制程序端后,自动清除该控制指令串中的指令数据量D1、指令微分量D2、指令执行使能E1和指令已执行量E2的数据。
5.根据权利要求1所述的基于分布式网络的云台控制方法,其特征在于,所述步骤(e)中设备控制程序端完成每个步长的执行指令后,自动修改控制指令串中的指令已执行量E2的数据。
6.根据权利要求1或5所述的基于分布式网络的云台控制方法,其特征在于,所述步骤(e)中设备控制程序端每按定时完成执行指令后将执行情况的数据返回用户应用程序端。
7.根据权利要求6所述的基于分布式网络的云台控制方法,其特征在于,所述用户应用程序端一直保持接收设备控制程序端返回的执行数据。
全文摘要
本发明涉及计算机网络控制通讯领域,公开了一种基于分布式网络的云台控制方法,其控制指令串中加入了微分量和已执行量的数据区,结合控制流程,采用云台执行指令中的数据微分量与执行量相互计算执行,实现远程云台操控,使执行指令不会进入死循环和失控。其控制方式为交互式,当数据量大于执行量时,数据量不能累加;只有当执行量大于数据量时,数据量区才可以接收新数据累加,且最大为数据区最大值,不会造成大量指令数据积聚,有效的解决了以太网网络通讯延时对云台的远程操控困难的问题,达到云台远程网络控制的精确控制。
文档编号H04L12/26GK1838612SQ200610035189
公开日2006年9月27日 申请日期2006年4月25日 优先权日2006年4月25日
发明者曾爱民 申请人:曾爱民