System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本專利技術涉及一種網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法及網(wǎng)關機設備,屬于智慧變配電站房中內部數(shù)據(jù)傳輸技術。
技術介紹
1、在電力變配電站房內,存在大量使用串口進行數(shù)據(jù)通信的傳感器設備,串口也是網(wǎng)關機設備上非常常用的設備通信接口,通信雙方之間使用串行線路進行數(shù)據(jù)通信;雖然串口通信具有傳輸速度慢的缺點,但是由于其在兼容性、穩(wěn)定性、成本效益和靈活性等方面的優(yōu)勢,因此,串口通信在智慧變配電站房中仍然發(fā)揮著不可或缺的作用。
2、符合串口通信協(xié)議的數(shù)據(jù)包內容包含起始位、主體數(shù)據(jù)、校驗位和停止位,串行通信雙方需要約定一致的波特率、起始位、校驗位和停止位和數(shù)據(jù)包格式才能進行正常的通信;由于串口通信按bit位發(fā)送,傳輸速率較慢,而且由于串口通信的發(fā)送方和接收方之間沒有統(tǒng)一的時鐘信號,所以串口通信報文隊列處理方式存在一定的特殊性。
3、在電力變配電站房內,傳感器設備涉及各種類型的數(shù)據(jù),有些是開關量或狀態(tài)數(shù)據(jù)、有些是模擬量數(shù)據(jù),有些是對傳感器設備的控制數(shù)據(jù),網(wǎng)關機設備對這些不同類型的數(shù)據(jù)處理方式也不盡相同,例如,開關量狀態(tài)數(shù)據(jù)需要頻繁的獲取數(shù)據(jù)信息,特別是開關控制后需要及時的得到開關量控制反饋;而一些模擬量數(shù)據(jù)一般變化不大,不需要頻繁讀取數(shù)據(jù)信息,可以適當把數(shù)據(jù)采集間隔拉長。因此,針對不同的數(shù)據(jù)信息需要采用不同處理策略,才能夠避免重復、低時效的數(shù)據(jù)處理。
技術實現(xiàn)思路
1、專利技術目的:為了克服現(xiàn)有技術中存在的不足,本專利技術提供一種網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,設計了固
2、技術方案:為實現(xiàn)上述目的,本專利技術采用的技術方案為:
3、一種網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,采用modbus協(xié)議作為通信協(xié)議,為傳感器配置modbus通信地址,為傳感器信息點配置寄存器地址、讀寫功能碼和四遙類型;對于遙信信息點和遙測信息點,將同一個傳感器中寄存器地址連續(xù)、讀寫功能碼相同且四遙類型一致的傳感器數(shù)據(jù)點存放到一個處理數(shù)據(jù)堆,將處理數(shù)據(jù)堆翻譯為modbus報文,并為modbus報文增加報文屬性信息形成永久性的modbus報文信息;將遙控信息點或遙調信息點的報文處理指令組裝成臨時性的modbus報文信息,相對應的遙信信息點和遙測信息點的反饋信息也組裝成臨時性的modbus報文信息;將同一四遙類型的所有modbus報文信息存放在內存的一個報文存儲堆中,采用定時遍歷報文存儲堆與上位機指令相結合的方式,將modbus報文信息加入到串口的modbus報文信息處理隊列,串口逐個取出modbus報文信息處理隊列中的modbus報文信息進行報文處理。
4、modbus是一種串行通信協(xié)議,已經(jīng)成為工業(yè)領域通信協(xié)議的業(yè)界標準;modbus協(xié)議采用主/從通訊模式,采用主問從答的模式,進行數(shù)據(jù)通信;modbus報文涉及通信地址、讀寫功能碼和寄存器地址三個信息,只要獲取這三個信息,就可以按照modbus報文規(guī)則生成modbus報文。本案中,對于遙控報文和遙調報文,每個信息點都要分開進行單獨處理,與之對應的遙信報文和遙測報文(可以認為是響應遙控報文和遙調報文的結果),每個信息點也都要分開進行單獨處理,以滿足調控和反饋的時效性需求;而其他的遙信報文和遙測報文,本案使用寄存器地址連續(xù)原則進行組合區(qū)域組幀。
5、具體的,所述報文屬性信息包括信息點列表、報文類型、報文接收長度、報文讀取周期、可重新發(fā)送標識、modbus報文、報文鎖和報文處理時間戳;對于遙信信息點和遙測信息點,綜合判斷modbus報文信息的報文讀取周期、報文處理時間戳和可重新發(fā)送標識,確定是否將modbus報文信息加入到modbus報文信息處理隊列的隊尾;對于遙控信息點和遙調信息點的modbus報文信息,根據(jù)上位機指令直接將modbus報文信息插入到modbus報文信息處理隊列的隊首;對于針對遙控信息點和遙調信息點反饋的遙信信息點和遙測信息點的modbus報文信息,根據(jù)上位機指令即時或延時將modbus報文信息插入到modbus報文信息處理隊列的隊首。
6、具體的,對于遙信信息點和遙測信息點,綜合判斷modbus報文信息的報文讀取周期、報文處理時間戳和可重新發(fā)送標識,若可重新發(fā)送標識為真,且當前時間與報文處理時間戳的差值大于報文讀取周期,則更新可重新發(fā)送標識為假,并將modbus報文信息加入modbus報文信息處理隊列的隊尾;若可重新發(fā)送標識為假,則表示該modbus報文信息已經(jīng)加入了modbus報文信息處理隊列,不可重復添加。
7、具體的,在組織modbus報文信息處理隊列時,若遍歷到某一modbus報文信息,確定是否需要將該modbus報文信息加入到modbus報文信息處理隊列時,先鎖定報文鎖,在得到確定結果后釋放報文鎖;在串口從modbus報文信息處理隊列取出到某一modbus報文信息進行報文處理時,先鎖定報文鎖,在報文處理完成后釋放報文鎖。本案設計報文鎖,目的是避免多線程對同一個modbus報文信息同時進行處理,造成數(shù)據(jù)錯亂問題;每個modbus報文信息都有一個報文鎖。
8、具體的,該方法包括如下步驟:
9、step1、為各傳感器和各傳感器信息點建檔,為傳感器配置modbus通信地址,為傳感器信息點配置寄存器地址、讀寫功能碼和四遙類型;四遙類型包括遙信、遙測、遙控和遙調四種類型,構建指定遙控信息點與指定遙信信息點之間的對應關系,構建指定遙調信息點與指定遙測信息點之間的對應關系;
10、step2、網(wǎng)關機加載傳感器及傳感器信息點的配置信息;
11、step3、對于遙信信息點和遙測信息點,按照傳感器信息點的讀寫功能碼和四遙類型進行分堆處理,將同一個傳感器中寄存器地址連續(xù)、讀寫功能碼相同且四遙類型一致的傳感器信息點存放到一個處理數(shù)據(jù)堆,并記錄處理數(shù)據(jù)堆的寄存器地址范圍;將每個處理數(shù)據(jù)堆的信息翻譯為modbus報文,包括傳感器的modbus通信地址、讀寫功能碼、寄存器地址范圍;若某個處理數(shù)據(jù)堆的寄存器地址范圍超過modbus報文長度限制,則以modbus報文長度限制為參考對寄存器地址范圍進行拆分,形成兩個以上modbus報文;若某個處理數(shù)據(jù)堆的寄存器地址范圍沒有超過modbus報文長度限制,則形成一個modbus報文;為每個modbus報文增加報文屬性信息形成modbus報文信息,報文屬性信息包括信息點列表、報文類型、報文接收長度、報文讀取周期、可重新發(fā)送標識、modbus報文、報文鎖和報文處理時間戳,設定報文類型為永久性報文;將同一四遙類型的所有modbus報文信息存放在內存的一個報文存儲堆中;
12、step4、為每一個串口通信服務增加一個定時器(一般為秒級定時器),網(wǎng)關機定時遍歷報文存儲堆,當遍歷到某一個modbus報文信息時,首先鎖定該modbu本文檔來自技高網(wǎng)...
【技術保護點】
1.一種網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,其特征在于:采用Modbus協(xié)議作為通信協(xié)議,為傳感器配置Modbus通信地址,為傳感器信息點配置寄存器地址、讀寫功能碼和四遙類型;對于遙信信息點和遙測信息點,將同一個傳感器中寄存器地址連續(xù)、讀寫功能碼相同且四遙類型一致的傳感器數(shù)據(jù)點存放到一個處理數(shù)據(jù)堆,將處理數(shù)據(jù)堆翻譯為Modbus報文,并為Modbus報文增加報文屬性信息形成永久性的Modbus報文信息;將遙控信息點或遙調信息點的報文處理指令組裝成臨時性的Modbus報文信息,相對應的遙信信息點和遙測信息點的反饋信息也組裝成臨時性的Modbus報文信息;將同一四遙類型的所有Modbus報文信息存放在內存的一個報文存儲堆中,采用定時遍歷報文存儲堆與上位機指令相結合的方式,將Modbus報文信息加入到串口的Modbus報文信息處理隊列,串口逐個取出Modbus報文信息處理隊列中的Modbus報文信息進行報文處理。
2.根據(jù)權利要求1所述的網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,其特征在于:所述報文屬性信息包括信息點列表、報文類型、報文接收長度、報文讀取周期、可重新發(fā)送標識、
3.根據(jù)權利要求2所述的網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,其特征在于:對于遙信信息點和遙測信息點,綜合判斷Modbus報文信息的報文讀取周期、報文處理時間戳和可重新發(fā)送標識,若可重新發(fā)送標識為真,且當前時間與報文處理時間戳的差值大于報文讀取周期,則更新可重新發(fā)送標識為假,并將Modbus報文信息加入Modbus報文信息處理隊列的隊尾。
4.根據(jù)權利要求2所述的網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,其特征在于:在組織Modbus報文信息處理隊列時,若遍歷到某一Modbus報文信息,確定是否需要將該Modbus報文信息加入到Modbus報文信息處理隊列時,先鎖定報文鎖,在得到確定結果后釋放報文鎖;在串口從Modbus報文信息處理隊列取出到某一Modbus報文信息進行報文處理時,先鎖定報文鎖,在報文處理完成后釋放報文鎖。
5.根據(jù)權利要求1所述的網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,其特征在于:該方法包括如下步驟:
6.一種網(wǎng)關機設備,其特在于:采用Modbus協(xié)議作為通信協(xié)議,通過串口實現(xiàn)與傳感器的通信連接,包括傳感器和傳感器信息點配置模塊、永久性Modbus報文翻譯模塊、臨時性Modbus報文翻譯模塊、報文存儲堆、報文遍歷模塊、報文指令接收模塊、Modbus報文信息處理隊列和報文處理模塊;
7.根據(jù)權利要求6所述的網(wǎng)關機設備,其特在于:所述永久性Modbus報文翻譯模塊,對于遙信信息點和遙測信息點,按照傳感器信息點的讀寫功能碼和四遙類型進行分堆處理,將同一個傳感器中寄存器地址連續(xù)、讀寫功能碼相同且四遙類型一致的傳感器信息點存放到一個處理數(shù)據(jù)堆,并記錄處理數(shù)據(jù)堆的寄存器地址范圍;將每個處理數(shù)據(jù)堆的信息翻譯為Modbus報文,若某個處理數(shù)據(jù)堆的寄存器地址范圍超過Modbus報文長度限制,則以Modbus報文長度限制為參考對寄存器地址范圍進行拆分,形成兩個以上Modbus報文,否則形成一個Modbus報文;為Modbus報文增加報文屬性信息形成Modbus報文信息,設定報文類型為永久性報文。
8.根據(jù)權利要求6所述的網(wǎng)關機設備,其特在于:所述臨時性Modbus報文翻譯模塊,將指定遙控信息點的報文處理指令翻譯為一個Modbus報文,為Modbus報文增加報文屬性信息形成Modbus報文信息,設定報文類型為臨時性報文,將該Modbus報文信息稱為遙控報文;將與遙控報文相關聯(lián)的指定遙信信息點的反饋信息翻譯為一個Modbus報文,為Modbus報文增加報文屬性信息形成Modbus報文信息,設定報文類型為臨時性報文,將該Modbus報文信息稱為遙信報文;將指定遙調信息點的報文處理指令翻譯為一個Modbus報文,為Modbus報文增加報文屬性信息形成Modbus報文信息,設定報文類型為臨時性報文,將該Modbus報文信息稱為遙調報文;將與遙調報文相關聯(lián)的指定遙測信息點的反饋信息翻...
【技術特征摘要】
1.一種網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,其特征在于:采用modbus協(xié)議作為通信協(xié)議,為傳感器配置modbus通信地址,為傳感器信息點配置寄存器地址、讀寫功能碼和四遙類型;對于遙信信息點和遙測信息點,將同一個傳感器中寄存器地址連續(xù)、讀寫功能碼相同且四遙類型一致的傳感器數(shù)據(jù)點存放到一個處理數(shù)據(jù)堆,將處理數(shù)據(jù)堆翻譯為modbus報文,并為modbus報文增加報文屬性信息形成永久性的modbus報文信息;將遙控信息點或遙調信息點的報文處理指令組裝成臨時性的modbus報文信息,相對應的遙信信息點和遙測信息點的反饋信息也組裝成臨時性的modbus報文信息;將同一四遙類型的所有modbus報文信息存放在內存的一個報文存儲堆中,采用定時遍歷報文存儲堆與上位機指令相結合的方式,將modbus報文信息加入到串口的modbus報文信息處理隊列,串口逐個取出modbus報文信息處理隊列中的modbus報文信息進行報文處理。
2.根據(jù)權利要求1所述的網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,其特征在于:所述報文屬性信息包括信息點列表、報文類型、報文接收長度、報文讀取周期、可重新發(fā)送標識、modbus報文、報文鎖和報文處理時間戳;對于遙信信息點和遙測信息點,綜合判斷modbus報文信息的報文讀取周期、報文處理時間戳和可重新發(fā)送標識,確定是否將modbus報文信息加入到modbus報文信息處理隊列的隊尾;對于遙控信息點和遙調信息點的modbus報文信息,根據(jù)上位機指令直接將modbus報文信息插入到modbus報文信息處理隊列的隊首;對于針對遙控信息點和遙調信息點反饋的遙信信息點和遙測信息點的modbus報文信息,根據(jù)上位機指令即時或延時將modbus報文信息插入到modbus報文信息處理隊列的隊首。
3.根據(jù)權利要求2所述的網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,其特征在于:對于遙信信息點和遙測信息點,綜合判斷modbus報文信息的報文讀取周期、報文處理時間戳和可重新發(fā)送標識,若可重新發(fā)送標識為真,且當前時間與報文處理時間戳的差值大于報文讀取周期,則更新可重新發(fā)送標識為假,并將modbus報文信息加入modbus報文信息處理隊列的隊尾。
4.根據(jù)權利要求2所述的網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,其特征在于:在組織modbus報文信息處理隊列時,若遍歷到某一modbus報文信息,確定是否需要將該modbus報文信息加入到modbus報文信息處理隊列時,先鎖定報文鎖,在得到確定結果后釋放報文鎖;在串口從modbus報文信息處理隊列取出到某一modbus報文信息進行報文處理時,先鎖定報文鎖,在報文處理完成后釋放報文鎖。
5.根據(jù)權利要求1所述的網(wǎng)關機設備的串口數(shù)據(jù)報文隊列處理方法,其特征在于:該方法包...
【專利技術屬性】
技術研發(fā)人員:許蘇軍,操星,徐姣,管相東,符建輝,
申請(專利權)人:江蘇征途技術股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。