本發(fā)明涉及一種數(shù)據(jù)采集技術(shù),特別是一種基于特征碼的集中抄表方法。
背景技術(shù):
在公共事業(yè)水氣熱的抄表領域,之前都是通過人工抄讀,近年逐步出現(xiàn)通過設置集中器實現(xiàn)自動抄表,集中器與控制中心計算機連接,按照控制中心指令抄收用戶的表計數(shù)據(jù),并向控制中心發(fā)回數(shù)據(jù)或向抄表控制器傳達主控站的指令。但現(xiàn)有的集中器不存在對協(xié)議的解讀和檢查,再加上沒有國家或者省級的統(tǒng)一協(xié)議檢測機構(gòu),廠家對協(xié)議本身的解讀又不同,造成目前智能表具抄表協(xié)議五花八門,有CJ188-2004、DLT645/97等各式各樣的協(xié)議,即使同一協(xié)議下,數(shù)據(jù)的傳遞順序也不同,而電氣參數(shù)的回傳差別就更大了,因此導致一臺集中器不能兼容水表、電表和燃氣表等不同表具,并且不能兼容同一種表具大類下的不同表具型號,甚至不能很好地兼容同一表具型號下不同廠商制造的表具。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供通過一臺集中器兼容不同協(xié)議和類型表具的方法,表具回傳數(shù)據(jù)能夠同一格式存儲,并且具有自設置能力,且可針對不同廠商的表具通訊進行優(yōu)化。
本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案是:
一種基于特征碼的集中抄表方法,其步驟包括:
S1)加入大小類號和特征碼,設置特征碼的規(guī)則,所述規(guī)則包括對應規(guī)則和調(diào)整規(guī)則;
S2)集中器的抄表模塊接收抄表任務后,抄表任務中的抄表信息發(fā)送給抄表線程,所述抄表信息包括大小類號、抄表協(xié)議和抄表參數(shù);
S3)抄表線程解析抄表信息,根據(jù)大小類號和抄表協(xié)議通過對應規(guī)則確定特征碼;
S4)集中器根據(jù)S3所得特征碼的調(diào)整規(guī)則初始化抄表端口;
S5)集中器根據(jù)S3所得特征碼的調(diào)整規(guī)則調(diào)整抄表參數(shù);
S6)集中器根據(jù)S3所得特征碼確定抄表協(xié)議,結(jié)合S5所得抄表參數(shù),生成抄表幀,向表具發(fā)送。
通過設置大小類號、特征碼和對應規(guī)則實現(xiàn)服務器發(fā)來的統(tǒng)一格式抄表任務能經(jīng)集中器提取調(diào)整后,抄表端口和抄表幀能夠適應與不同表具間的通訊要求,實現(xiàn)在同個抄表終端下兼容不同表具。
進一步地,還包括以下步驟:
S7)表具接收抄表幀后,回復表具幀;
S8)抄表模塊接收表具幀后,根據(jù)S3所得特征碼的調(diào)整規(guī)則調(diào)整表具幀中數(shù)據(jù),統(tǒng)一格式存儲。
通過特征碼還能夠?qū)崿F(xiàn)回傳表具幀中數(shù)據(jù)的統(tǒng)一格式存儲,供服務器讀取。
更進一步,所述步驟S1中加入待定碼,并對特征碼進行排序;所述步驟S3中若大小類號和抄表協(xié)議根據(jù)對應規(guī)則無對應特征碼則確定為待定碼,所述待定碼賦排序首位的特征碼并采用對應特征碼的調(diào)整規(guī)則,且步驟S4至S6中根據(jù)待定碼的調(diào)整規(guī)則初始化、調(diào)整并確定;所述步驟S6中若生成的抄表幀向表具發(fā)送失敗或步驟S8中若抄表模塊未接收到表具幀,所述待定碼賦排序下一位的特征碼并采用對應特征碼的調(diào)整規(guī)則,返回進行步驟S4至S6根據(jù)待定碼的調(diào)整規(guī)則初始化、調(diào)整并確定。
對于新設置的表具如果未在集中器中設定相應規(guī)則,可通過已有規(guī)則進行嘗試匹配,由于表具類型有限,通過該方式可實現(xiàn)大部分新增表具的規(guī)則自動對應和設置。
作為優(yōu)選,所述特征碼根據(jù)抄表協(xié)議分類排序;所述待定碼賦與抄表信息相同抄表協(xié)議下的特征碼。
通過分組匹配,可加快匹配速度,自動匹配時間大幅縮短。
作為優(yōu)選,所述步驟S1中還加入廠商代碼;所述步驟S2中抄表信息還包括廠商代碼;所述步驟S3中根據(jù)大小類號、廠商代碼和抄表協(xié)議通過對應規(guī)則確定特征碼;所述步驟S4中根據(jù)S3所得特征碼的調(diào)整規(guī)則初始化抄表端口包括設定超時時間。
由于同一表具型號下不同廠商制造的表具在半工方式下一幀的超時時間可能存在差異,如150ms、300ms等,傳統(tǒng)方式統(tǒng)一設置成一個上限值1000ms,因此在通訊過程中會產(chǎn)生不必要的等待,通過加入廠商代碼與特征碼對應可將表具的超時時間分別設置。
作為優(yōu)選,所述抄表參數(shù)中包括表具地址和數(shù)據(jù)標志,所述步驟S5中根據(jù)S3所得特征碼的調(diào)整規(guī)則調(diào)整抄表參數(shù)包括判斷是否添加特殊地址數(shù)據(jù)、調(diào)整表具地址和數(shù)據(jù)標志中數(shù)據(jù)內(nèi)容與數(shù)據(jù)排序。由于同一表具所列地址與抄表參數(shù)中的地址會存在差異,如表具所列地址為14位地址,而其中通訊涉及地址只需10位即可,因此抄表參數(shù)中的數(shù)據(jù)長度與數(shù)據(jù)位置和預設規(guī)則可能均存在差異,所以在這種情況下集中器需要加入判斷是否添加特殊地址數(shù)據(jù),對于地址存在差異的,先在特定位置補充地址位再進行相應調(diào)整,從而適應不同的抄表任務格式。
本發(fā)明同現(xiàn)有技術(shù)相比具有以下優(yōu)點及效果:通過設置大小類號、特征碼和對應規(guī)則實現(xiàn)服務器發(fā)來的統(tǒng)一格式抄表任務能經(jīng)集中器提取調(diào)整后,抄表端口和抄表幀能夠適應與不同表具間的通訊要求,實現(xiàn)在同個抄表終端下兼容不同表具。通過特征碼還能夠?qū)崿F(xiàn)回傳表具幀中數(shù)據(jù)的統(tǒng)一格式存儲,供服務器讀取。對于新設置的表具如果未在集中器中設定相應規(guī)則,可通過已有規(guī)則進行嘗試匹配,實現(xiàn)大部分新增表具的規(guī)則自動對應和設置,并通過分組匹配加快匹配速度。通過加入廠商代碼與特征碼對應可將表具的超時時間分別設置。通過加入判斷是否添加特殊地址數(shù)據(jù)從而適應不同的抄表任務格式。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為實施例1的流程圖。
圖2為實施例2的流程圖。
圖3為實施例3的流程圖。
具體實施方式
下面結(jié)合實施例對本發(fā)明做進一步的詳細說明,以下實施例是對本發(fā)明的解釋而本發(fā)明并不局限于以下實施例。
實施例1:
如圖1所示,本實施例中服務器與集中器遠程連接,其中集中器通過Mbus抄表總線連接有多種類型表具。接收服務器抄表任務前,在集中器中加入大小類號和特征碼,其中大小類號和特征碼可以設置為數(shù)值、字符或字符串,并設置特征碼的規(guī)則,規(guī)則包括對應規(guī)則和調(diào)整規(guī)則,對應關系為大小類號和抄表協(xié)議與特征碼的多對一或一對一映射。設置完成后集中器開始接收服務器傳送來的數(shù)據(jù)幀,集中器對服務器的數(shù)據(jù)幀解碼后,將抄表任務分配集中器下的抄表模塊處理,抄表模塊將抄表任務存儲在本地。需要執(zhí)行時,抄表模塊從本地調(diào)取相應抄表任務并由抄表線程對抄表任務中的抄表信息進行提取,抄表信息包括大小類號、抄表協(xié)議和統(tǒng)一格式的抄表參數(shù),提取后通過對應規(guī)則查找大小類號和抄表協(xié)議對應的特征碼,對該抄表任務的特征碼進行確定。集中器根據(jù)該特征碼及其調(diào)整規(guī)則初始化抄表端口,包括通訊的數(shù)據(jù)位、校驗方式和停止位。同時集中器根據(jù)該特征碼及其調(diào)整規(guī)則調(diào)整抄表參數(shù),服務器傳送的統(tǒng)一格式抄表參數(shù)如“幀起始符68H+儀表類型T+地址域A0 A1 A2 A3 A4 A5 A6+控制碼C+數(shù)據(jù)長度域L+數(shù)據(jù)標志DATA+效驗碼CS+結(jié)束符16H”的形式,集中器首先根據(jù)調(diào)整規(guī)則中的數(shù)據(jù)長度檢測該抄表參數(shù)長度是否符合要求,如部分廠商的地址域會缺省A5 A6四位,則集中器通過00 00將該四位補齊后通過調(diào)整規(guī)則對上述抄表參數(shù)順序進行調(diào)整或/和具體數(shù)據(jù)位的修改,調(diào)整過程為常見的數(shù)據(jù)格式改寫在此不再贅述。通過上述調(diào)整將統(tǒng)一格式的抄表參數(shù)改寫為符合與特定表具通訊的抄表參數(shù)。上述兩步完成后集中器根據(jù)該特征碼確定抄表協(xié)議與抄表參數(shù)生成抄表幀,抄表幀通過抄表端口和Mbus抄表總線向抄表參數(shù)中地址域指定的表具發(fā)送。表具在接收抄表幀后,按抄表幀中的數(shù)據(jù)標志進行操作并在操作完成后回復表具幀。抄表模塊接收表具幀后,根據(jù)該特征碼的調(diào)整規(guī)則對表具幀中數(shù)據(jù)反向調(diào)整,使之改寫為服務器能夠讀取的統(tǒng)一格式后本地存儲。
實施例2:
如圖2所示,本實施例流程同實施例1基本相同,但是區(qū)別點在于加入了廠商代碼,因此在確定特征碼后,初始化抄表端口時可以將半工方式下一幀的超時時間參數(shù)按具體表具進行設置,且在調(diào)整抄表參數(shù)時可以不進行抄表參數(shù)長度的檢測,而直接將特殊地址位的添加設定在調(diào)整規(guī)則中,從而相比于實施例1在通訊和調(diào)整過程中可以節(jié)省更多時間。
實施例3:
如圖3所示,本實施例部分流程與實施例1相同,區(qū)別點在于加入待定碼并對特征碼按抄表協(xié)議分類排序,并在通過大小類號和抄表協(xié)議確定特征碼加入判斷,如果大小類號和抄表協(xié)議能夠通過對應規(guī)則確定特征碼,則后續(xù)流程與實施例1相同(圖中未示出),如果無法滿足對應規(guī)則將該大小類號和抄表協(xié)議確定為待定碼,待定碼初始賦為與抄表任務下抄表協(xié)議相同列表中的首位特征碼,并使用相應的調(diào)整規(guī)則,其中通過待定碼初始化抄表端口、調(diào)整抄表參數(shù)和生成抄表幀的過程與使用特征碼時相同,隨后集中器嘗試將生成的抄表幀向表具發(fā)送(判斷調(diào)整后地址域是否存在),若發(fā)送成功集中器還需等待表具是否成功回復表具幀(判斷抄表幀整體是否正確),若上述步驟均成功則在保存調(diào)整后的表具幀同時,將該待定碼對應的特征碼與大小類號和抄表協(xié)議形成新的對應規(guī)則進行記錄。若上述步驟中任一失敗,則待定碼賦排序下一位的特征碼并采用對應特征碼的調(diào)整規(guī)則,并根據(jù)新的賦值和調(diào)整規(guī)則重新初始化抄表端口、調(diào)整抄表參數(shù)和生成抄表幀,直至成功或全部列表中的特征碼全部使用后仍失敗后結(jié)束。該過程主要用于新表具的添加,當新表具添加后無需在集中器中重新設置規(guī)則,可在首次接到新表具的抄表任務時自動嘗試正確的特征碼和調(diào)整規(guī)則,從而實現(xiàn)特征碼和規(guī)則的自動配置。但若相應類型的表具從未在集中器中添加還是存在需要重新設置特征碼和規(guī)則的情況。
此外,需要說明的是,本說明書中所描述的具體實施例,其零、部件的形狀、所取名稱等可以不同。凡依本發(fā)明專利構(gòu)思所述的構(gòu)造、特征及原理所做的等效或簡單變化,均包括于本發(fā)明專利的保護范圍內(nèi)。本發(fā)明所屬技術(shù)領域的技術(shù)人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,只要不偏離本發(fā)明的結(jié)構(gòu)或者超越本權(quán)利要求書所定義的范圍,均應屬于本發(fā)明的保護范圍。