999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式系統中MODBUS通信的教學研究與實踐

2019-07-08 03:32:55王雪
無線互聯科技 2019年8期
關鍵詞:單片機

王雪

摘 ? 要:文章針對MODBUS通信協議進行了實踐和教學研究。首先,指出了MODBUS協議的重要性以及地位作用;其次,分析了MODBUS幀的結構和通信原理,再利用一個通信項目分析了MODBUS通信的詳細過程和開發代碼;最后,指出MODBUS通信過程中需要注意的問題,并進行了總結,這對于MODBUS項目的研究與開發有重要的參考價值。

關鍵詞:MODBUS通信協議;STC單片機;485通信;工業物聯網

1 ? ?網絡通信概述

隨著計算機通信技術的發展,越來越多的計算機系統連接到網絡當中,網絡通信成為當前信息科學最為熱點的問題之一,尤其在工業控制與物聯網領域,如何安全、快速、便捷地傳送數據,成為衡量工業發展水平的重要標志之一。與傳統PC機相比,工業領域的信息通信的特點[1]在于:通信主機結構類型不盡相同;通信環境有可能會受到輻射干擾;通信設備成本限制;通信組網信息安全;網絡拓撲結構各異。在這種背景下,選擇什么樣的通信方式和通信協議,就顯得異常關鍵。

2 ? ?MODBUS通信協議

MODBUS[2]是由施耐德電氣(現在的Modicon公司)于1979年為PLC之間的通信而研發的一種串行通信協議,它為連接至不同類型總線或網絡的設備之間提供了C/S通信,目前已經成為工業領域通信協議的業界標準。自1979年以來,使成千上萬的自動化設備能夠通信,很好地解決工業領域面臨的通信難題,成為目前主流的工業物聯網通信協議。

MODBUS協議定義了一個與基礎通信層無關的簡單協議數據單元(Protocol Data Unit,PDU)。特定總線或網絡上的 MODBUS協議映射能夠在應用數據單元(Application Data Unit,ADU)上引入一些附加域。啟動MODBUS事務處理的客戶機創建MODBUS應用數據單元。功能碼向服務器指示將執行哪種操作。MODBUS協議建立了客戶機啟動的請求格式。MODBUS事務處理流程如圖1所示。

3 ? ?MODBUS通信實踐與教學

3.1 ?總體結構

采用單片機與PC上位機的串口通信方式,并采用RS485總線進行信號傳輸,以保證信號的總體質量。單片機一端作為服務器端,不主動發送數據,只是等待應答客戶端請求的數據。PC機作為客戶端,負責啟動請求與接收響應。

與RS232相比,采用RS485總線的好處在于:(1)傳輸方式不同。RS-232采取不平衡傳輸方式,即所謂單端通信。而RS485則采用平衡傳輸,即差分傳輸方式。在穩定性和抗干擾性方面都有明顯優勢。(2)傳輸距離不同。RS-232適合本地設備之間的通信,傳輸距離一般不超過20 m。而RS-485的傳輸距離為幾十米到上千米。(3)主機數量不同。RS-232只允許一對一通信,而RS-485接口在總線上是允許連接收發器多達128個。

3.2 ?MODBUS軟件設計

MODBUS公共功能碼是MODBUS協議通用的功能碼,這個功能碼是預先被定義好的,并且需要保證是唯一的、公開證明的。對應于每個操作訪問,相關程序代碼如下:

void readCoil(void); //讀線圈

void readRegisters(void); //讀寄存器

void forceSingleCoil(void); //強制單個線圈

void presetSingleRegister(void); //設置單個寄存器

void presetMultipleRegisters(void); //設置多個寄存器

void forceMultipleCoils(void); //強制多個線圈

3.3 ?MODBUS通信從機軟件設計

MOBUS通信的主要過程包括:(1)進行系統初始化設置,主要包括定時器初始化,串口初始化,中斷服務函數的編寫和變量定義。(2)定時處理,不是指定時器與計數器的初始化,而是指判斷一個完整的MODBUS幀是否結束的時間。關于區分兩個幀的間隔時間,有許多衡量方法,一般采用延時幾十微秒的方法。(3)循環監聽MODBUS狀態,一旦收到完整的數據幀,便開始處理,利用前面講到的MODBUS庫函數進行處理。在完成讀寫任務后,按照MODBUS幀規則,應答數據通過MODBUS總線傳回客戶端。部分初始化代碼如下。

//串口初始化代碼

void UartInit (ULONG baud, UCHAR mode)

{ IE=0x90;

TMOD = (TMOD & 0X0F) | 0X20;

TH1 = -22118400L/12/32/9600;

TL1 = -22118400L/12/32/9600;

TR1 = 1;

SCON = 0X50;

PCON |= 0X80; }

//串口中斷服務函數代碼

void commIntProc(void) interrupt 4

{ if (!RI) return;

RI = 0;

receTimeOut = 20;

receBuf[receCount] = SBUF;

receCount ++;

receCount &= 0x0f; }

4 ? ?開發過程需要注意的問題

4.1 ?單片機型號的選擇

單片機最常用的主要包括89C51和89C52系列,許多型號的單片機均可采用這種型號的工程。然而,單片機開發時最好要用自己的工程型號以及頭文件。如本例用到的STC15系列單片機,需要在建立工程時便選定型號,并且加入其特有的頭文件:#include “stc15.h”。這樣,才能保證工程能夠編譯通過并正確下載到芯片中。

4.2 ?波特率的控制

在傳輸過程中,客戶機與服務器的波特率設置必須完全一致,否則將接收不到正確的數據。受到傳輸距離和單片機性能的約束,在速度選擇上要適中,具體情況要通過實驗得以驗證,一般不宜過高或過低。

4.3 ?傳輸距離

MODBUS通信物理層多采用的是串行通信,在通信過程中不同類型的串行通信差別很大,如RS232和RS485在通信原理和通信性能上都存在很大差異,在開發過程中,應該根據需要合理選擇,避免造成信號不穩定。

4.4 ?CRC校驗碼

循環冗余校驗碼(Cyclic Redundancy Check,CRC)可以有效地檢測到傳輸問題導致的數據錯誤,它的原理是利用CRC算法將數據幀轉換成一個CRC檢驗碼,接收方在接收到數據以后,再重新計算校驗碼并與發送時的檢驗碼相比對,以檢驗數據的準確性。在實踐過程中,CRC校驗碼的生成和檢測一般直接利用庫函數完成,不是MODBUS研究的重點,在開發和教學過程中應當注意區分。

4.5 ?節點數量

有的項目可能需要幾百甚至上千個節點進行485通信,從理論上講,無論是MODBUS還是485總線都是有數量限制的,MODBUS的數量最多240個。485總線根據芯片的不同,差異也很大,在幾十到幾百之間。同時,還受到線路長度的影響。如果想讓更多的設備連接在一起,需要采用中繼器或者多串口服務器一類的設備進行網絡拓撲。

5 ? ?結語

通過對MODBUS的系統研究與實驗論證,證明MODBUS協議在單片機平臺上,利用RS485通信是十分可靠并可以實現的,可以應用到嵌入式系統等相關課程的教學當中。通過合理的組織教學,讓學生能夠熟悉并掌握工業現場的應用技術,更接近市場的人才需求,內容適合物聯網相關專業的學生學習。同時,還要注意講授內容的取舍,把重點放在MODBUS協議本身,以免使學生產生畏難心理。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 精品国产一二三区| 天天色天天综合网| 九九热精品在线视频| 国产美女自慰在线观看| 久久这里只有精品66| 99视频有精品视频免费观看| 亚洲欧美在线综合图区| 国产一区二区三区视频| 亚洲国模精品一区| 99视频免费观看| 免费又爽又刺激高潮网址 | 久久精品国产91久久综合麻豆自制| a亚洲视频| 国产欧美视频在线观看| 尤物亚洲最大AV无码网站| 91黄色在线观看| 午夜爽爽视频| 国产激情无码一区二区APP| 欧美伊人色综合久久天天| 一区二区自拍| 91国内在线视频| 成人欧美日韩| 毛片三级在线观看| 亚洲青涩在线| 亚洲人成网站日本片| 人妻少妇久久久久久97人妻| 在线不卡免费视频| 亚洲欧美自拍中文| 国产小视频免费| 久视频免费精品6| 亚洲一区毛片| 91精品国产91欠久久久久| 亚洲国产成人超福利久久精品| 91精品网站| 91亚洲精品国产自在现线| 亚洲精品国产综合99久久夜夜嗨| 日韩欧美视频第一区在线观看| 亚洲国产日韩在线成人蜜芽| 欧美天天干| 欧美午夜久久| 亚洲天堂网在线视频| AV片亚洲国产男人的天堂| 在线99视频| 不卡无码h在线观看| 青青青国产视频手机| 任我操在线视频| 国产91麻豆免费观看| 国产欧美在线观看精品一区污| 国产精品性| 另类专区亚洲| 欧美日韩在线成人| 国产精品免费p区| 色天天综合久久久久综合片| 伊人福利视频| 午夜在线不卡| 国产国模一区二区三区四区| 国产本道久久一区二区三区| 欧美一级在线| 久久无码av一区二区三区| 欧美在线伊人| 亚洲精品在线观看91| 91精品国产一区| 99成人在线观看| 天天综合色网| 小说区 亚洲 自拍 另类| 在线观看国产精美视频| 特级做a爰片毛片免费69| 99re在线免费视频| 欧美成人免费一区在线播放| 久久 午夜福利 张柏芝| 无码福利日韩神码福利片| 久久人人妻人人爽人人卡片av| 久久大香伊蕉在人线观看热2| 亚洲第一网站男人都懂| 五月天婷婷网亚洲综合在线| 欧美中文字幕无线码视频| 国产毛片高清一级国语| 亚洲日韩每日更新| 一级成人a做片免费| 精品国产Av电影无码久久久| 九九视频免费在线观看| 日本成人在线不卡视频|