欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法

文檔序號:7777893閱讀:226來源:國知局
一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法
【專利摘要】本發(fā)明提出了一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法,其特征在于,步驟為:步驟1、形成連續(xù)的有效數(shù)據(jù)包及有效數(shù)據(jù)包的排列關(guān)系;步驟2、有效數(shù)據(jù)包若符合拆分條件,則進(jìn)入步驟3;有效數(shù)據(jù)包若符合合并條件,則進(jìn)入步驟4;有效數(shù)據(jù)包若既不符合合并條件也不符合拆分條件,則進(jìn)入步驟5,步驟3、拆分有效數(shù)據(jù)包;步驟4、合并有效數(shù)據(jù)包;步驟5、當(dāng)前的有效數(shù)據(jù)包打包完成后,判斷是否所有有效數(shù)據(jù)包全部打包完成,如果還有未被打包的有效數(shù)據(jù)包,則返回步驟2繼續(xù)打下一個包,否則打包結(jié)束。本發(fā)明能夠避免由于數(shù)據(jù)打包的不合理,導(dǎo)致通信效率降低,無法達(dá)到監(jiān)控可編程邏輯控制器的最佳效果。
【專利說明】一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種可編程控制邏輯控制器的通信數(shù)據(jù)打包方法。
【背景技術(shù)】
[0002]可編程邏輯控制器在當(dāng)今的各行各業(yè)中具有廣泛的應(yīng)用,如汽車、化工、紡織等等。它采用可編程的存儲區(qū),用于其內(nèi)部存儲程序,執(zhí)行邏輯運(yùn)算、順序控制、定時、計數(shù)與算數(shù)操作等面向用戶的指令,并通過數(shù)字或模擬式輸入/輸出控制各種類型的機(jī)械或生產(chǎn)過程。
[0003]用戶可以使用設(shè)備供應(yīng)商提供的可編程邏輯控制器編程軟件對可編程邏輯控制器進(jìn)行調(diào)試,達(dá)到實(shí)時監(jiān)控可編程邏輯控制器存儲區(qū)當(dāng)前值的效果。
[0004]可是,在可編程邏輯控制器程序量大的情況下監(jiān)控,周期性通信的數(shù)據(jù)量較多,通信交互的實(shí)時性無法得到應(yīng)有的保障,不能給用戶一個高效響應(yīng)的友好可視化界面,甚至影響現(xiàn)場運(yùn)行過程的跟蹤與調(diào)試。如何快速、穩(wěn)定的將可編程邏輯控制器存儲區(qū)的值在可編程邏輯控制器編程軟件的界面中實(shí)時的顯示是其中一個很重要的問題。
[0005]在考慮如何解決此問題前,必須先了解目前監(jiān)控可編程邏輯控制器通信的整個過程,如圖2所示,其分為收集存儲區(qū)地址、打包存儲區(qū)地址、將打包的存儲區(qū)地址信息轉(zhuǎn)化為數(shù)據(jù)幀并發(fā)送給可編程邏輯控制器、等待可編程控制器回復(fù)數(shù)據(jù)。
[0006]從目前主流的可編程邏輯控制器編程軟件訪問可編程邏輯控制器存儲區(qū)當(dāng)前值的通信報文格式來看,發(fā)送數(shù)據(jù)幀的請求過程中,數(shù)據(jù)幀的報文格式中一定會包含的信息有,起始位、設(shè)備地址、功能代碼、存儲區(qū)類型、首地址、數(shù)量、效驗位、結(jié)束符,如圖3A及圖3B所示。由此可得,訪問存儲區(qū)時,若數(shù)據(jù)為同一存儲區(qū)類型,并且是連續(xù)的,則可以通過一次的數(shù)據(jù)交互過程完成。回復(fù)過程中,可編程控制器將訪問的存儲區(qū)當(dāng)前值的數(shù)據(jù)回復(fù)給可編程控制器編程軟件。
[0007]在符合主流通信報文格式的前提下,傳統(tǒng)的存儲區(qū)地址打包方式為:同一存儲區(qū)類型的連續(xù)數(shù)據(jù)打包在一起,否則分開打包。此方案并非最優(yōu)的打包方案,其原因在于:
[0008]第一、若同一存儲區(qū)類型的連續(xù)數(shù)據(jù)量非常大,將其打成一個包,此包在一次通信交互過程中完成,回復(fù)的數(shù)據(jù)量會超出通信的最大負(fù)荷,導(dǎo)致誤碼率提高,影響通信效率。故此情況下,需要考慮將其再分包和怎么分包的問題。
[0009]第二、在同一存儲區(qū)類型的連續(xù)數(shù)據(jù)量非常小的情況下,若連續(xù)同一存儲區(qū)類型地址的中間有一處斷開地址個數(shù)很少,將其分開打包,打成2個包,原本一次就可完成的交互過程現(xiàn)在需要進(jìn)行2次數(shù)據(jù)交互才能完成對這些存儲區(qū)地址的訪問,而且2次交互的數(shù)據(jù)有部分為重復(fù)數(shù)據(jù),例如,起始位、效驗位、結(jié)束符等等。

【發(fā)明內(nèi)容】

[0010]本發(fā)明的要解決的技術(shù)問題是避免由于數(shù)據(jù)打包的不合理,導(dǎo)致通信效率降低,無法達(dá)到監(jiān)控可編程邏輯控制器的最佳效果。[0011 ] 為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是提供了一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法,其特征在于,步驟為:
[0012]步驟1、生成需監(jiān)控可編程邏輯控制器存儲區(qū)地址的描述數(shù)據(jù),記為有效數(shù)據(jù),將所有有效數(shù)據(jù)根據(jù)存儲區(qū)地址以連續(xù)性的特點(diǎn)分組,連續(xù)的有效數(shù)據(jù)分為一組,形成連續(xù)的有效數(shù)據(jù)包,將連續(xù)的有效數(shù)據(jù)包以存儲區(qū)地址從小到大的順序排列,形成有效數(shù)據(jù)包的排列關(guān)系;[0013]步驟2、有效數(shù)據(jù)包若符合拆分條件,則進(jìn)入步驟3 ;有效數(shù)據(jù)包若符合合并條件,則進(jìn)入步驟4 ;有效數(shù)據(jù)包若既不符合合并條件也不符合拆分條件,則進(jìn)入步驟5,其中:
[0014]拆分條件為:有效數(shù)據(jù)包的大小大于能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù);
[0015]合并條件為:相鄰兩個有效數(shù)據(jù)包合并后的大小不大于能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù),且相鄰兩個有效數(shù)據(jù)包合并后的估算通信時間小于多個有效數(shù)據(jù)包合并前的估算通信時間;
[0016]步驟3、拆分有效數(shù)據(jù)包:
[0017]記Dbase為當(dāng)前有效數(shù)據(jù)包的字節(jié)數(shù),記L為能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù),將有效數(shù)據(jù)包一分為二,其一是能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù)部分,記為L部分,其二是有效數(shù)據(jù)包去除能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù)后剩余的部分,記為(Dbase-L)部分,將L部分與(Dbase-L)部分分別打成一個包,進(jìn)入步驟5 ;
[0018]步驟4、合并有效數(shù)據(jù)包:
[0019]記Dafter為與當(dāng)前的有效數(shù)據(jù)包相鄰的有效數(shù)據(jù)包的字節(jié)數(shù),記Dmid為相鄰兩個有效數(shù)據(jù)包之間的無效連續(xù)數(shù)據(jù)字節(jié)數(shù),將相鄰的兩個有效數(shù)據(jù)包合并成一個,則新的打包的基本數(shù)據(jù)字節(jié)數(shù)的值為Dbase+Dmid+Dafter,以新的打包的基本數(shù)據(jù)字節(jié)數(shù)將相鄰兩個有效數(shù)據(jù)包打成一個包,進(jìn)入步驟5 ;
[0020]步驟5、當(dāng)前的有效數(shù)據(jù)包打包完成后,判斷是否所有有效數(shù)據(jù)包全部打包完成,如果還有未被打包的有效數(shù)據(jù)包,則返回步驟2繼續(xù)打下一個包,否則打包結(jié)束。
[0021 ] 優(yōu)選地,所述步驟2包括:
[0022]步驟2.1、開始監(jiān)控可編程邏輯控制器之前,先發(fā)送一些固定長度的通信幀,測量4個參數(shù),包括11、1'8,1?,其中^為通信平均速率,1'8為監(jiān)控可編程邏輯控制器的設(shè)備收發(fā)數(shù)據(jù)的間隔時間,Tp為可編程邏輯控制器的收發(fā)數(shù)據(jù)的間隔時間;
[0023]步驟2.2、若Dbase > L時,則滿足拆分有效數(shù)據(jù)包的條件,進(jìn)入所述步驟3,否則不滿足拆分有效數(shù)據(jù)包的條件,進(jìn)入步驟2.3 ;
[0024]步驟2.3、若Dbase+Dmid+Dafter > L,則不滿足合并有效數(shù)據(jù)包的條件,進(jìn)入所述步驟5,否則判斷相鄰兩個有效數(shù)據(jù)包合并后的估算通信時間是否小于多個有效數(shù)據(jù)包合并前的估算通信時間,若是,則進(jìn)入所述步驟4,否則進(jìn)入所述步驟5。
[0025]優(yōu)選地,所述步驟2.3中判斷相鄰兩個有效數(shù)據(jù)包合并后的估算通信時間是否小于多個有效數(shù)據(jù)包合并前的估算通信時間的步驟為:
[0026]步驟2.3.1、估算合并前需要的通信時間Tuc:
[0027]
【權(quán)利要求】
1.一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法,其特征在于,步驟為: 步驟1、生成需監(jiān)控可編程邏輯控制器存儲區(qū)地址的描述數(shù)據(jù),記為有效數(shù)據(jù),將所有有效數(shù)據(jù)根據(jù)存儲區(qū)地址以連續(xù)性的特點(diǎn)分組,連續(xù)的有效數(shù)據(jù)分為一組,形成連續(xù)的有效數(shù)據(jù)包,將連續(xù)的有效數(shù)據(jù)包以存儲區(qū)地址從小到大的順序排列,形成有效數(shù)據(jù)包的排列關(guān)系; 步驟2、有效數(shù)據(jù)包若符合拆分條件,則進(jìn)入步驟3 ;有效數(shù)據(jù)包若符合合并條件,則進(jìn)入步驟4 ;有效數(shù)據(jù)包若既不符合合并條件也不符合拆分條件,則進(jìn)入步驟5,其中: 拆分條件為:有效數(shù)據(jù)包的大小大于能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù); 合并條件為:相鄰兩個有效數(shù)據(jù)包合并后的大小不大于能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù),且相鄰兩個有效數(shù)據(jù)包合并后的估算通信時間小于多個有效數(shù)據(jù)包合并前的估算通信時間; 步驟3、拆分有效數(shù)據(jù)包: 記Dbase為當(dāng)前有效數(shù)據(jù)包的字節(jié)數(shù),記L為能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù),將有效數(shù)據(jù)包一分為二,其一是能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù)部分,記為L部分,其二是有效數(shù)據(jù)包去除能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù)后剩余的部分,記為(Dbase-L)部分,將L部分與(Dbase-L)部分分別打成一個包,進(jìn)入步驟5 ; 步驟4、合并有效數(shù)據(jù)包: 記Dafter為與當(dāng)前的有效數(shù)據(jù)包相鄰的有效數(shù)據(jù)包的字節(jié)數(shù),記Dmid為相鄰兩個有效數(shù)據(jù)包之間的無效連續(xù)數(shù)據(jù)字節(jié)數(shù),將相鄰的兩個有效數(shù)據(jù)包合并成一個,則新的打包的基本數(shù)據(jù)字節(jié)數(shù)的值為Dbase+Dmid+Dafter,以新的打包的基本數(shù)據(jù)字節(jié)數(shù)將相鄰兩個有效數(shù)據(jù)包打成一個包,進(jìn)入步驟5 ; 步驟5、當(dāng)前的有效數(shù)據(jù)包打包完成后,判斷是否所有有效數(shù)據(jù)包全部打包完成,如果還有未被打包的有效數(shù)據(jù)包,則返回步驟2繼續(xù)打下一個包,否則打包結(jié)束。
2.如權(quán)利要求1所述的一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法,其特征在于,所述步驟2包括: 步驟2.1、開始監(jiān)控可編程邏輯控制器之前,先發(fā)送一些固定長度的通信幀,測量4個參數(shù),包括v、L、Ts,Tp,其中,V為通信平均速率,Ts為監(jiān)控可編程邏輯控制器的設(shè)備收發(fā)數(shù)據(jù)的間隔時間,Tp為可編程邏輯控制器的收發(fā)數(shù)據(jù)的間隔時間; 步驟2.2、若Dbase > L時,則滿足拆分有效數(shù)據(jù)包的條件,進(jìn)入所述步驟3,否則不滿足拆分有效數(shù)據(jù)包的條件,進(jìn)入步驟2.3 ; 步驟2.3、若Dbase+Dmid+Dafter > L,則不滿足合并有效數(shù)據(jù)包的條件,進(jìn)入所述步驟5,否則判斷相鄰兩個有效數(shù)據(jù)包合并后的估算通信時間是否小于多個有效數(shù)據(jù)包合并前的估算通信時間,若是,則進(jìn)入所述步驟4,否則進(jìn)入所述步驟5。
3.如權(quán)利要求2所述的一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法,其特征在于,所述步驟2.3中判斷相鄰兩個有效數(shù)據(jù)包合并后的估算通信時間是否小于多個有效數(shù)據(jù)包合并前的估算通信時間的步驟為: 步驟2.3.1、估算合并前需要的通信時間Tuc:
【文檔編號】H04L1/00GK103634076SQ201310613206
【公開日】2014年3月12日 申請日期:2013年11月27日 優(yōu)先權(quán)日:2013年11月27日
【發(fā)明者】琚長江, 明勤, 程睿遠(yuǎn), 薛吉, 張志深 申請人:上海電器科學(xué)研究院, 上海電器科學(xué)研究所(集團(tuán))有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
康保县| 修武县| 安顺市| 永泰县| 绍兴县| 满洲里市| 安多县| 长宁区| 来宾市| 托克逊县| 大安市| 崇义县| 藁城市| 青龙| 凤凰县| 嫩江县| 万州区| 四平市| 靖边县| 太湖县| 延长县| 团风县| 临夏市| 建阳市| 湟源县| 重庆市| 阳东县| 穆棱市| 定州市| 武定县| 红桥区| 乌拉特后旗| 卓尼县| 南康市| 公安县| 通山县| 河间市| 耒阳市| 英德市| 阿瓦提县| 阿瓦提县|