• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      普及型PLC自由協(xié)議通訊框架設(shè)計

      2012-08-16 06:29:10
      科技視界 2012年30期
      關(guān)鍵詞:子程序字符校驗

      徐 文

      (浙江經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院數(shù)字信息技術(shù)分院 浙江 杭州 310018)

      0 引言

      PLC(Programmable Logic Controller,可編程控制器)主導(dǎo)的工業(yè)通訊主要分為管理級、 過程控制級和現(xiàn)場總線級等級別。 由于接口、鏈路、協(xié)議和應(yīng)用的多樣性,不同級別的PLC 通訊在通常情況下需要采用不同的方法和標(biāo)準(zhǔn)進(jìn)行編程,且不同品牌PLC 之間的通訊標(biāo)準(zhǔn)、協(xié)議不具備通用性,由PLC 設(shè)備組建通訊網(wǎng)絡(luò)就呈現(xiàn)出復(fù)雜的特性。 文獻(xiàn)1 介紹了基于組態(tài)軟件的Profibus 通訊設(shè)計方法,文獻(xiàn)2、3 介紹了PLC 與計算機和變頻器之間基于MODIBUS、USS 協(xié)議的通訊設(shè)計方法,文獻(xiàn)4 介紹了PPI 協(xié)議的OPC 通訊設(shè)計方法,這些設(shè)計大多借助高成本的組態(tài)軟件等第三方工具實現(xiàn),缺乏應(yīng)用的靈活性。 文獻(xiàn)5、6、7 雖然自定義協(xié)議實現(xiàn)了最大程度通訊應(yīng)用的靈活性, 但可復(fù)用率低。 尤其當(dāng)PLC 設(shè)備承擔(dān)工業(yè)網(wǎng)絡(luò)中不同通訊層級的中轉(zhuǎn)節(jié)點時,就需要編制基于不同協(xié)議、面向不同應(yīng)用的PLC 端通訊軟件。 這樣將提高開發(fā)和維護(hù)的成本,且成果較難復(fù)用。

      本文通過對西門子S7-200 小型機RS485 口的自由協(xié)議通訊機制的分析,設(shè)計了基于自由協(xié)議的通訊框架。

      1 S7-200PLC 自由協(xié)議通訊機理

      目前不少PLC 制造商都開發(fā)出自由協(xié)議通訊模式, 即PLC 提供串行通訊硬件和用于定制通訊協(xié)議的相關(guān)指令,由用戶控制串行通訊接口,采用自定義通訊協(xié)議來編制PLC 通訊程序,實現(xiàn)與其它控制設(shè)備的數(shù)據(jù)通訊。

      1.1 S7-200 自由協(xié)議通信指令及中斷機制

      西門子S7-200 PLC 用于自由協(xié)議通信的指令主要是:數(shù)據(jù)發(fā)送指令XMT 和數(shù)據(jù)接收指令RCV。 以報文接收完成、字符接收完成、報文發(fā)送完成等中斷機制來控制數(shù)據(jù)通信是主要的手段。 以通信接口0為例,其中斷向量為:

      1)向量8:通信接口0 字符接受完成;

      2)向量9:通信接口0 報文發(fā)送完成;

      3)向量23:通信接口0 報文接收完成;

      S7-200 PLC 自由協(xié)議通信的參數(shù)需要通過PLC 內(nèi)部特殊標(biāo)志寄存器SM30、SMl30(分別對應(yīng)通信接口O、接口1)進(jìn)行設(shè)定與選擇,可設(shè)定的參數(shù)包括:奇偶校驗、字符數(shù)據(jù)的位數(shù)、通信速率、通信協(xié)議。

      1.2 通信過程的控制與檢測

      S7-200 PLC 通信過程的控制與檢測需要通過PLC 的內(nèi)部特殊標(biāo)志寄存器進(jìn)行。用于通信控制與檢測的特殊標(biāo)志寄存器的作用與意義如表1 所示。

      由表1 可知,空閑時間檢測、報文起始字符、中斷條件檢測均可作為啟動報文接受的條件,這些條件可單獨或聯(lián)合使用。結(jié)束字符、報文定時器、最大接受字符數(shù)以及接受信息校驗出錯均可獨立成為結(jié)束報文接受的條件,其中只有收到結(jié)束字符屬于正常結(jié)束。

      2 S7-200PLC 自由協(xié)議通訊框架設(shè)計

      2.1 通訊接口抽象

      在上述技術(shù)分析的基礎(chǔ)上,PLC 通訊由以下通用構(gòu)件組成:

      1)通訊狀態(tài)初始化

      定義各類通訊模式的相關(guān)工作參數(shù),定義(綁定)各類通訊及相關(guān)事件的中斷向量,使能通訊任務(wù)及相關(guān)中斷。 并定義通訊協(xié)議參數(shù)。

      2)通訊狀態(tài)解除定義(還原)各類通訊模式參數(shù),解除各類通訊及相關(guān)事件的中斷向量綁定,禁止通訊及任務(wù)相關(guān)中斷。

      表1 S7—200 PLC 通信過程的控制與檢測

      3)報文發(fā)送

      作報文發(fā)送前的數(shù)據(jù)準(zhǔn)備工作(如數(shù)制轉(zhuǎn)換、格式轉(zhuǎn)換、數(shù)據(jù)計算),然后向約定的發(fā)送緩沖區(qū)施行數(shù)據(jù)填充,并執(zhí)行發(fā)送指令。 由于RS485 口通訊報文接收由硬件自動完成,故不必也不可能由軟件子程序來實現(xiàn)。 端口硬件自動完成報文接收后將產(chǎn)生中斷。

      4)報文信息校驗

      根據(jù)約定的算法校驗數(shù)據(jù)緩沖區(qū),并將校驗結(jié)果通過入口參數(shù)返回,供調(diào)用者作針對性處理。

      2.2 中斷驅(qū)動通訊流程定義

      1)報文接收完成中斷服務(wù)

      在完成一個數(shù)據(jù)報的接受任務(wù)后,根據(jù)約定算法和約定緩沖區(qū)中接受到的數(shù)據(jù)報,對報文進(jìn)行完整性校驗并作相應(yīng)處理,處理結(jié)束后可啟動其它通訊例程或設(shè)置通訊參數(shù)。

      2)報文發(fā)送完成中斷服務(wù)

      在完成一個數(shù)據(jù)報的完成任務(wù)后可啟動其它通訊例程或設(shè)置相關(guān)通訊參數(shù)。

      2.3 自由協(xié)議通訊框架設(shè)計

      S7-200PLC 自由協(xié)議通訊框架設(shè)計如圖1 所示。

      圖1 S7-200PLC 自由協(xié)議通訊框架

      該框架圖包括以下幾個部分的程序:主程序、通訊狀態(tài)初始化子程序、通訊狀態(tài)解除子程序、報文發(fā)送子程序、報文接收完成中斷程序、報文發(fā)送完成中斷程序、報文信息校驗子程序。 其中主程序是核心,在每個掃描周期均被執(zhí)行,并實施對通訊狀態(tài)初始化子程序、通訊狀態(tài)解除子程序、報文發(fā)送子程序等接口的功能調(diào)用。 當(dāng)通訊狀態(tài)初始化子程序正常執(zhí)行、 數(shù)據(jù)報接受中斷開啟并有數(shù)據(jù)報被通訊口接受,則報文接收完成中斷程序自動觸發(fā)并執(zhí)行,期間在進(jìn)行數(shù)據(jù)檢驗時調(diào)用報文信息校驗子程序。 當(dāng)通訊狀態(tài)初始化子程序正常執(zhí)行、數(shù)據(jù)報發(fā)送中斷開啟并正常執(zhí)行了報文發(fā)送子程序,則報文發(fā)送完成中斷程序自動觸發(fā)并執(zhí)行。

      3 通訊框架有效性例證

      為驗證上述通訊框架設(shè)計的有效性, 按照常規(guī)PLC 通訊技術(shù)要求設(shè)計了以下通訊案例。

      3.1 功能要求

      1)基本功能

      通信接口:接口0;

      通信變量緩沖器起始地址:VB100;

      通信速率:19200bit/s;

      字符數(shù)據(jù)位數(shù):8 位;

      奇偶校驗:無;

      最大發(fā)送/接收字符數(shù):100 字符;

      報文開始方式:使用起始字符;

      報文起始字符:空格(ASII 碼00);

      報文結(jié)束方式:使用結(jié)束字符結(jié)束報文;

      報文結(jié)束字符:CR(ASII 碼0D);

      報文檢測:使用報文定時器檢測功能,最大傳輸時間為1s;定時到達(dá)后強行終止傳送。

      2)校驗和

      “求和”校驗碼:傳輸?shù)臄?shù)據(jù)附加有“求和”校驗碼,總字符數(shù)位于用戶數(shù)據(jù)的第1 字節(jié),“求和”校驗碼位于緩沖區(qū)的最后。 當(dāng)“求和”校驗出錯時,輸出Q1.0 指示燈亮。

      3.2 通訊參數(shù)

      1)中斷子程序設(shè)計

      中斷程序INT0:報文接收完成(綁定中斷向量23)中斷程序。在報文接收后調(diào)用“求和”校驗功能SBR1。校驗結(jié)果正確,則啟動延時定時中斷INT2。

      中斷程序INT1:回傳報文完成(綁定中斷向量9)中斷程序。 回傳報文完成后,重新啟動報文接收INT0 的中斷使能。

      中斷程序INT2:定時(綁定中斷向量10)中斷程序。延時定時5ms后,啟動回傳報文中斷INT1。

      2)報文格式設(shè)計

      VB100:發(fā)送或接受的字節(jié)數(shù);

      VB101:起始字符;

      VB102:用戶數(shù)據(jù)總字符數(shù);

      VB103 ~VBn:用戶數(shù)據(jù);

      VBn+1:“求和”校驗碼;

      VBn+2:結(jié)束字符。

      3)標(biāo)志寄存器的值設(shè)置

      ①數(shù)據(jù)通信內(nèi)部特殊標(biāo)志寄存器的值。

      SM30=05H(字符位數(shù)8 位, 不使用奇偶校驗功能,無協(xié)議通信方式,波特率19.2kbit/s);

      SM87=ECH(數(shù)據(jù)接受允許,使用起始、結(jié)束字符與報文定時器檢測功能,生效報文定時器);

      SMB89=0DH(結(jié)束字符為CR);

      SMW92=1000(報文定時器時間為ls):

      SMB94=100(最大發(fā)送/接收字符數(shù)為100)。

      ②定時中斷內(nèi)部特殊標(biāo)志寄存器的值。

      SMB34=5(定時中斷定時為5ms)。

      3.3 例證結(jié)果

      通過上面的例證參數(shù)設(shè)計,S7-200 的通信接口0 在接受到數(shù)據(jù)并經(jīng)過校驗后延時5ms 即發(fā)回發(fā)送端。 發(fā)送端使用PC 機的com0 作為通訊口,在通訊工具軟件上執(zhí)行發(fā)送(計算好的校驗和需作為最后的發(fā)送字符),可實時回顯數(shù)據(jù)。

      4 結(jié)論

      針對PLC 通訊應(yīng)用的靈活性和最大程度降低開發(fā)、 維護(hù)成本的要求,在對通用型西門子S7-200 小型PLC 的RS485 口自由協(xié)議通訊機制深入分析的基礎(chǔ)上,設(shè)計了基于自由協(xié)議的S7-200 通訊框架。例證表明,在該框架下的通訊程序開發(fā)方式具有標(biāo)準(zhǔn)一致、效率高、易于復(fù)用性、維護(hù)簡便等特點,在PLC 通訊領(lǐng)域應(yīng)用中具有借鑒和應(yīng)用的價值。

      [1]夏鏈,王程,韓江.Profibus—DP 在柔性制造系統(tǒng)中的應(yīng)用技術(shù)研究[J].機械制造,2009,47(542):59-60.

      [2]張士磊,趙新蕖.基于PLC 和組態(tài)軟件的變頻器監(jiān)控系統(tǒng)設(shè)計[J].工礦自動化,2010,(3):101-102.

      [3]高銳,姜波.基于USS 協(xié)議的WinCC 與S7—200 變頻器網(wǎng)絡(luò)通訊研究[J].工業(yè)控制計算機,2009,22(5):3-4.

      [4]賈仟偉,周以琳.基于S7-200PLC 的監(jiān)控網(wǎng)絡(luò)設(shè)計[J].硅谷,2010,(3):21-21.

      [5]王昱,趙剛.基于USB 總線的PLC 與PC 自由口通信系統(tǒng)設(shè)計[J].中國西部科技,2005,(12):16-17.

      [6]孫曉明,敖非.S7-200 PLC 與Danfoss 變頻器自由口通信的實現(xiàn)[J].武漢理工大學(xué)學(xué)報:信息與管理工程版,2009,31(4):521-524.

      [7]徐季曼,季鋼.計算機和PLC 通訊在自動輸送線系統(tǒng)中的應(yīng)用[J].實驗室研究與探索,2006,25(10):1227-1232.

      猜你喜歡
      子程序字符校驗
      尋找更強的字符映射管理器
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計
      電子制作(2019年19期)2019-11-23 08:41:50
      消失的殖民村莊和神秘字符
      爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
      淺談子程序在數(shù)控車編程中的應(yīng)用
      大型電動機高阻抗差動保護(hù)穩(wěn)定校驗研究
      電測與儀表(2015年1期)2015-04-09 12:03:02
      基于加窗插值FFT的PMU校驗方法
      鍋爐安全閥在線校驗不確定度評定
      子程序在數(shù)控車加工槽中的應(yīng)用探索
      乐业县| 佛教| 沂水县| 西藏| 桂东县| 永川市| 海兴县| 阿克苏市| 南平市| 镇江市| 香河县| 长寿区| 五家渠市| 成都市| 墨玉县| 阜城县| 波密县| 新泰市| 临武县| 鹿邑县| 白城市| 手游| 西乡县| 嵊泗县| 政和县| 南皮县| 达拉特旗| 新平| 宜黄县| 宣威市| 鄱阳县| 玉溪市| 鄂尔多斯市| 鹰潭市| 淮南市| 班戈县| 许昌市| 镇雄县| 赤峰市| 丹巴县| 沁水县|