專利名稱:一種基于分布式網(wǎng)絡(luò)的云臺控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)控制通訊領(lǐng)域,特別涉及一種基于分布式網(wǎng)絡(luò)的監(jiān)控設(shè)備的控制方法。
背景技術(shù):
現(xiàn)有的云臺控制方法通常是基于RS485總線的控制協(xié)議,但不適用于以太網(wǎng),原因在于其無法解決網(wǎng)絡(luò)延時帶來的遠(yuǎn)程控制問題,當(dāng)以太網(wǎng)的網(wǎng)速發(fā)生變化時,會使云臺控制執(zhí)行出現(xiàn)延時,進(jìn)而導(dǎo)致遠(yuǎn)程操控的失誤和困難,容易造成執(zhí)行指令進(jìn)入死循環(huán)或失控。另外,由于現(xiàn)有的云臺控制方式為直發(fā)式,如果有數(shù)據(jù)指令發(fā)送,云臺設(shè)備就會一直保持住執(zhí)行該設(shè)備的狀態(tài)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于以太網(wǎng)TCP/IP協(xié)議的遠(yuǎn)程控制方法,特別提出一種基于分布式網(wǎng)絡(luò)的云臺控制方法,解決網(wǎng)絡(luò)延時對遠(yuǎn)程控制云臺操控困難的問題。
本發(fā)明所采用的技術(shù)方案一種基于分布式網(wǎng)絡(luò)的云臺控制方法,包括用戶終端、設(shè)備控制端和受控的云臺設(shè)備,用戶終端與設(shè)備控制端通過以太網(wǎng)連接,所述云臺設(shè)備的控制方法包括以下步驟(a).由用戶應(yīng)用程序端發(fā)送控制指令串到設(shè)備控制程序端;(b).設(shè)備控制程序端接收到控制指令串后,將該控制指令串和設(shè)備原控制指令串作比較生成新的控制指令串;(c).設(shè)備控制程序端將生成的新控制指令串發(fā)回用戶應(yīng)用程序端,返回設(shè)備可以執(zhí)行數(shù)據(jù)量;(d).用戶應(yīng)用程序端接收到新的控制指令串后,修改指令串中的可執(zhí)行標(biāo)志位,再次將修改后的控制指令串發(fā)送至設(shè)備控制程序端;(e).設(shè)備控制程序端收到修改后的控制指令串后,與之前生成的新控制指令串比較,若指令數(shù)據(jù)量相同,則按照控制指令串中的指令數(shù)據(jù)量和步長量執(zhí)行控制指令。
上述控制指令串的幀結(jié)構(gòu)為
其中Syn為同步碼,ADD為設(shè)備地址,C1、C2為指令類別,D1為指令數(shù)據(jù)量,D2為指令微分量,E1為指令執(zhí)行使能,E2為指令已執(zhí)行量,CRC32為校驗(yàn)碼。
上述步驟(b)控制指令串和設(shè)備原控制指令串的比較過程是指,利用當(dāng)前控制指令串中的指令數(shù)據(jù)量D1減去原控制指令串中的指令已執(zhí)行量E2作為新生成的控制指令串的指令數(shù)據(jù)量D1。
上述步驟(d)中的用戶應(yīng)用程序端再次將修改后的控制指令串發(fā)送至設(shè)備控制程序端后,自動清除該控制指令串中的指令數(shù)據(jù)量D1、指令微分量D2、指令執(zhí)行使能E1和指令已執(zhí)行量E2的數(shù)據(jù)。
上述步驟(e)中設(shè)備控制程序端完成每個步長的執(zhí)行指令后,自動修改控制指令串中的指令已執(zhí)行量E2的數(shù)據(jù)。所述步驟(e)中設(shè)備控制程序端每按定時完成執(zhí)行指令后將執(zhí)行情況的數(shù)據(jù)返回用戶應(yīng)用程序端。所述用戶應(yīng)用程序端一直保持接收設(shè)備控制程序端返回的執(zhí)行數(shù)據(jù)。
本發(fā)明的顯著特點(diǎn)在于,在控制指令串中加入了微分量和已執(zhí)行量的數(shù)據(jù)區(qū),并結(jié)合控制流程,采用云臺執(zhí)行指令中的數(shù)據(jù)微分量與執(zhí)行量相互計(jì)算執(zhí)行,使執(zhí)行指令不會進(jìn)入死循環(huán)和失控。其控制方式為交互式,當(dāng)數(shù)據(jù)量大于執(zhí)行量時,數(shù)據(jù)量不能累加;只有當(dāng)執(zhí)行量大于數(shù)據(jù)量時,數(shù)據(jù)量區(qū)才可以接收新數(shù)據(jù)累加,且最大為數(shù)據(jù)區(qū)最大值,不會造成大量指令數(shù)據(jù)積聚,有效的解決了以太網(wǎng)網(wǎng)絡(luò)通訊延時對云臺的遠(yuǎn)程操控困難的問題,達(dá)到云臺遠(yuǎn)程網(wǎng)絡(luò)控制的精確控制。
圖1為本發(fā)明的網(wǎng)絡(luò)連接拓?fù)鋱D;圖2為本發(fā)明的控制數(shù)據(jù)流程圖;圖3為本發(fā)明的用戶應(yīng)用程序端的控制流程圖;圖4為本發(fā)明的設(shè)備控制程序端的控制流程圖。
具體實(shí)施例方式
如圖1所示為本發(fā)明的網(wǎng)絡(luò)連接圖,圖示中,1為用戶終端,2為服務(wù)器,3為交換機(jī),4為A類設(shè)備控制服務(wù)器,5為B類設(shè)備控制服務(wù)器,用戶終端1與A類設(shè)備控制服務(wù)器4、B類設(shè)備控制服務(wù)器5通過以太網(wǎng)連接,其中,A類設(shè)備控制服務(wù)器4的輸出控制端連接有云臺設(shè)備41、42,B類設(shè)備控制服務(wù)器5的輸出控制端連接有云臺設(shè)備51、52。
如圖2所示為本發(fā)明的控制流程圖,圖示中標(biāo)號[1],[2]……[9]表示在流程各階段的控制指令串?dāng)?shù)據(jù),標(biāo)號(1),(2)……(9)表示控制流程各階段的步驟序號。本發(fā)明的控制指令串的幀結(jié)構(gòu)為
其中Syn為同步碼,ADD為設(shè)備地址,C1、C2為指令類別,D1為指令數(shù)據(jù)量,D2為指令微分量,E1為指令執(zhí)行使能,E2為指令已執(zhí)行量,CRC32為校驗(yàn)碼。
而傳統(tǒng)的控制指令串的幀結(jié)構(gòu)為
其中Syn為同步碼,ADD為設(shè)備地址,C1、C2為指令類別,D1、D2為指令數(shù)據(jù),Checksum為求和。
與傳統(tǒng)的控制指令串的幀結(jié)構(gòu)比較本發(fā)明的控制指令串的幀結(jié)構(gòu)增加了微分量區(qū)和已執(zhí)行量區(qū),與控制流程相結(jié)合可以更精確地操控云臺。
如圖3、4所示為本發(fā)明的用戶應(yīng)用程序端和設(shè)備控制程序端的控制流程圖,圖示中,BUF[]表示控制指令串的變量名,對應(yīng)于圖2中流程圖各階段的控制指令串?dāng)?shù)據(jù),BUF[].D1、BUF[].E2等表示各控制指令串中的數(shù)據(jù)位,對應(yīng)于控制指令串幀結(jié)構(gòu)中的各數(shù)據(jù)位。如圖3中,用戶終端發(fā)出的控制指令由入口A進(jìn)入用戶應(yīng)用程序端,按圖中所示流程執(zhí)行;設(shè)備控制程序端返回的數(shù)據(jù)由入口B進(jìn)入用戶應(yīng)用程序端的執(zhí)行程序。圖中實(shí)線所示流程為用戶應(yīng)用程序端和設(shè)備控制程序端的執(zhí)行流程,虛線所示流程為用戶應(yīng)用程序端的內(nèi)部執(zhí)行流程。如圖4中,用戶應(yīng)用程序端發(fā)出的控制指令由入口C進(jìn)入設(shè)備控制程序端的執(zhí)行程序,圖中實(shí)線所示流程為設(shè)備控制程序端和用戶應(yīng)用程序端的執(zhí)行流程,虛線所示流程為設(shè)備控制程序端的內(nèi)部執(zhí)行流程。
以下結(jié)合圖2至圖4的控制流程圖,具體介紹本發(fā)明的云臺控制方法,其通過如下步驟實(shí)現(xiàn)(a).由用戶應(yīng)用程序端發(fā)送控制指令串[1]到設(shè)備控制程序端。
(b).設(shè)備控制程序端接收到控制指令串[2]后,將該控制指令串[2]和設(shè)備原控制指令串[3]作比較生成新的控制指令串[4]。即利用當(dāng)前控制指令串[2]中的指令數(shù)據(jù)量D1減去原控制指令串[3]中的指令已執(zhí)行量E2作為新生成的控制指令串[4]的指令數(shù)據(jù)量D1,公式為[4]D1=[2]D1-[3]E2。
(c).設(shè)備控制程序端將生成的新控制指令串[4]發(fā)回用戶應(yīng)用程序端,返回設(shè)備可以執(zhí)行數(shù)據(jù)量。
(d).用戶應(yīng)用程序端接收到新的控制指令串[5]后,修改指令串[5]中的可執(zhí)行標(biāo)志位E1為10,再次將修改后的控制指令串[6]發(fā)送至設(shè)備控制程序端;并自動清除該控制指令串[6]中的指令數(shù)據(jù)量D1、指令微分量D2、指令執(zhí)行使能E1和指令已執(zhí)行量E2的數(shù)據(jù)。
(e).設(shè)備控制程序端收到修改后的控制指令串[7]后,與之前生成的新控制指令串[4]比較,若指令數(shù)據(jù)量D1相同,則按照控制指令串中的指令數(shù)據(jù)量D1和步長量D2執(zhí)行控制指令。每個步長D2執(zhí)行完成后,改寫控制指令串[7]的指令已執(zhí)行量E2數(shù)據(jù);設(shè)備控制程序端每按定時完成后把執(zhí)行情況數(shù)據(jù)返回用戶應(yīng)用程序端;用戶應(yīng)用程序端一直保持接收設(shè)備控制程序端返回的執(zhí)行數(shù)據(jù)。
在上述交互式的控制指令數(shù)據(jù)傳送過程中,當(dāng)幀數(shù)據(jù)區(qū)中D1數(shù)據(jù)量大于D1-E2執(zhí)行量時,數(shù)據(jù)量不能累加;只有當(dāng)數(shù)據(jù)量小于執(zhí)行量時,數(shù)據(jù)量區(qū)才可以接收新數(shù)據(jù)累加,且最大為數(shù)據(jù)區(qū)最大值[FF],所述執(zhí)行步長量即指令微分量。因此,不會造成大量指令數(shù)據(jù)積聚,有效的解決了以太網(wǎng)網(wǎng)絡(luò)通訊延時對云臺的遠(yuǎn)程操控困難的問題,達(dá)到云臺遠(yuǎn)程網(wǎng)絡(luò)控制的精確控制。
權(quán)利要求
1.一種基于分布式網(wǎng)絡(luò)的云臺控制方法,包括用戶終端、設(shè)備控制端和受控的云臺設(shè)備,用戶終端與設(shè)備控制端通過以太網(wǎng)連接,其特征在于,所述云臺設(shè)備的控制方法包括以下步驟a.由用戶應(yīng)用程序端發(fā)送控制指令串到設(shè)備控制程序端;b.設(shè)備控制程序端接收到控制指令串后,將該控制指令串和設(shè)備原控制指令串作比較生成新的控制指令串;c.設(shè)備控制程序端將生成的新控制指令串發(fā)回用戶應(yīng)用程序端,返回設(shè)備可以執(zhí)行數(shù)據(jù)量;d.用戶應(yīng)用程序端接收到新的控制指令串后,修改指令串中的可執(zhí)行標(biāo)志位,再次將修改后的控制指令串發(fā)送至設(shè)備控制程序端;e.設(shè)備控制程序端收到修改后的控制指令串后,與之前生成的新控制指令串比較,若指令數(shù)據(jù)量相同,則按照控制指令串中的指令數(shù)據(jù)量和步長量執(zhí)行控制指令。
2.根據(jù)權(quán)利要求1所述的基于分布式網(wǎng)絡(luò)的云臺控制方法,其特征在于,所述控制指令串的幀結(jié)構(gòu)為
其中Syn為同步碼,ADD為設(shè)備地址,C1、C2為指令類別,D1為指令數(shù)據(jù)量,D2為指令微分量,E1為指令執(zhí)行使能,E2為指令已執(zhí)行量,CRC32為校驗(yàn)碼。
3.根據(jù)權(quán)利要求1所述的基于分布式網(wǎng)絡(luò)的云臺控制方法,其特征在于,所述步驟(b)中控制指令串和設(shè)備原控制指令串的比較過程是指,利用當(dāng)前控制指令串中的指令數(shù)據(jù)量D1減去原控制指令串中的指令已執(zhí)行量E2作為新生成的控制指令串的指令數(shù)據(jù)量D1。
4.根據(jù)權(quán)利要求1所述的基于分布式網(wǎng)絡(luò)的云臺控制方法,其特征在于,所述步驟(d)中的用戶應(yīng)用程序端再次將修改后的控制指令串發(fā)送至設(shè)備控制程序端后,自動清除該控制指令串中的指令數(shù)據(jù)量D1、指令微分量D2、指令執(zhí)行使能E1和指令已執(zhí)行量E2的數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的基于分布式網(wǎng)絡(luò)的云臺控制方法,其特征在于,所述步驟(e)中設(shè)備控制程序端完成每個步長的執(zhí)行指令后,自動修改控制指令串中的指令已執(zhí)行量E2的數(shù)據(jù)。
6.根據(jù)權(quán)利要求1或5所述的基于分布式網(wǎng)絡(luò)的云臺控制方法,其特征在于,所述步驟(e)中設(shè)備控制程序端每按定時完成執(zhí)行指令后將執(zhí)行情況的數(shù)據(jù)返回用戶應(yīng)用程序端。
7.根據(jù)權(quán)利要求6所述的基于分布式網(wǎng)絡(luò)的云臺控制方法,其特征在于,所述用戶應(yīng)用程序端一直保持接收設(shè)備控制程序端返回的執(zhí)行數(shù)據(jù)。
全文摘要
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)控制通訊領(lǐng)域,公開了一種基于分布式網(wǎng)絡(luò)的云臺控制方法,其控制指令串中加入了微分量和已執(zhí)行量的數(shù)據(jù)區(qū),結(jié)合控制流程,采用云臺執(zhí)行指令中的數(shù)據(jù)微分量與執(zhí)行量相互計(jì)算執(zhí)行,實(shí)現(xiàn)遠(yuǎn)程云臺操控,使執(zhí)行指令不會進(jìn)入死循環(huán)和失控。其控制方式為交互式,當(dāng)數(shù)據(jù)量大于執(zhí)行量時,數(shù)據(jù)量不能累加;只有當(dāng)執(zhí)行量大于數(shù)據(jù)量時,數(shù)據(jù)量區(qū)才可以接收新數(shù)據(jù)累加,且最大為數(shù)據(jù)區(qū)最大值,不會造成大量指令數(shù)據(jù)積聚,有效的解決了以太網(wǎng)網(wǎng)絡(luò)通訊延時對云臺的遠(yuǎn)程操控困難的問題,達(dá)到云臺遠(yuǎn)程網(wǎng)絡(luò)控制的精確控制。
文檔編號H04L12/26GK1838612SQ200610035189
公開日2006年9月27日 申請日期2006年4月25日 優(yōu)先權(quán)日2006年4月25日
發(fā)明者曾愛民 申請人:曾愛民