国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種傳輸數(shù)據(jù)的方法

      文檔序號:7676951閱讀:136來源:國知局
      專利名稱:一種傳輸數(shù)據(jù)的方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于通信技術(shù)領(lǐng)域,尤其涉及一種傳輸數(shù)據(jù)的方法。
      背景技術(shù)
      工業(yè)控制領(lǐng)域中經(jīng)常有大量散布的儀表,這些儀表的數(shù)據(jù)往往需要以O(shè)PC(用于過程控制的對象連接與嵌入)標準的方式匯集到OPC服務(wù)器,再由OPC服務(wù)器將數(shù)據(jù)提供給上層應(yīng)用系統(tǒng)如集中監(jiān)控軟件,并且這個過程同時要求數(shù)據(jù)的實時傳輸能力(即要求數(shù)據(jù)能夠迅速從儀表上傳到OPC服務(wù)器)。目前業(yè)界的標準解決方法是通過使用一個嵌入式數(shù)據(jù)采集設(shè)備連接鄰近的一臺或者多臺儀表,由該嵌入式數(shù)據(jù)采集設(shè)備從連接的儀表上實時采集數(shù)據(jù)并將數(shù)據(jù)打包以后發(fā)送給OPC服務(wù)器;再由OPC服務(wù)器以標準的OPC接口對上層應(yīng)用系統(tǒng)開放接口,使得上層應(yīng)用系統(tǒng)能夠從OPC服務(wù)器采集這些數(shù)據(jù)。在現(xiàn)實中,由于這些儀表以及相應(yīng)的嵌入式數(shù)據(jù)采集設(shè)備的地理分布往往非常分散,很多情況下沒有高速網(wǎng)絡(luò)連接,甚至很多是通過無線方式(如GPRS或者衛(wèi)星通訊鏈路) 接入的,因此數(shù)據(jù)傳輸?shù)膸挿浅S邢?。根?jù)OPC標準,要求傳輸?shù)臄?shù)據(jù)包括儀表中各測點采集的數(shù)值、質(zhì)量碼debits)和時間戳(64bits),因此需要傳輸?shù)臄?shù)據(jù)總量很大。目前基于窄帶網(wǎng)絡(luò)(一般以傳統(tǒng)的電話線撥號上網(wǎng)速率的上限56Kbps為分界, 將56Kbps及其以下的接入稱為窄帶,在現(xiàn)實應(yīng)用中基于無線的GPRS網(wǎng)絡(luò)或者衛(wèi)星通訊鏈路都是典型的窄帶網(wǎng)絡(luò))向OPC服務(wù)器傳輸數(shù)據(jù)的方式主要有兩種一、僅向OPC服務(wù)器傳輸儀表中各測點采集的數(shù)值,而不向其傳輸OPC標準規(guī)定的時間戳和質(zhì)量碼,以此適應(yīng)較小的帶寬,之后,OPC服務(wù)器將接收到數(shù)據(jù)報文的時間作為OPC數(shù)據(jù)的時間戳、統(tǒng)一采用 192(數(shù)據(jù)正常)作為OPC數(shù)據(jù)的質(zhì)量碼;二、通過采用通用數(shù)據(jù)壓縮技術(shù)(如LZW技術(shù))將所有數(shù)據(jù)進行壓縮以后再傳輸給OPC服務(wù)器。但是,上述兩種方式均存在缺陷對于第一種方式,由于未傳輸質(zhì)量碼和時間戳, 因此OPC服務(wù)器得到的數(shù)據(jù)信息是不完整的,進而導(dǎo)致數(shù)據(jù)的準確性較低,例如底層數(shù)據(jù)源上測點數(shù)據(jù)的置信度可能已經(jīng)是無效的,但是OPC服務(wù)器依然認為其是有效的;對于第二種方式,為了達到較好的壓縮效果需要較多的數(shù)據(jù)樣本,因此需要在積累數(shù)個數(shù)據(jù)采集周期的數(shù)據(jù)以后再進行一次壓縮,這將會延遲數(shù)據(jù)上傳的時間,導(dǎo)致數(shù)據(jù)的實時性得不到保證。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的目的在于提供一種傳輸數(shù)據(jù)的方法,可以解決現(xiàn)有技術(shù)中在窄帶網(wǎng)絡(luò)中向OPC服務(wù)器傳輸數(shù)據(jù)過程中存在的數(shù)據(jù)信息不完整、準確性低、不能保證實時性的問題。為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案一種傳輸數(shù)據(jù)的方法,用于在窄帶網(wǎng)絡(luò)中向OPC服務(wù)器傳輸數(shù)據(jù),包括采集各個開關(guān)量儀表中測點的位號數(shù)據(jù),所述位號數(shù)據(jù)包括時間戳、質(zhì)量碼和開關(guān)量;確定多個時間戳中的一個為基準時間,計算各個時間戳與所述基準時間之間的偏
      移量;如果是首次向所述OPC服務(wù)器傳輸數(shù)據(jù),則將所述基準時間、各個測點的開關(guān)量、 質(zhì)量碼、偏移量及測點的數(shù)量封裝成數(shù)據(jù)報文并傳輸;如果不是首次向所述OPC服務(wù)器傳輸數(shù)據(jù),則判斷所述各個測點的質(zhì)量碼是否發(fā)生變化,確定各個測點的質(zhì)量碼標記,將所述基準時間、各個測點的開關(guān)量、偏移量、質(zhì)量碼標記和發(fā)生變化的質(zhì)量碼封裝成數(shù)據(jù)報文后傳輸。由此可見,本發(fā)明上述公開的傳輸數(shù)據(jù)的方法,在首次向OPC服務(wù)器傳輸數(shù)據(jù)時, 除直接傳輸各測點的開關(guān)量和質(zhì)量碼之外,還以基準時間結(jié)合偏移量的形式傳輸各測點的時間戳,數(shù)據(jù)報文中包含OPC標準規(guī)定的所有字段,保證了數(shù)據(jù)的完整性和準確性,另外, 由于在每個數(shù)據(jù)報文中只包含一個占據(jù)8字節(jié)的基準時間,并且各測點的偏移量以不少于 20bits傳輸即可,所以在保證數(shù)據(jù)報文完整性的前提下,縮減了向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)容量,不需進行數(shù)據(jù)壓縮就可以向OPC服務(wù)器傳輸數(shù)據(jù),保證了數(shù)據(jù)傳輸?shù)膶崟r性;在非首次向OPC服務(wù)器傳輸數(shù)據(jù)時,只傳輸發(fā)生變化的質(zhì)量碼,進一步縮減了向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)容量。一種傳輸數(shù)據(jù)的方法,用于在窄帶網(wǎng)絡(luò)中向OPC服務(wù)器傳輸數(shù)據(jù),包括采集各個模擬量儀表中測點的位號數(shù)據(jù),所述位號數(shù)據(jù)包括時間戳、質(zhì)量碼和模擬量;確定多個時間戳中的一個為基準時間,計算各個時間戳與所述基準時間之間的偏
      移量;如果是首次向所述OPC服務(wù)器傳輸數(shù)據(jù),則將所述基準時間、各個測點的模擬量、 質(zhì)量碼、偏移量及測點的數(shù)量封裝成數(shù)據(jù)報文并傳輸;如果不是首次向所述OPC服務(wù)器傳輸數(shù)據(jù),則判斷所述各個測點的質(zhì)量碼是否發(fā)生變化,確定各個測點的質(zhì)量碼標記,計算所述各個測點當前采集的模擬量與前次采集的模擬量之間的模擬量差值,確定各個測點的數(shù)值有效位,所述數(shù)值有效位表示所述模擬量差值占據(jù)的字節(jié)數(shù),將所述基準時間、各個測點的偏移量、質(zhì)量碼標記、模擬量差值、數(shù)值有效位和發(fā)生變化的質(zhì)量碼封裝成數(shù)據(jù)報文后傳輸。由此可見,本發(fā)明上述公開的傳輸數(shù)據(jù)的方法,在首次向OPC服務(wù)器傳輸數(shù)據(jù)時, 除直接傳輸各測點的模擬量和質(zhì)量碼之外,還以基準時間結(jié)合偏移量的形式傳輸各測點的時間戳,數(shù)據(jù)報文中包含OPC標準規(guī)定的所有字段,保證了數(shù)據(jù)的完整性和準確性,另外, 由于在每個數(shù)據(jù)報文中只包含一個占據(jù)8字節(jié)的基準時間,并且各測點的偏移量以不少于 20bits傳輸即可,所以在保證數(shù)據(jù)報文完整性的前提下,縮減了向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)容量,不需進行數(shù)據(jù)壓縮就可以向OPC服務(wù)器傳輸數(shù)據(jù),保證了數(shù)據(jù)傳輸?shù)膶崟r性;在非首次向OPC服務(wù)器傳輸數(shù)據(jù)時,只傳輸發(fā)生變化的質(zhì)量碼和各測點的模擬量差值,進一步縮減了向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)容量。


      為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明公開的一種傳輸數(shù)據(jù)的方法的流程圖;圖2為本發(fā)明公開的首次傳輸數(shù)據(jù)時的一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖3為本發(fā)明公開的首次傳輸數(shù)據(jù)時的另一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖4為本發(fā)明公開的非首次傳輸數(shù)據(jù)時的一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖5為本發(fā)明公開的非首次傳輸數(shù)據(jù)時的另一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖6為本發(fā)明公開的首次傳輸數(shù)據(jù)時的另一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖7為本發(fā)明公開的首次傳輸數(shù)據(jù)時的另一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖8為本發(fā)明公開的另一種傳輸數(shù)據(jù)的方法的流程圖;圖9為本發(fā)明公開的首次傳輸數(shù)據(jù)時的一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖10為本發(fā)明公開的首次傳輸數(shù)據(jù)時的另一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖11為本發(fā)明公開的非首次傳輸數(shù)據(jù)時的一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖12為本發(fā)明公開的非首次傳輸數(shù)據(jù)時的另一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖13為本發(fā)明公開的首次傳輸數(shù)據(jù)時的另一種數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖14為本發(fā)明公開的首次傳輸數(shù)據(jù)時的另一種數(shù)據(jù)報文結(jié)構(gòu)示意圖。
      具體實施例方式對下文中出現(xiàn)的英文縮寫或簡寫進行說明OPC :0LE for Process Control,用于過程控制的 OLE ;OLE =Object Linking and Embedding,對象連接與嵌入;GPRS =General Packet Radio Service,通用分組無線服務(wù);bit 位,用以描述電腦數(shù)據(jù)量的最小單位,二進制系統(tǒng)中,每個0或1就是一個位;Byte 字節(jié),計算機信息技術(shù)用于計量存儲容量和傳輸容量的一種計量單位,1個字節(jié)等于8位二進制。為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。在工業(yè)控制領(lǐng)域,嵌入式數(shù)據(jù)與多個底層數(shù)據(jù)源連接,底層數(shù)據(jù)源多指直接測量電壓電流信號的一次儀表,每個儀表上面可以有多個測點,每個測點對應(yīng)一個電壓/電流信號通道。一次儀表采集的數(shù)值有兩種類型開關(guān)量(只有兩種狀態(tài),開或關(guān))和模擬量 (整數(shù)或者浮點數(shù),如34、1. 12)。儀表根據(jù)其采集的數(shù)值也可以劃分為開關(guān)量儀表和模擬量儀表。本發(fā)明公開了一種傳輸數(shù)據(jù)的方法,可以解決現(xiàn)有技術(shù)中在窄帶網(wǎng)絡(luò)中向OPC服務(wù)器傳輸數(shù)據(jù)過程中存在的數(shù)據(jù)信息不完整、準確性低、不能保證實時性的問題。參見圖1,圖1為本發(fā)明公開的一種傳輸數(shù)據(jù)的方法的流程圖。包括
      步驟Sll 采集各個開關(guān)量儀表中測點的位號數(shù)據(jù)。測點的位號數(shù)據(jù)包括時間戳、質(zhì)量碼和開關(guān)量。時間戳是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現(xiàn)在的總秒數(shù)。根據(jù)OPC協(xié)議要求時間精確到100納秒,因此時間戳需用64bit來表示。質(zhì)量碼是指采集到的數(shù)據(jù)對應(yīng)的可信度,根據(jù)OPC協(xié)議使用一個16bit長度的質(zhì)量碼來標識采樣數(shù)據(jù)是否可靠,例如OPC 標準規(guī)定當質(zhì)量碼為192時表示數(shù)據(jù)正常,當質(zhì)量碼為0時表示數(shù)據(jù)無效,實際上從0 65535每個質(zhì)量碼的值都對應(yīng)著數(shù)據(jù)的不同狀態(tài)。開關(guān)量儀表中的測點,其開關(guān)量只有開或者關(guān)兩個狀態(tài),需用Ibit來表示。步驟S12 確定多個時間戳中的一個為基準時間,計算各個時間戳與所述基準時間之間的偏移量。在該步驟中,可以在采集到的多個時間戳中任選一個時間戳作為基準時間,并根據(jù)該基準時間計算各個時間戳與該基準時間之間的偏移量。由于嵌入式數(shù)據(jù)采集設(shè)備對底層數(shù)據(jù)源(儀表)的采樣周期一般不會高于15分鐘=900000毫秒< 22°毫秒,所以各個時間戳與基準時間之間的偏移量小于22°毫秒,在數(shù)據(jù)報文中用不小于20bit來標識各偏移量已經(jīng)足夠。每個測點的時間戳都由基準時間和相應(yīng)的偏移量表示。步驟S13:判斷是否為首次向OPC服務(wù)器傳輸數(shù)據(jù),若是,執(zhí)行步驟S14,若否,執(zhí)行步驟S15。步驟S14 將所述基準時間、各個測點的開關(guān)量、質(zhì)量碼、偏移量及測點的數(shù)量封裝成數(shù)據(jù)報文并傳輸。首次向OPC服務(wù)器傳輸數(shù)據(jù)時,將測點的數(shù)量、基準時間、各個測點的開關(guān)量、質(zhì)量碼和偏移量以嵌入式數(shù)據(jù)采集設(shè)備和OPC服務(wù)器所共知的格式進行封裝。OPC服務(wù)器根據(jù)已知格式在數(shù)據(jù)報文中讀取各個數(shù)據(jù),之后確定各個測點的時間戳、質(zhì)量碼和開關(guān)量,并進行存儲。當對N個測點的數(shù)據(jù)進行傳輸時,數(shù)據(jù)報文中包含1個基準時間和N個偏移量,1 個基準時間占用64bits,偏移量以Mbits表示(可以表示4. 66小時左右的偏差),與傳輸 N個時間戳相比,可以縮減數(shù)據(jù)報文的數(shù)據(jù)容量。需要指出的是,在一個數(shù)據(jù)報文中最多可以傳遞65536個測點的位號數(shù)據(jù),當測點的數(shù)量超過65536時,則分開用2個數(shù)據(jù)報文發(fā)送。在第二個數(shù)據(jù)報文中,同樣包含測點的數(shù)量、基準時間、各個測點的開關(guān)量、質(zhì)量碼和偏移量。在首次傳輸數(shù)據(jù)過程中數(shù)據(jù)報文的格式可以如圖2所示。數(shù)據(jù)報文中依次為測點的數(shù)量;基準時間;第1 η個測點的偏移量;第1 η個測點的質(zhì)量碼;第1 η個測點的開關(guān)量。其中,η不大于65536,測點的數(shù)量占用2字節(jié),基準時間占用8字節(jié),偏移量不能小于20bits,此處偏移量以3字節(jié)表示,質(zhì)量碼占用2字節(jié),開關(guān)量占用lbit。由于該數(shù)據(jù)報文的格式為嵌入式數(shù)據(jù)采集設(shè)備和OPC服務(wù)器所共知的,并且各數(shù)據(jù)的長度固定,所以 OPC服務(wù)器可以根據(jù)測點的數(shù)量在數(shù)據(jù)報文中依次讀取相應(yīng)數(shù)據(jù),進行簡單運算后,確定各測點的時間戳、質(zhì)量碼和開關(guān)量并進行存儲。下面對OPC服務(wù)器確定各測點的時間戳、質(zhì)量碼和開關(guān)量的過程進行簡要說明。OPC服務(wù)器讀取數(shù)據(jù)報文最前端的2字節(jié),確定測點的數(shù)量η ;讀取后續(xù)8字節(jié),確定基準時間;在后續(xù)數(shù)據(jù)中依次確定第1 η個測點的偏移量,每個測點的偏移量占用3 字節(jié),根據(jù)偏移量和基準時間計算各個測點的時間戳,第1 η個測點的偏移量共占用3η 字節(jié);在后續(xù)字節(jié)中依次確定第1 η個測點的質(zhì)量碼,每個測點的質(zhì)量碼占用2字節(jié),第 1 η個測點的質(zhì)量碼共占用2η字節(jié);后續(xù)數(shù)據(jù)為第1 η個測點的開關(guān)量,依次確定第 1 η個測點的開關(guān)量。在首次傳輸數(shù)據(jù)過程中數(shù)據(jù)報文的格式還可以如圖3所示。數(shù)據(jù)報文中依次為 測點的數(shù)量;基準時間;第1個測點的偏移量、質(zhì)量碼和開關(guān)量;第2個測點的偏移量、質(zhì)量碼和開關(guān)量;......第η個測點的偏移量、質(zhì)量碼和開關(guān)量。其中,η不大于65536,測點的數(shù)量占用2字節(jié),基準時間占用8字節(jié),偏移量不能小于20bits,此處偏移量以3字節(jié)表示,質(zhì)量碼占用2字節(jié),開關(guān)量占用lbit。由于該數(shù)據(jù)報文的格式為嵌入式數(shù)據(jù)采集設(shè)備和OPC服務(wù)器所共知的,并且各數(shù)據(jù)的長度固定,所以 OPC服務(wù)器可以根據(jù)測點的數(shù)量在數(shù)據(jù)報文中依次讀取相應(yīng)數(shù)據(jù),進行簡單運算后,確定各測點的時間戳、質(zhì)量碼和開關(guān)量并進行存儲。下面對OPC服務(wù)器確定各測點的時間戳、質(zhì)量碼和開關(guān)量的過程進行簡要說明。OPC服務(wù)器讀取數(shù)據(jù)報文最前端的2字節(jié),確定測點的數(shù)量η;讀取后續(xù)8字節(jié),確定基準時間;在后續(xù)數(shù)據(jù)中確定第1個測點的偏移量、質(zhì)量碼和開關(guān)量,偏移量占用3字節(jié), 質(zhì)量碼占用2字節(jié),開關(guān)量占用lbit,根據(jù)基準時間和偏移量計算出第1各測點的時間戳; 在后續(xù)數(shù)據(jù)中依次確定第2 η個測點的偏移量、質(zhì)量碼和開關(guān)量,并分別計算第2 η個測點的時間戳。當然,數(shù)據(jù)報文的格式并不限于圖2和圖3所公開的格式。只要以預(yù)設(shè)格式將基準時間、各個測點的開關(guān)量、質(zhì)量碼、偏移量及測點的數(shù)量封裝成數(shù)據(jù)報文,OPC服務(wù)器都可以通過運算確定各個測點的時間戳、開關(guān)量和質(zhì)量碼。步驟S15 判斷所述各個測點的質(zhì)量碼是否發(fā)生變化,確定各個測點的質(zhì)量碼標記。步驟S16 將所述基準時間、各個測點的開關(guān)量、偏移量、質(zhì)量碼標記和發(fā)生變化的質(zhì)量碼封裝成數(shù)據(jù)報文并傳輸。在工業(yè)控制實際應(yīng)用中,底層數(shù)據(jù)源(儀表)中各測點的質(zhì)量碼在絕大多數(shù)的采樣周期中是保持不變的,測點的質(zhì)量碼出現(xiàn)頻繁變化的概率是很小的,在兩次采樣周期中, 往往只有一部分測點的質(zhì)量碼發(fā)生變化。因此,在非首次向OPC服務(wù)器傳輸數(shù)據(jù)時,無需傳輸全部測點的質(zhì)量碼,而只需對發(fā)生變化的質(zhì)量碼進行傳輸。具體的,比較各個測點當前采集的質(zhì)量碼與前次采集的質(zhì)量碼,確定哪些測點的質(zhì)量碼發(fā)生了變化,并根據(jù)比較結(jié)果分別確定各個測點的質(zhì)量碼標記, 質(zhì)量碼發(fā)生變化的測點的質(zhì)量碼標記與質(zhì)量碼未發(fā)生變化的測點的質(zhì)量碼標記不同。優(yōu)選的,為了減少OPC服務(wù)器傳送的數(shù)據(jù)量,質(zhì)量碼標記在數(shù)據(jù)報文中占用lbit, 即以0或1作為質(zhì)量碼標記,以此來標示測點的質(zhì)量碼是否發(fā)生變化。例如,當某個測點當前采集的質(zhì)量碼相對于上次采集的質(zhì)量碼發(fā)生變化時,則該測點的質(zhì)量碼標記為1,當某個測點當前采集的質(zhì)量碼相對于上次采集的質(zhì)量碼未發(fā)生變化時,則該測點的質(zhì)量碼標記為 0;或者當某個測點當前采集的質(zhì)量碼相對于上次采集的質(zhì)量碼發(fā)生變化時,則該測點的質(zhì)量碼標記為0,當某個測點當前采集的質(zhì)量碼相對于上次采集的質(zhì)量碼未發(fā)生變化時,則該測點的質(zhì)量碼標記為1。在非首次傳輸數(shù)據(jù)過程中,各個測點的位號數(shù)據(jù)在數(shù)據(jù)報文中的順序與在首次傳輸?shù)臄?shù)據(jù)報文中的順序嚴格一致,數(shù)據(jù)報文的格式可以如圖4所示。數(shù)據(jù)報文中依次為基準時間;第1 η個測點的質(zhì)量碼標記;第1 η個測點的偏移量;發(fā)生變化的質(zhì)量碼;第 1 η個測點的開關(guān)量。其中,η不大于65536,基準時間占用8字節(jié),質(zhì)量碼標記占用lbit,用1或0表示, 偏移量不能小于20bits,此處偏移量以23bits表示,可以表示2. 33小時內(nèi)的偏移量,質(zhì)量碼占用2字節(jié),開關(guān)量占用lbit。下面對OPC服務(wù)器確定各測點的時間戳、質(zhì)量碼和開關(guān)量的過程進行簡要說明。在較長的時間內(nèi),嵌入式數(shù)據(jù)采集設(shè)備連接的測點數(shù)量不變,而嵌入式數(shù)據(jù)采集設(shè)備首次向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)報文中包含了測點數(shù)量,因此在非首次向OPC服務(wù)器傳輸數(shù)據(jù)時,可以不再傳輸測點的數(shù)量n。OPC服務(wù)器通過對已存儲數(shù)據(jù)進行查詢,就可以確定該嵌入式數(shù)據(jù)采集設(shè)備所傳輸?shù)臏y點的數(shù)量n。OPC服務(wù)器讀取數(shù)據(jù)報文最前端的8字節(jié),確定基準時間;在后續(xù)數(shù)據(jù)中依次確定第1 η個測點的質(zhì)量碼標記,以質(zhì)量碼標記為 1表示測點的質(zhì)量碼發(fā)生變化、質(zhì)量碼標記為0表示測點的質(zhì)量碼未發(fā)生變化為例,第1 η個測點的質(zhì)量碼標記共占用η bits ;在后續(xù)數(shù)據(jù)中依次確定第1 η個測點的偏移量,每個測點的偏移量占用2!3bitS,根據(jù)偏移量和基準時間計算各個測點的時間戳,第1 η個測點的偏移量共占用23*n bits ;在后續(xù)的數(shù)據(jù)中根據(jù)已確定的質(zhì)量碼標記依次讀取發(fā)生
      變化的質(zhì)量碼,具體的假如η個質(zhì)量碼標記為10110......,其中有a個1,說明有a個測
      點的質(zhì)量碼發(fā)生了變化,發(fā)生變化的質(zhì)量碼在數(shù)據(jù)報文中占用3拉字節(jié),第1個測點的質(zhì)量碼標記為1,說明第1個測點的質(zhì)量碼發(fā)生變化,相應(yīng)的脅2字節(jié)中最前端的2字節(jié)即為第 1個測點的質(zhì)量碼,第2個測點的質(zhì)量碼標記為0,說明第2個測點的質(zhì)量碼未發(fā)生變化,在當前的數(shù)據(jù)報文中不包含第2個測點的質(zhì)量碼,其余測點的質(zhì)量碼確定過程以此類推;后續(xù)數(shù)據(jù)為第1 η個測點的開關(guān)量,依次確定第1 η個測點的開關(guān)量。在非首次傳輸數(shù)據(jù)過程中數(shù)據(jù)報文的格式可以如圖5所示。數(shù)據(jù)報文中依次為 基準時間;第1個測點的質(zhì)量碼標記、偏移量和開關(guān)量,當該測點的質(zhì)量碼發(fā)生變化時,還包括質(zhì)量碼;第2個測點的質(zhì)量碼標記、偏移量和開關(guān)量,當該測點的質(zhì)量碼發(fā)生變化時,
      還包括質(zhì)量碼;......第η個測點的質(zhì)量碼標記、偏移量和開關(guān)量,當該測點的質(zhì)量碼發(fā)生
      變化時,還包括質(zhì)量碼。其中,η不大于65536,基準時間占用8字節(jié),質(zhì)量碼標記占用lbit,用1或0表示, 偏移量不能小于20bits,此處偏移量以23bits表示,質(zhì)量碼占用2字節(jié),開關(guān)量占用lbit。下面對OPC服務(wù)器確定各測點的時間戳、質(zhì)量碼和開關(guān)量的過程進行簡要說明。OPC服務(wù)器讀取數(shù)據(jù)報文最前端的8字節(jié),確定基準時間;在后續(xù)數(shù)據(jù)中確定第1 個測點的質(zhì)量碼標記、偏移量和開關(guān)量,其中質(zhì)量碼標記占用lbit,偏移量占用2!3bitS,開關(guān)量占用lbit,根據(jù)基準時間和偏移量計算第1個測點的時間戳,并根據(jù)質(zhì)量碼標記判斷該數(shù)據(jù)報文中是否包含第1個測點的質(zhì)量碼,以質(zhì)量碼標記為1表示測點的質(zhì)量碼發(fā)生變化、質(zhì)量碼標記為0表示測點的質(zhì)量碼未發(fā)生變化為例,假如第1個測點的質(zhì)量碼標記為1, 說明第1個測點的質(zhì)量碼發(fā)生變化,則在后續(xù)數(shù)據(jù)中的前2字節(jié)為第1個測點的質(zhì)量碼,假如第1個測點的質(zhì)量碼標記為0,說明第1個測點的質(zhì)量碼未發(fā)生變化,則后續(xù)數(shù)據(jù)為第2個測點的相關(guān)數(shù)據(jù);以此類推,分別確定其余測點的時間戳、質(zhì)量碼和開關(guān)量。當然,數(shù)據(jù)報文的格式并不限于圖4和圖5所公開的格式。只要以預(yù)設(shè)格式將基準時間、各個測點的開關(guān)量、偏移量、質(zhì)量碼標記和發(fā)生變化的質(zhì)量碼封裝成數(shù)據(jù)報文,OPC 服務(wù)器都可以通過運算確定各個測點的時間戳、開關(guān)量和質(zhì)量碼。本發(fā)明上述公開的傳輸數(shù)據(jù)的方法,在首次向OPC服務(wù)器傳輸數(shù)據(jù)時,除直接傳輸各測點的開關(guān)量和質(zhì)量碼之外,還以基準時間結(jié)合偏移量的形式傳輸各測點的時間戳, 數(shù)據(jù)報文中包含OPC標準規(guī)定的所有字段,保證了數(shù)據(jù)的完整性和準確性,另外,由于在每個數(shù)據(jù)報文中只包含一個占據(jù)8字節(jié)的基準時間,并且各測點的偏移量以不少于20bits傳輸即可,所以在保證數(shù)據(jù)報文完整性的前提下,縮減了向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)容量,不需進行數(shù)據(jù)壓縮就可以向OPC服務(wù)器傳輸數(shù)據(jù),保證了數(shù)據(jù)傳輸?shù)膶崟r性;在非首次向OPC服務(wù)器傳輸數(shù)據(jù)時,只傳輸發(fā)生變化的質(zhì)量碼,進一步縮減了向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)容量。優(yōu)選的,在步驟S12確定多個時間戳中的一個為基準時間的過程中,可以確定所述多個時間戳中的最大值為基準時間;或者確定所述多個時間戳中的最小值為基準時間。 當任選一個時間戳作為基準時間時,其他時間戳與該基準時間之間的偏移量可能為正值, 也可能為負值。而當確定多個時間戳中的最小值為基準時間時,其他各時間戳與該基準時間的差值全部為正值;當確定多個時間戳中的最大值為基準時間時,其他各時間戳與該基準時間的差值全部為負值。此時,偏移量所在的字段中不包含奇偶標志位。優(yōu)選的,在首次向所述OPC服務(wù)器傳輸數(shù)據(jù)時,除了傳輸測點的數(shù)量、基準時間、 各個測點的開關(guān)量、質(zhì)量碼和偏移量之外,還包括各個測點的位號名稱。在OPC協(xié)議中,底層數(shù)據(jù)源上的單個測點用位號表示,一個位號對應(yīng)于底層數(shù)據(jù)源的一個測點,并且位號擁有對應(yīng)的位號名稱作為唯一標識。OPC服務(wù)器在對各個測點的時間戳、開關(guān)量和質(zhì)量碼進行存儲的過程中,可以各個測點的位號名稱對各個測點數(shù)據(jù)的存儲區(qū)域進行命名。此時,數(shù)據(jù)報文的格式可以如圖6或圖7所示。每個位號名稱占據(jù)m個字節(jié),m個字節(jié)中的最高字節(jié)表示位號名稱所占用的字節(jié)數(shù),后續(xù)m-1個字節(jié)為位號名稱。優(yōu)選的,在非首次向所述OPC服務(wù)器傳輸數(shù)據(jù)時,除了傳輸基準時間、各個測點的開關(guān)量、偏移量、質(zhì)量碼標記和發(fā)生變化的質(zhì)量碼之外,還包括測點的數(shù)量。當OPC服務(wù)器接收到數(shù)據(jù)報文后,由于該數(shù)據(jù)報文中已經(jīng)包含了測點的數(shù)量,所以不需要通過對已存儲數(shù)據(jù)進行查詢來確定測點數(shù)量。具體的,測點的數(shù)量可以位于數(shù)據(jù)報文的最前端。本發(fā)明還公開了一種傳輸數(shù)據(jù)的方法,可以解決現(xiàn)有技術(shù)中在窄帶網(wǎng)絡(luò)中向OPC 服務(wù)器傳輸數(shù)據(jù)過程中存在的數(shù)據(jù)信息不完整、準確性低、不能保證實時性的問題。參見圖8,圖8為本發(fā)明公開的一種傳輸數(shù)據(jù)的方法的流程圖。包括步驟S81 采集各個模擬量儀表中測點的位號數(shù)據(jù)。測點的位號數(shù)據(jù)包括時間戳、質(zhì)量碼和模擬量。時間戳是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現(xiàn)在的總秒數(shù)。根據(jù)OPC協(xié)議要求時間精確到100納秒,因此時間戳需用64bit來表示。質(zhì)量碼是指采集到的數(shù)據(jù)對應(yīng)的可信度,根據(jù)OPC協(xié)議使用一個16bit長度的質(zhì)量碼來標識采樣數(shù)據(jù)是否可靠,例如OPC 標準規(guī)定當質(zhì)量碼為192時表示數(shù)據(jù)正常,當質(zhì)量碼為0時表示數(shù)據(jù)無效,實際上從0 65535每個質(zhì)量碼的值都對應(yīng)著數(shù)據(jù)的不同狀態(tài)。模擬量儀表中的測點,其輸出的模擬量需用4字節(jié)表示。
      10
      步驟S82 確定多個時間戳中的一個為基準時間,計算各個時間戳與所述基準時間之間的偏移量。在該步驟中,可以在采集到的多個時間戳中任選一個時間戳作為基準時間,并根據(jù)該基準時間計算各個時間戳與該基準時間之間的偏移量。由于嵌入式數(shù)據(jù)采集設(shè)備對底層數(shù)據(jù)源(儀表)的采樣周期一般不會高于15分鐘=900000毫秒<22°毫秒,所以各個時間戳與基準時間之間的偏移量小于22°毫秒,在數(shù)據(jù)報文中用不小于20bit來標識各偏移量已經(jīng)足夠。每個測點的時間戳都由基準時間和相應(yīng)的偏移量表示。步驟S83 判斷是否為首次向OPC服務(wù)器傳輸數(shù)據(jù),若是,執(zhí)行步驟S84,若否,執(zhí)行步驟S85。步驟S84 將所述基準時間、各個測點的模擬量、質(zhì)量碼、偏移量及測點的數(shù)量封裝成數(shù)據(jù)報文并傳輸。首次向OPC服務(wù)器傳輸數(shù)據(jù)時,將測點的數(shù)量、基準時間、各個測點的模擬量、質(zhì)量碼和偏移量以嵌入式數(shù)據(jù)采集設(shè)備和OPC服務(wù)器所共知的格式進行封裝。OPC服務(wù)器根據(jù)已知格式在數(shù)據(jù)報文中讀取各個數(shù)據(jù),之后確定各個測點的時間戳、質(zhì)量碼和模擬量,并進行存儲。當對N個測點的數(shù)據(jù)進行傳輸時,數(shù)據(jù)報文中包含1個基準時間和N個偏移量,1 個基準時間占用64bits,偏移量以Mbits表示(可以表示4. 66小時左右的偏差),與傳輸 N個時間戳相比,可以極大的減小數(shù)據(jù)報文的數(shù)據(jù)容量。需要指出的是,在一個數(shù)據(jù)報文中最多可以傳遞65536個測點的位號數(shù)據(jù),當測點的數(shù)量超過65536時,則分開用2個數(shù)據(jù)報文發(fā)送。在第二個數(shù)據(jù)報文中,同樣包含測點的數(shù)量、基準時間、各個測點的模擬量、質(zhì)量碼和偏移量。在首次傳輸數(shù)據(jù)過程中數(shù)據(jù)報文的格式可以如圖9所示。數(shù)據(jù)報文中依次為測點的數(shù)量;基準時間;第1 η個測點的偏移量;第1 η個測點的質(zhì)量碼;第1 η個測點的模擬量。其中,η不大于65536,測點的數(shù)量占用2字節(jié),基準時間占用8字節(jié),偏移量不能小于20bits,此處偏移量以3字節(jié)表示,質(zhì)量碼占用2字節(jié),模擬量占用4字節(jié)。由于該數(shù)據(jù)報文的格式為嵌入式數(shù)據(jù)采集設(shè)備和OPC服務(wù)器所共知的,并且各數(shù)據(jù)的長度固定,所以O(shè)PC服務(wù)器可以根據(jù)測點的數(shù)量在數(shù)據(jù)報文中依次讀取相應(yīng)數(shù)據(jù),進行簡單運算后,確定各測點的時間戳、質(zhì)量碼和模擬量并進行存儲。下面對OPC服務(wù)器確定各測點的時間戳、質(zhì)量碼和模擬量的過程進行簡要說明。OPC服務(wù)器讀取數(shù)據(jù)報文最前端的2字節(jié),確定測點的數(shù)量η ;讀取后續(xù)8字節(jié), 確定基準時間;在后續(xù)數(shù)據(jù)中依次確定第1 η個測點的偏移量,每個測點的偏移量占用3 字節(jié),根據(jù)偏移量和基準時間計算各個測點的時間戳,第1 η個測點的偏移量共占用3η 字節(jié);在后續(xù)字節(jié)中依次確定第1 η個測點的質(zhì)量碼,每個測點的質(zhì)量碼占用2字節(jié),第 1 η個測點的質(zhì)量碼共占用2η字節(jié);后續(xù)數(shù)據(jù)為第1 η個測點的模擬量,依次確定第 1 η個測點的模擬量。在首次傳輸數(shù)據(jù)過程中數(shù)據(jù)報文的格式還可以如圖10所示。數(shù)據(jù)報文中依次為 測點的數(shù)量;基準時間;第1個測點的偏移量、質(zhì)量碼和模擬量;第2個測點的偏移量、質(zhì)量碼和模擬量;......第η個測點的偏移量、質(zhì)量碼和模擬量。
      其中,η不大于65536,測點的數(shù)量占用2字節(jié),基準時間占用8字節(jié),偏移量不能小于20bits,此處偏移量以3字節(jié)表示,質(zhì)量碼占用2字節(jié),模擬量占用4字節(jié)。由于該數(shù)據(jù)報文的格式為嵌入式數(shù)據(jù)采集設(shè)備和OPC服務(wù)器所共知的,并且各數(shù)據(jù)的長度固定,所以O(shè)PC服務(wù)器可以根據(jù)測點的數(shù)量在數(shù)據(jù)報文中依次讀取相應(yīng)數(shù)據(jù),進行簡單運算后,確定各測點的時間戳、質(zhì)量碼和模擬量并進行存儲。下面對OPC服務(wù)器確定各測點的時間戳、質(zhì)量碼和模擬量的過程進行簡要說明。OPC服務(wù)器讀取數(shù)據(jù)報文最前端的2字節(jié),確定測點的數(shù)量η;讀取后續(xù)8字節(jié),確定基準時間;在后續(xù)數(shù)據(jù)中確定第1個測點的偏移量、質(zhì)量碼和模擬量,偏移量占用3字節(jié), 質(zhì)量碼占用2字節(jié),模擬量占用4字節(jié),根據(jù)基準時間和偏移量計算出第1個測點的時間戳;在后續(xù)數(shù)據(jù)中依次確定第2 η個測點的偏移量、質(zhì)量碼和模擬量,并分別計算第2 η個測點的時間戳。當然,數(shù)據(jù)報文的格式并不限于圖9和圖10所公開的格式。只要以預(yù)設(shè)格式將基準時間、各個測點的模擬量、質(zhì)量碼、偏移量及測點的數(shù)量封裝成數(shù)據(jù)報文,OPC服務(wù)器都可以通過運算確定各個測點的時間戳、模擬量和質(zhì)量碼。步驟S85 判斷所述各個測點的質(zhì)量碼是否發(fā)生變化,確定各個測點的質(zhì)量碼標記。步驟S86 計算所述各個測點當前采集的模擬量與前次采集的模擬量之間的模擬量差值,確定各個測點的數(shù)值有效位。步驟S87 將所述基準時間、各個測點的偏移量、質(zhì)量碼標記、模擬量差值、數(shù)值有效位和發(fā)生變化的質(zhì)量碼封裝成數(shù)據(jù)報文后傳輸。在工業(yè)控制實際應(yīng)用中,底層數(shù)據(jù)源(儀表)中各測點的質(zhì)量碼在絕大多數(shù)的采樣周期中是保持不變的,測點的質(zhì)量碼出現(xiàn)頻繁變化的概率是很小的,在兩次采樣周期中, 往往只有一部分測點的質(zhì)量碼發(fā)生變化;另外,底層數(shù)據(jù)源(儀表)中各測點的模擬量在兩個采樣周期之間的變化往往不大。因此,在非首次向OPC服務(wù)器傳輸數(shù)據(jù)時,無需傳輸全部測點的質(zhì)量碼,而只需對發(fā)生變化的質(zhì)量碼進行傳輸,具體的,比較各個測點當前采集的質(zhì)量碼與前次采集的質(zhì)量碼,確定哪些測點的質(zhì)量碼發(fā)生了變化,并根據(jù)比較結(jié)果分別確定各個測點的質(zhì)量碼標記, 質(zhì)量碼發(fā)生變化的測點的質(zhì)量碼標記與質(zhì)量碼未發(fā)生變化的測點的質(zhì)量碼標記不同,將發(fā)生變化的質(zhì)量碼以及各個測點的質(zhì)量碼標記傳輸至OPC服務(wù)器;另外,無需傳輸各個測點的模擬量,而只需確定各個測點當前采集的模擬量與前次采集的模擬量之間的模擬量差值,并確定各個測點的數(shù)值有效位,該數(shù)值有效位表示模擬量差值所占據(jù)的字節(jié)數(shù),將模擬量差值及表示該模擬量差值占據(jù)的字節(jié)數(shù)的數(shù)值有效位傳輸至OPC服務(wù)器。優(yōu)選的,為了減少OPC服務(wù)器傳送的數(shù)據(jù)量,質(zhì)量碼標記在數(shù)據(jù)報文中占用lbit, 即以0或1作為質(zhì)量碼標記,以此來標示測點的質(zhì)量碼是否發(fā)生變化。例如,當某個測點當前采集的質(zhì)量碼相對于上次采集的質(zhì)量碼發(fā)生變化時,則該測點的質(zhì)量碼標記為1,當某個測點當前采集的質(zhì)量碼相對于上次采集的質(zhì)量碼未發(fā)生變化時,則該測點的質(zhì)量碼標記為 0;或者當某個測點當前采集的質(zhì)量碼相對于上次采集的質(zhì)量碼發(fā)生變化時,則該測點的質(zhì)量碼標記為0,當某個測點當前采集的質(zhì)量碼相對于上次采集的質(zhì)量碼未發(fā)生變化時,則該測點的質(zhì)量碼標記為1。
      在非首次傳輸數(shù)據(jù)過程中,各個測點的位號數(shù)據(jù)在數(shù)據(jù)報文中的順序與在首次傳輸?shù)臄?shù)據(jù)報文中的順序嚴格一致,數(shù)據(jù)報文的格式可以如圖11所示。數(shù)據(jù)報文中依次為 基準時間;第1 η個測點的質(zhì)量碼標記;第1 η個測點的數(shù)值有效位;第1 η個測點的偏移量;發(fā)生變化的質(zhì)量碼;第1 η個測點的模擬量差值。其中,η不大于65536,基準時間占用8字節(jié),質(zhì)量碼標記占用lbit,用1或0表示, 偏移量不能小于20bits,此處偏移量以23bits表示,可以表示2. 33小時內(nèi)的偏移量,質(zhì)量碼占用2字節(jié),模擬量差值可能占用1字節(jié)、2字節(jié)、3字節(jié)或4字節(jié),測點的數(shù)值有效位用于表示該測點的模擬量差值所占用的字節(jié)數(shù),占用2bits,例如第1個測點的模擬量差值占用1個字節(jié),則該測點的數(shù)值有效位為01 ;第1個測點的模擬量差值占用2個字節(jié),則該測點的數(shù)值有效位為10 ;第1個測點的模擬量差值占用3個字節(jié),則該測點的數(shù)值有效位為11 ;第1個測點的模擬量差值占用4個字節(jié),則該測點的數(shù)值有效位為00。下面對OPC服務(wù)器確定各測點的時間戳、質(zhì)量碼和模擬量的過程進行簡要說明。在較長的時間內(nèi),嵌入式數(shù)據(jù)采集設(shè)備連接的測點數(shù)量不變,而嵌入式數(shù)據(jù)采集設(shè)備首次向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)報文中包含了測點數(shù)量,因此在非首次向OPC服務(wù)器傳輸數(shù)據(jù)時,可以不再傳輸測點的數(shù)量n。OPC服務(wù)器通過對已存儲數(shù)據(jù)進行查詢,就可以確定該嵌入式數(shù)據(jù)采集設(shè)備所傳輸?shù)臏y點的數(shù)量n。OPC服務(wù)器讀取數(shù)據(jù)報文最前端的8字節(jié),確定基準時間;在后續(xù)數(shù)據(jù)中依次確定第1 η個測點的質(zhì)量碼標記,以質(zhì)量碼標記為 1表示測點的質(zhì)量碼發(fā)生變化、質(zhì)量碼標記為0表示測點的質(zhì)量碼未發(fā)生變化為例,第1 η個測點的質(zhì)量碼標記共占用η bits ;在后續(xù)數(shù)據(jù)中依次確定第1 η個測點的數(shù)值有效位,該數(shù)值有效位表示測點的模擬量差值所占用的字節(jié)數(shù),每個測點的數(shù)值有效位占用 2bits ;在后續(xù)數(shù)據(jù)中依次確定第1 η個測點的偏移量,每個測點的偏移量占用2!3bitS, 根據(jù)偏移量和基準時間計算各個測點的時間戳,第1 η個測點的偏移量共占用23*η bits ;在后續(xù)的數(shù)據(jù)中根據(jù)已確定的質(zhì)量碼標記依次讀取發(fā)生變化的質(zhì)量碼,具體的假
      如η個質(zhì)量碼標記為10110......,其中有a個1,說明有a個測點的質(zhì)量碼發(fā)生了變化,發(fā)
      生變化的質(zhì)量碼在數(shù)據(jù)報文中占用aM字節(jié),第1個測點的質(zhì)量碼標記為1,說明第1個測點的質(zhì)量碼發(fā)生變化,相應(yīng)的aM字節(jié)中最前端的2字節(jié)即為第1個測點的質(zhì)量碼,第2個測點的質(zhì)量碼標記為0,說明第2個測點的質(zhì)量碼未發(fā)生變化,在當前的數(shù)據(jù)報文中不包含第2個測點的質(zhì)量碼,其余測點的質(zhì)量碼確定過程以此類推;后續(xù)數(shù)據(jù)為第1 η個測點的模擬量差值,根據(jù)各個測點的數(shù)值有效位依次確定第1 η個測點的模擬量差值,之后結(jié)合已存儲的模擬量計算嵌入式數(shù)據(jù)采集設(shè)備本次傳輸?shù)哪M量,并對已存儲的模擬量進行更新。在非首次傳輸數(shù)據(jù)過程中數(shù)據(jù)報文的格式可以如圖12所示。數(shù)據(jù)報文中依次為 基準時間;第1個測點的質(zhì)量碼標記、數(shù)字有效位、偏移量和模擬量差值,當該測點的質(zhì)量碼發(fā)生變化時,在偏移量和模擬量差值之間還包括質(zhì)量碼;第2個測點的質(zhì)量碼標記、數(shù)字有效位、偏移量和模擬量差值,當該測點的質(zhì)量碼發(fā)生變化時,在偏移量和模擬量差值之間
      還包括質(zhì)量碼;......第η個測點的質(zhì)量碼標記、數(shù)字有效位、偏移量和模擬量差值,當該
      測點的質(zhì)量碼發(fā)生變化時,在偏移量和模擬量差值之間還包括質(zhì)量碼。其中,η不大于65536,基準時間占用8字節(jié),質(zhì)量碼標記占用lbit,用1或0表示, 偏移量不能小于20bits,此處偏移量以23bits表示,可以表示2. 33小時內(nèi)的偏移量,質(zhì)量碼占用2字節(jié),模擬量差值可能占用1字節(jié)、2字節(jié)、3字節(jié)或4字節(jié)。測點的數(shù)值有效位用于表示該測點的模擬量差值所占用的字節(jié)數(shù),占用2bits。下面對OPC服務(wù)器確定各測點的時間戳、質(zhì)量碼和模擬量的過程進行簡要說明。OPC服務(wù)器讀取數(shù)據(jù)報文最前端的8字節(jié),確定基準時間;在后續(xù)數(shù)據(jù)中確定第 1個測點的質(zhì)量碼標記、數(shù)值有效位、偏移量、質(zhì)量碼和模擬量差值,其中質(zhì)量碼標記占用 lbit,數(shù)值有效位占用2bits,偏移量占用2!3bitS,質(zhì)量碼占用0字節(jié)或2字節(jié)(即包含質(zhì)量碼或不包含質(zhì)量碼),模擬量差值占用1個字節(jié)、2個字節(jié)、3個字節(jié)或者4個字節(jié),具體的依次確定第1個測點的質(zhì)量碼標記、數(shù)值有效位和偏移量,根據(jù)基準時間和偏移量計算第1個測點的時間戳,根據(jù)質(zhì)量碼標記判斷該數(shù)據(jù)報文中是否包含第1個測點的質(zhì)量碼,以質(zhì)量碼標記為1表示測點的質(zhì)量碼發(fā)生變化、質(zhì)量碼標記為0表示測點的質(zhì)量碼未發(fā)生變化為例,假如第1個測點的質(zhì)量碼標記為1,說明第1個測點的質(zhì)量碼發(fā)生變化,則位于偏移量之后的后續(xù)數(shù)據(jù)中的前2字節(jié)為第1個測點的質(zhì)量碼,假如第1個測點的質(zhì)量碼標記為 0,說明第1個測點的質(zhì)量碼未發(fā)生變化,則位于偏移量之后的后續(xù)數(shù)據(jù)為第1個測點的模擬量差值,根據(jù)第1個測點的數(shù)值有效位確定其模擬量差值,之后結(jié)合已存儲的模擬量計算嵌入式數(shù)據(jù)采集設(shè)備本次傳輸?shù)哪M量,并對已存儲的模擬量進行更新。以此類推,分別確定其余測點的時間戳、質(zhì)量碼和模擬量。當然,數(shù)據(jù)報文的格式并不限于圖11和圖12所公開的格式。只要以預(yù)設(shè)格式將基準時間、各個測點的質(zhì)量碼標記、數(shù)值有效位、偏移量、模擬量差值和發(fā)生變化的質(zhì)量碼封裝成數(shù)據(jù)報文,OPC服務(wù)器都可以通過運算確定各個測點的時間戳、模擬量和質(zhì)量碼。本發(fā)明上述公開的傳輸數(shù)據(jù)的方法,在首次向OPC服務(wù)器傳輸數(shù)據(jù)時,除直接傳輸各測點的模擬量和質(zhì)量碼之外,還以基準時間結(jié)合偏移量的形式傳輸各測點的時間戳, 數(shù)據(jù)報文中包含OPC標準規(guī)定的所有字段,保證了數(shù)據(jù)的完整性和準確性,另外,由于在每個數(shù)據(jù)報文中只包含一個占據(jù)8字節(jié)的基準時間,并且各測點的偏移量以不少于20bits傳輸即可,所以在保證數(shù)據(jù)報文完整性的前提下,縮減了向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)容量,不需進行數(shù)據(jù)壓縮就可以向OPC服務(wù)器傳輸數(shù)據(jù),保證了數(shù)據(jù)傳輸?shù)膶崟r性;在非首次向OPC 服務(wù)器傳輸數(shù)據(jù)時,只傳輸發(fā)生變化的質(zhì)量碼和各測點的模擬量差值,進一步縮減了向OPC 服務(wù)器傳輸?shù)臄?shù)據(jù)容量。優(yōu)選的,在步驟S82確定多個時間戳中的一個為基準時間的過程中,可以確定所述多個時間戳中的最大值為基準時間;或者確定所述多個時間戳中的最小值為基準時間。 當任選一個時間戳作為基準時間時,其他時間戳與該基準時間之間的偏移量可能為正值, 也可能為負值。而當確定多個時間戳中的最小值為基準時間時,其他各時間戳與該基準時間的差值全部為正值;當確定多個時間戳中的最大值為基準時間時,其他各時間戳與該基準時間的差值全部為負值。此時,偏移量所在的字段中不包含奇偶標志位。優(yōu)選的,在首次向所述OPC服務(wù)器傳輸數(shù)據(jù)時,除了傳輸測點的數(shù)量、基準時間、 各個測點的模擬量、質(zhì)量碼和偏移量之外,還包括各個測點的位號名稱。在OPC協(xié)議中,底層數(shù)據(jù)源上的單個測點用位號表示,一個位號對應(yīng)于底層數(shù)據(jù)源的一個測點,并且位號擁有對應(yīng)的位號名稱作為唯一標識。OPC服務(wù)器在對各個測點的時間戳、模擬量和質(zhì)量碼進行存儲的過程中,可以各個測點的位號名稱對各個測點數(shù)據(jù)的存儲區(qū)域進行命名。此時,數(shù)據(jù)報文的格式可以如圖13或圖14所示。每個位號名稱占據(jù)m個字節(jié),m個字節(jié)中的最高字節(jié)表示位號名稱所占用的字節(jié)數(shù),后續(xù)m-1個字節(jié)為位號名稱。優(yōu)選的,在非首次向所述OPC服務(wù)器傳輸數(shù)據(jù)時,除了傳輸基準時間、各個測點的質(zhì)量碼標記、數(shù)值有效位、偏移量、模擬量差值和發(fā)生變化的質(zhì)量碼之外,還包括測點的數(shù)量。當OPC服務(wù)器接收到數(shù)據(jù)報文后,由于該數(shù)據(jù)報文中已經(jīng)包含了測點的數(shù)量,所以不需要通過對已存儲數(shù)據(jù)進行查詢來確定測點數(shù)量。具體的,測點的數(shù)量可以位于數(shù)據(jù)報文的最前端。本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
      權(quán)利要求
      1.一種傳輸數(shù)據(jù)的方法,用于在窄帶網(wǎng)絡(luò)中向OPC用于過程控制的對象連接與嵌入服務(wù)器傳輸數(shù)據(jù),其特征在于,包括采集各個開關(guān)量儀表中測點的位號數(shù)據(jù),所述位號數(shù)據(jù)包括時間戳、質(zhì)量碼和開關(guān)量;確定多個時間戳中的一個為基準時間,計算各個時間戳與所述基準時間之間的偏移量;如果是首次向所述OPC服務(wù)器傳輸數(shù)據(jù),則將所述基準時間、各個測點的開關(guān)量、質(zhì)量碼、偏移量及測點的數(shù)量封裝成數(shù)據(jù)報文并傳輸;如果不是首次向所述OPC服務(wù)器傳輸數(shù)據(jù),則判斷所述各個測點的質(zhì)量碼是否發(fā)生變化,確定各個測點的質(zhì)量碼標記,將所述基準時間、各個測點的開關(guān)量、偏移量、質(zhì)量碼標記和發(fā)生變化的質(zhì)量碼封裝成數(shù)據(jù)報文后傳輸。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,首次向所述OPC服務(wù)器傳輸數(shù)據(jù)時,將所述基準時間、各個測點的開關(guān)量、質(zhì)量碼、偏移量、位號名稱及測點的數(shù)量封裝成數(shù)據(jù)報文并傳輸。
      3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,不是首次向所述OPC服務(wù)器傳輸數(shù)據(jù)時,將所述基準時間、各個測點的開關(guān)量、偏移量、質(zhì)量碼標記、測點的數(shù)量和發(fā)生變化的質(zhì)量碼封裝成數(shù)據(jù)報文后傳輸。
      4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定多個時間戳中的一個為基準時間,具體為確定所述多個時間戳中的最大值為基準時間;或者確定所述多個時間戳中的最小值為基準時間。
      5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述質(zhì)量碼標記占用1位。
      6.根據(jù)權(quán)利要求4所述的方法,其特征在于,當測點的質(zhì)量碼發(fā)生變化時,所述測點的質(zhì)量碼標記為1 ;當測點的質(zhì)量碼未發(fā)生變化時,所述測點的質(zhì)量碼標記為0。
      7.一種傳輸數(shù)據(jù)的方法,用于在窄帶網(wǎng)絡(luò)中向OPC用于過程控制的對象連接與嵌入服務(wù)器傳輸數(shù)據(jù),其特征在于,包括采集各個模擬量儀表中測點的位號數(shù)據(jù),所述位號數(shù)據(jù)包括時間戳、質(zhì)量碼和模擬量;確定多個時間戳中的一個為基準時間,計算各個時間戳與所述基準時間之間的偏移量;如果是首次向所述OPC服務(wù)器傳輸數(shù)據(jù),則將所述基準時間、各個測點的模擬量、質(zhì)量碼、偏移量及測點的數(shù)量封裝成數(shù)據(jù)報文并傳輸;如果不是首次向所述OPC服務(wù)器傳輸數(shù)據(jù),則判斷所述各個測點的質(zhì)量碼是否發(fā)生變化,確定各個測點的質(zhì)量碼標記,計算所述各個測點當前采集的模擬量與前次采集的模擬量之間的模擬量差值,確定各個測點的數(shù)值有效位,所述數(shù)值有效位表示所述模擬量差值占據(jù)的字節(jié)數(shù),將所述基準時間、各個測點的偏移量、質(zhì)量碼標記、模擬量差值、數(shù)值有效位和發(fā)生變化的質(zhì)量碼封裝成數(shù)據(jù)報文后傳輸。
      8.根據(jù)權(quán)利要求7所述的方法,其特征在于,首次向所述OPC服務(wù)器傳輸數(shù)據(jù)時,將所述基準時間、各個測點的模擬量、質(zhì)量碼、偏移量、位號名稱及測點的數(shù)量封裝成數(shù)據(jù)報文并傳輸。
      9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,不是首次向所述OPC服務(wù)器傳輸數(shù)據(jù)時,將所述基準時間、各個測點的偏移量、質(zhì)量碼標記、模擬量差值、數(shù)值有效位、測點的數(shù)量和發(fā)生變化的質(zhì)量碼封裝成數(shù)據(jù)報文后傳輸。
      10.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述確定多個時間戳中的一個為基準時間,具體為確定所述多個時間戳中的最大值為基準時間;或者確定所述多個時間戳中的最小值為基準時間。
      11.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述質(zhì)量碼標記占用1位。
      12.根據(jù)權(quán)利要求11所述的方法,其特征在于,當測點的質(zhì)量碼發(fā)生變化時,所述測點的質(zhì)量碼標記為1 ;當測點的質(zhì)量碼未發(fā)生變化時,所述測點的質(zhì)量碼標記為0。
      全文摘要
      本發(fā)明公開了一種傳輸數(shù)據(jù)的方法。在首次向OPC服務(wù)器傳輸數(shù)據(jù)時,除直接傳輸各測點的開關(guān)量和質(zhì)量碼之外,還以基準時間結(jié)合偏移量的形式傳輸各測點的時間戳,數(shù)據(jù)報文中包含OPC標準規(guī)定的所有字段,保證了數(shù)據(jù)的完整性和準確性,另外,由于在每個數(shù)據(jù)報文中只包含一個占據(jù)8字節(jié)的基準時間,并且各測點的偏移量以不少于20bits傳輸即可,所以在保證數(shù)據(jù)報文完整性的前提下,縮減了向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)容量,不需進行數(shù)據(jù)壓縮就可以向OPC服務(wù)器傳輸數(shù)據(jù),保證了數(shù)據(jù)傳輸?shù)膶崟r性;在非首次向OPC服務(wù)器傳輸數(shù)據(jù)時,只傳輸發(fā)生變化的質(zhì)量碼,進一步縮減了向OPC服務(wù)器傳輸?shù)臄?shù)據(jù)容量。
      文檔編號H04L12/56GK102215164SQ20111013824
      公開日2011年10月12日 申請日期2011年5月25日 優(yōu)先權(quán)日2011年5月25日
      發(fā)明者葉建位, 蘇宏業(yè) 申請人:浙江中控軟件技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1