• 
    

    
    

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

      基于S7—200 PLC的無(wú)線通訊在污水處理系統(tǒng)中的應(yīng)用

      2014-10-21 12:49:13郭剛陳林
      科技視界 2014年34期
      關(guān)鍵詞:接收數(shù)據(jù)無(wú)線通訊通訊

      郭剛 陳林

      【摘 要】本文通過(guò)設(shè)計(jì)了單片機(jī)無(wú)線通訊硬件電路,實(shí)現(xiàn)了S7-200之間的無(wú)線Modbus協(xié)議通訊功能,在工業(yè)應(yīng)用中具有良好的實(shí)用價(jià)值。

      【關(guān)鍵詞】PLC;單片機(jī);RS-485;nRF905;Modbus

      【Abstract】This paper designs Single-Chip Microcomputer(SCM)wireless communication circuit . The communication among S7-200 PLC via the circuit above is realized and the method above is extremely valuable in industrial application.

      【Key words】PLC; Single-Chip Microcomputer; RS-485; nRF905; Modbus

      0 引言

      隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展和城鎮(zhèn)化程度的不斷提高,工業(yè)污水和生活污水日益增多為維持經(jīng)濟(jì)的持續(xù)健康增長(zhǎng)和生態(tài)環(huán)境的良性循環(huán),必須對(duì)工業(yè)及生活污水加以處理。 在污水處理現(xiàn)場(chǎng),各設(shè)備較為分散,即使采用現(xiàn)場(chǎng)總線連接,也需要搭建橋架、鋪設(shè)通訊電纜。如果各站點(diǎn)距離較遠(yuǎn),則明顯加大了施工工程量,增加了成本,而且維護(hù)也相對(duì)麻煩。基于此背景,必須尋求一種解決方案來(lái)避免各站點(diǎn)之間的布線問(wèn)題。針對(duì)此問(wèn)題,工業(yè)無(wú)線傳輸技術(shù)應(yīng)運(yùn)而生,目前國(guó)內(nèi)外無(wú)線通訊技術(shù)多種多樣,包括WiFi、藍(lán)牙以及ZigBee等。對(duì)于工業(yè)現(xiàn)場(chǎng)級(jí)的應(yīng)用,適用的無(wú)線通訊協(xié)議包括IEEE 802.11、IEEE 802.15.1、IEEE 802.15.4。以上三種協(xié)議均存在一個(gè)共同的問(wèn)題,即通訊網(wǎng)絡(luò)的實(shí)時(shí)性和可靠性不夠,兩者至少并不能同時(shí)保證滿足高實(shí)時(shí)性工業(yè)現(xiàn)場(chǎng)的要求?;谝陨显?,許多企業(yè)并不愿意放棄成熟的有線技術(shù)冒險(xiǎn)花資金投入無(wú)線通訊[1-3]。

      本文設(shè)計(jì)的單片機(jī)和無(wú)線模塊構(gòu)成的無(wú)線數(shù)傳模塊適用于S7-200之間的無(wú)線通訊,解決了上述布線問(wèn)題,在滿足污水處理設(shè)備安全、高效運(yùn)行的同時(shí)具有很好的性價(jià)比,具有良好的經(jīng)濟(jì)、社會(huì)效益和推廣前景。

      1 系統(tǒng)總體方案設(shè)計(jì)

      圖1 系統(tǒng)結(jié)構(gòu)圖

      圖2 為單片機(jī)無(wú)線數(shù)傳模塊結(jié)構(gòu)圖

      本系統(tǒng)其中一臺(tái)西門(mén)子S7-200 PLC作為系統(tǒng)的主站,而其余的S7-200 PLC作為從站,它們之間的通訊介質(zhì)是無(wú)線電波,通訊協(xié)議是Modbus協(xié)議。

      無(wú)線通訊由STC12LE5A60S2單片機(jī)和無(wú)線模塊nRF905組成,其連接是通過(guò)單片機(jī)的SPI(Serial Peripheral Interface——串行外設(shè)接口)接口實(shí)現(xiàn),而單片機(jī)與S7-200 PLC之間則是通過(guò)RS485總線連接,如圖2所示。

      本系統(tǒng)的通訊過(guò)程如下:上位機(jī)S7-200通過(guò)RS485總線發(fā)送控制命令,單片機(jī)接收數(shù)據(jù)幀并通過(guò)SPI接口轉(zhuǎn)發(fā)nRF905模塊,nRF905則通過(guò)無(wú)線發(fā)射信號(hào)。和從機(jī)PLC連接的單片機(jī)通過(guò)無(wú)線模塊nRF905接收數(shù)據(jù)幀,再通過(guò)RS485總線傳送至從機(jī)PLC,從機(jī)從數(shù)據(jù)幀中提取出地址信息并與自身的地址作較。若不符合則丟棄該數(shù)據(jù)幀,反之,則接收數(shù)據(jù)幀,完成相應(yīng)的功能,并返回?cái)?shù)據(jù)幀。其中上述數(shù)據(jù)幀的格式在Modbus協(xié)議中定義。

      2 硬件電路設(shè)計(jì)

      單片機(jī)串行通訊口是標(biāo)準(zhǔn)的TTL電平,為了完成和PLC之間的多機(jī)通訊則需加上MAX3485芯片。采用MAX3485芯片,一方面是為了完成電平轉(zhuǎn)換,降低傳輸數(shù)據(jù)誤碼率;另一方面,MAX3485芯片有數(shù)據(jù)收發(fā)控制端,方便多機(jī)通訊的實(shí)現(xiàn)。單片機(jī)與MAX3485的接線圖如圖3所示,其中P2.0控制了MAX485芯片的數(shù)據(jù)收發(fā),當(dāng)期高電平時(shí),MAX3485只能發(fā)送數(shù)據(jù);反之則只能接收數(shù)據(jù)。因此基于RS485總線的多機(jī)通訊是半雙工的。單片機(jī)的發(fā)送數(shù)據(jù)端和接收端分別接至MAX3485芯片的發(fā)送數(shù)據(jù)端和接收數(shù)據(jù)端。經(jīng)MAX3485芯片轉(zhuǎn)換后,其輸出引腳分別和其他所有單片機(jī)的A、B兩端連接,無(wú)需交叉,最終匯總至S7-200的自由口。

      單片機(jī)與無(wú)線模塊之間的連接通過(guò)SPI接口,如圖4。

      圖3 單片機(jī)與MAX3485芯片接線圖

      圖4 單片機(jī)與nRF905芯片接線圖

      3 軟件設(shè)計(jì)

      單片機(jī)程序設(shè)計(jì):

      S7-200和單片機(jī)之間通訊除了借助于RS485總線這個(gè)物理層,還需應(yīng)用層的支持,本系統(tǒng)應(yīng)用層采用的是Modbus協(xié)議。另外本系統(tǒng)的通訊模式是串行傳輸,因此數(shù)據(jù)鏈路層采用的是Modbus串行鏈路協(xié)議。

      上述模型的第7層應(yīng)用層報(bào)文傳輸協(xié)議即Modbus協(xié)議,它在連接至不同類型總線或網(wǎng)絡(luò)的設(shè)備之間提供客戶機(jī)/服務(wù)器通訊。自從1979年出現(xiàn)工業(yè)串行鏈路的事實(shí)標(biāo)準(zhǔn)以來(lái),Modbus協(xié)議使成千上萬(wàn)的自動(dòng)化設(shè)備能夠通訊[4]。目前,繼續(xù)增加對(duì)簡(jiǎn)單而雅觀的Modbus結(jié)構(gòu)支持。互聯(lián)網(wǎng)組織能夠使TCP/IP棧上的保留系統(tǒng)端口502訪問(wèn)Modbus。Modbus是一個(gè)請(qǐng)求/應(yīng)答協(xié)議,并且提供功能碼規(guī)定的服務(wù)[5]。Modbus協(xié)議規(guī)定傳輸報(bào)文即數(shù)據(jù)幀的結(jié)構(gòu)為:地址+功能碼+數(shù)據(jù)+差錯(cuò)校驗(yàn)。

      根據(jù)以上協(xié)議可編寫(xiě)通訊程序,本程序可包括如下幾個(gè)部分:主函數(shù)、定時(shí)中斷、串口中斷、動(dòng)作函數(shù)、CRC校驗(yàn)函數(shù)。

      主函數(shù)負(fù)責(zé)完成定時(shí)器、串口以及一些變量的初始化;定時(shí)中斷負(fù)責(zé)判斷相鄰數(shù)據(jù)幀之間的間隔時(shí)間是否超時(shí),本系統(tǒng)通訊波特率為9600b/s,Modbus協(xié)議規(guī)定相鄰數(shù)據(jù)幀之間的時(shí)間間隔不超過(guò)3.5個(gè)字符傳輸時(shí)間,因此本系統(tǒng)設(shè)置為5ms;串口中斷負(fù)責(zé)接收數(shù)據(jù)并轉(zhuǎn)移至緩沖區(qū),待定時(shí)中斷識(shí)別出一幀數(shù)據(jù)后即可讀取至緩沖區(qū);動(dòng)作函數(shù)分別識(shí)別上位機(jī)發(fā)送過(guò)來(lái)的控制命令,首先分析緩沖區(qū)的數(shù)據(jù)幀,若地址及校驗(yàn)碼無(wú)誤,先對(duì)上位機(jī)做應(yīng)答,然后可提取出功能碼,判斷出上位機(jī)要執(zhí)行何種功能,隨后即可完成讀寫(xiě)操作,驅(qū)動(dòng)執(zhí)行器動(dòng)作。因此動(dòng)作函數(shù)是負(fù)責(zé)解析上位機(jī)命令碼的;CRC校驗(yàn)函數(shù)通過(guò)一定的算法對(duì)收發(fā)的數(shù)據(jù)幀數(shù)據(jù)進(jìn)行運(yùn)算,最后得出校驗(yàn)碼,接收端收到數(shù)據(jù)幀后立即判斷接收到的數(shù)據(jù)幀的校驗(yàn)碼是否與此刻的計(jì)算值一樣,若一樣則傳輸無(wú)誤,否則丟棄該數(shù)據(jù)幀。本系統(tǒng)采用的是RTU傳輸模式,因此校驗(yàn)采用的是16位的CRC校驗(yàn)。校驗(yàn)過(guò)程需要涉及一些列的計(jì)算,而8位的單片機(jī)是勝任不了的,為了解決此問(wèn)題,本程序采用了查表法計(jì)算,大大緩解了單片機(jī)的計(jì)算壓力?,F(xiàn)給出部分程序如下,此子函數(shù)需在定時(shí)中斷函數(shù)中調(diào)用,完成對(duì)數(shù)據(jù)幀間隔時(shí)間的監(jiān)控并給出標(biāo)志位。

      單片機(jī)與nRF905之間通過(guò)SPI接口通訊,以下為nRF905初始化代碼:

      void nRF905_Init(void)

      {

      P4SW |=0x70;

      nRF905_Delay(10);

      nRF905_CSN_Set();

      nRF905_SCK_Clr();

      nRF905_CD_Clr();

      nRF905_AM_Clr();

      nRF905_DR_Clr();

      nRF905_PWR_UP_Set();

      nRF905_TX_EN_Clr();

      nRF905_TRX_CE_Clr();

      nRF905_WriteBuf(W_CONFIG,Tx_Con.con,Tx_Con.len);

      }

      S7-200則采用標(biāo)準(zhǔn)的Modbus協(xié)議庫(kù),編程時(shí)直接調(diào)用Modbus主站指令庫(kù)。SM0.0 調(diào)用MBUS_CTRL完成主站的初始化,并啟動(dòng)其功能控制:EN為使能端,必須連接常閉開(kāi)關(guān);Mode為1時(shí)選擇Modbus協(xié)議,為0時(shí)為PPI協(xié)議;Baud為波特率設(shè)定,本系統(tǒng)選擇9600b/s;Parity為奇偶校驗(yàn)位,本系統(tǒng)無(wú)需奇偶校驗(yàn),因此設(shè)置為0;Timeout為超時(shí)時(shí)間設(shè)定,此處設(shè)定為1000ms;Done為初始化完成位;Error為初始化錯(cuò)誤代碼。MBUS_MSG模塊中EN同樣為使能端;First位為讀寫(xiě)請(qǐng)求位,必須使用脈沖觸發(fā);Slave位為從站地址選擇位;RW位為1時(shí)只寫(xiě),為0時(shí)只讀;Addr為讀寫(xiě)從站的數(shù)據(jù)地址,此處設(shè)置為10001,表示為開(kāi)關(guān)量輸入;Count表示數(shù)據(jù)個(gè)數(shù),此處設(shè)置為8;DataPtr為數(shù)據(jù)指針,讀寫(xiě)數(shù)據(jù)均要放在此數(shù)據(jù)區(qū);Done位為讀寫(xiě)功能完成位;Error為錯(cuò)誤代碼。如圖5所示。

      圖5 S7-200 Modbus程序

      4 結(jié)論

      本文通過(guò)設(shè)計(jì)單片機(jī)無(wú)線通訊硬件電路,成功實(shí)現(xiàn)了與S7-200之間的無(wú)線通訊,通訊協(xié)議采用標(biāo)準(zhǔn)Modbus協(xié)議,傳輸模式是RTU。作為主機(jī),S7-200 PLC可通過(guò)無(wú)線通訊讀取從機(jī)對(duì)應(yīng)的數(shù)據(jù),同時(shí)也可以發(fā)送控制命令。此方案在工業(yè)應(yīng)用中具有非常實(shí)用的價(jià)值。

      【參考文獻(xiàn)】

      [1]高山,祝軍岐,王維.基于PLC的污水處理監(jiān)控系統(tǒng)無(wú)線通訊解決方案[J].北京:自動(dòng)化博覽,2005:06.

      [2]孫艷波,王桂英,冀勇,顧威,王春巖.一種新型企業(yè)污水處理無(wú)線監(jiān)測(cè)系統(tǒng)[J].鞍山:遼寧科技大學(xué)學(xué)報(bào),2008:06.

      [3]凌勝軍,雷曉青,關(guān)小剛.基于無(wú)線通訊和PLC的供水處理集中監(jiān)控系統(tǒng)解決方案[J].西安:無(wú)線通信技術(shù),2010:04.

      [4]張桓,趙樹(shù)忠.基于Modbus協(xié)議的單片機(jī)與觸摸屏通訊系統(tǒng)設(shè)計(jì)[J].唐山:河北理工大學(xué)學(xué)報(bào):自然科學(xué)版,2010:4.

      [5]尤慧芳.用MODBUS實(shí)現(xiàn)觸摸屏與單片機(jī)的通信[J].南京:工業(yè)控制計(jì)算機(jī),2008:12.

      [責(zé)任編輯:湯靜]

      猜你喜歡
      接收數(shù)據(jù)無(wú)線通訊通訊
      《茶葉通訊》簡(jiǎn)介
      茶葉通訊(2022年2期)2022-11-15 08:53:56
      《茶葉通訊》簡(jiǎn)介
      茶葉通訊(2022年3期)2022-11-11 08:43:50
      通訊報(bào)道
      沖激噪聲背景下基于幅度預(yù)處理的測(cè)向新方法*
      基于無(wú)線通訊的遠(yuǎn)程無(wú)線切割分離裝置控制系統(tǒng)
      電子制作(2019年20期)2019-12-04 03:51:14
      低復(fù)雜度多輸入多輸出雷達(dá)目標(biāo)角度估計(jì)方法
      基于NRF無(wú)線通訊技術(shù)的自組網(wǎng)互助教學(xué)系統(tǒng)研究與開(kāi)發(fā)
      電子制作(2017年7期)2017-06-05 09:36:13
      通訊簡(jiǎn)史
      單片機(jī)模擬串口數(shù)據(jù)接收程序的實(shí)現(xiàn)及優(yōu)化
      成焊機(jī)組與飛焊車(chē)之間串行無(wú)線通訊研究與應(yīng)用
      泉州市| 育儿| 平乐县| 六盘水市| 南丹县| 高台县| 双柏县| 博客| 车致| 阳江市| 乐清市| 福安市| 潮安县| 英山县| 禹城市| 南平市| 封丘县| 祁门县| 安图县| 开鲁县| 上高县| 宁波市| 万州区| 濮阳县| 宜川县| 清丰县| 吴旗县| 绥中县| 英吉沙县| 宁明县| 宁陵县| 武安市| 五台县| 扎赉特旗| 望谟县| 敦化市| 华坪县| 玉环县| 三亚市| 三门县| 麻阳|