国产精品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>

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

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

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

      [0010]本發(fā)明的要解決的技術(shù)問(wèn)題是避免由于數(shù)據(jù)打包的不合理,導(dǎo)致通信效率降低,無(wú)法達(dá)到監(jiān)控可編程邏輯控制器的最佳效果。[0011 ] 為了解決上述技術(shù)問(wèn)題,本發(fā)明的技術(shù)方案是提供了一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法,其特征在于,步驟為:
      [0012]步驟1、生成需監(jiān)控可編程邏輯控制器存儲(chǔ)區(qū)地址的描述數(shù)據(jù),記為有效數(shù)據(jù),將所有有效數(shù)據(jù)根據(jù)存儲(chǔ)區(qū)地址以連續(xù)性的特點(diǎn)分組,連續(xù)的有效數(shù)據(jù)分為一組,形成連續(xù)的有效數(shù)據(jù)包,將連續(xù)的有效數(shù)據(jù)包以存儲(chǔ)區(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]合并條件為:相鄰兩個(gè)有效數(shù)據(jù)包合并后的大小不大于能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù),且相鄰兩個(gè)有效數(shù)據(jù)包合并后的估算通信時(shí)間小于多個(gè)有效數(shù)據(jù)包合并前的估算通信時(shí)間;
      [0016]步驟3、拆分有效數(shù)據(jù)包:
      [0017]記Dbase為當(dāng)前有效數(shù)據(jù)包的字節(jié)數(shù),記L為能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù),將有效數(shù)據(jù)包一分為二,其一是能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù)部分,記為L(zhǎng)部分,其二是有效數(shù)據(jù)包去除能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù)后剩余的部分,記為(Dbase-L)部分,將L部分與(Dbase-L)部分分別打成一個(gè)包,進(jìn)入步驟5 ;
      [0018]步驟4、合并有效數(shù)據(jù)包:
      [0019]記Dafter為與當(dāng)前的有效數(shù)據(jù)包相鄰的有效數(shù)據(jù)包的字節(jié)數(shù),記Dmid為相鄰兩個(gè)有效數(shù)據(jù)包之間的無(wú)效連續(xù)數(shù)據(jù)字節(jié)數(shù),將相鄰的兩個(gè)有效數(shù)據(jù)包合并成一個(gè),則新的打包的基本數(shù)據(jù)字節(jié)數(shù)的值為Dbase+Dmid+Dafter,以新的打包的基本數(shù)據(jù)字節(jié)數(shù)將相鄰兩個(gè)有效數(shù)據(jù)包打成一個(gè)包,進(jìn)入步驟5 ;
      [0020]步驟5、當(dāng)前的有效數(shù)據(jù)包打包完成后,判斷是否所有有效數(shù)據(jù)包全部打包完成,如果還有未被打包的有效數(shù)據(jù)包,則返回步驟2繼續(xù)打下一個(gè)包,否則打包結(jié)束。
      [0021 ] 優(yōu)選地,所述步驟2包括:
      [0022]步驟2.1、開(kāi)始監(jiān)控可編程邏輯控制器之前,先發(fā)送一些固定長(zhǎng)度的通信幀,測(cè)量4個(gè)參數(shù),包括11、1'8,1?,其中^為通信平均速率,1'8為監(jiān)控可編程邏輯控制器的設(shè)備收發(fā)數(shù)據(jù)的間隔時(shí)間,Tp為可編程邏輯控制器的收發(fā)數(shù)據(jù)的間隔時(shí)間;
      [0023]步驟2.2、若Dbase > L時(shí),則滿足拆分有效數(shù)據(jù)包的條件,進(jìn)入所述步驟3,否則不滿足拆分有效數(shù)據(jù)包的條件,進(jìn)入步驟2.3 ;
      [0024]步驟2.3、若Dbase+Dmid+Dafter > L,則不滿足合并有效數(shù)據(jù)包的條件,進(jìn)入所述步驟5,否則判斷相鄰兩個(gè)有效數(shù)據(jù)包合并后的估算通信時(shí)間是否小于多個(gè)有效數(shù)據(jù)包合并前的估算通信時(shí)間,若是,則進(jìn)入所述步驟4,否則進(jìn)入所述步驟5。
      [0025]優(yōu)選地,所述步驟2.3中判斷相鄰兩個(gè)有效數(shù)據(jù)包合并后的估算通信時(shí)間是否小于多個(gè)有效數(shù)據(jù)包合并前的估算通信時(shí)間的步驟為:
      [0026]步驟2.3.1、估算合并前需要的通信時(shí)間Tuc:
      [0027]
      【權(quán)利要求】
      1.一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法,其特征在于,步驟為: 步驟1、生成需監(jiān)控可編程邏輯控制器存儲(chǔ)區(qū)地址的描述數(shù)據(jù),記為有效數(shù)據(jù),將所有有效數(shù)據(jù)根據(jù)存儲(chǔ)區(qū)地址以連續(xù)性的特點(diǎn)分組,連續(xù)的有效數(shù)據(jù)分為一組,形成連續(xù)的有效數(shù)據(jù)包,將連續(xù)的有效數(shù)據(jù)包以存儲(chǔ)區(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ù); 合并條件為:相鄰兩個(gè)有效數(shù)據(jù)包合并后的大小不大于能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù),且相鄰兩個(gè)有效數(shù)據(jù)包合并后的估算通信時(shí)間小于多個(gè)有效數(shù)據(jù)包合并前的估算通信時(shí)間; 步驟3、拆分有效數(shù)據(jù)包: 記Dbase為當(dāng)前有效數(shù)據(jù)包的字節(jié)數(shù),記L為能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù),將有效數(shù)據(jù)包一分為二,其一是能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù)部分,記為L(zhǎng)部分,其二是有效數(shù)據(jù)包去除能夠確保通信誤碼率保持平穩(wěn)的最大字節(jié)數(shù)后剩余的部分,記為(Dbase-L)部分,將L部分與(Dbase-L)部分分別打成一個(gè)包,進(jìn)入步驟5 ; 步驟4、合并有效數(shù)據(jù)包: 記Dafter為與當(dāng)前的有效數(shù)據(jù)包相鄰的有效數(shù)據(jù)包的字節(jié)數(shù),記Dmid為相鄰兩個(gè)有效數(shù)據(jù)包之間的無(wú)效連續(xù)數(shù)據(jù)字節(jié)數(shù),將相鄰的兩個(gè)有效數(shù)據(jù)包合并成一個(gè),則新的打包的基本數(shù)據(jù)字節(jié)數(shù)的值為Dbase+Dmid+Dafter,以新的打包的基本數(shù)據(jù)字節(jié)數(shù)將相鄰兩個(gè)有效數(shù)據(jù)包打成一個(gè)包,進(jìn)入步驟5 ; 步驟5、當(dāng)前的有效數(shù)據(jù)包打包完成后,判斷是否所有有效數(shù)據(jù)包全部打包完成,如果還有未被打包的有效數(shù)據(jù)包,則返回步驟2繼續(xù)打下一個(gè)包,否則打包結(jié)束。
      2.如權(quán)利要求1所述的一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法,其特征在于,所述步驟2包括: 步驟2.1、開(kāi)始監(jiān)控可編程邏輯控制器之前,先發(fā)送一些固定長(zhǎng)度的通信幀,測(cè)量4個(gè)參數(shù),包括v、L、Ts,Tp,其中,V為通信平均速率,Ts為監(jiān)控可編程邏輯控制器的設(shè)備收發(fā)數(shù)據(jù)的間隔時(shí)間,Tp為可編程邏輯控制器的收發(fā)數(shù)據(jù)的間隔時(shí)間; 步驟2.2、若Dbase > L時(shí),則滿足拆分有效數(shù)據(jù)包的條件,進(jìn)入所述步驟3,否則不滿足拆分有效數(shù)據(jù)包的條件,進(jìn)入步驟2.3 ; 步驟2.3、若Dbase+Dmid+Dafter > L,則不滿足合并有效數(shù)據(jù)包的條件,進(jìn)入所述步驟5,否則判斷相鄰兩個(gè)有效數(shù)據(jù)包合并后的估算通信時(shí)間是否小于多個(gè)有效數(shù)據(jù)包合并前的估算通信時(shí)間,若是,則進(jìn)入所述步驟4,否則進(jìn)入所述步驟5。
      3.如權(quán)利要求2所述的一種監(jiān)控可編程邏輯控制器的通信數(shù)據(jù)打包方法,其特征在于,所述步驟2.3中判斷相鄰兩個(gè)有效數(shù)據(jù)包合并后的估算通信時(shí)間是否小于多個(gè)有效數(shù)據(jù)包合并前的估算通信時(shí)間的步驟為: 步驟2.3.1、估算合并前需要的通信時(shí)間Tuc:
      【文檔編號(hào)】H04L1/00GK103634076SQ201310613206
      【公開(kāi)日】2014年3月12日 申請(qǐng)日期:2013年11月27日 優(yōu)先權(quán)日:2013年11月27日
      【發(fā)明者】琚長(zhǎng)江, 明勤, 程睿遠(yuǎn), 薛吉, 張志深 申請(qǐng)人:上海電器科學(xué)研究院, 上海電器科學(xué)研究所(集團(tuán))有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1