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

基于RS-485總線的MODBUS 通信協議在單片機上的實現

2019-08-23 09:23:32馬亞玲
通信電源技術 2019年7期
關鍵詞:指令單片機功能

馬亞玲

(云南省玉溪技師學院 玉溪工業財貿學校,云南 玉溪 653100)

0 引 言

倉庫進行智能化改造時,要求可以在值班室顯示倉庫當前溫濕度參數,并能夠在值班室對倉庫現場的除濕和通風設備進行遠程控制。由于產品成本控制非常嚴格,所以在值班室計算機上安裝組態軟件作為上位機,倉儲現場采用單片機控制裝置與除濕通風設備相連,并將溫濕度傳感器參數接入到單片機中,上位機和單片機采用串行通信進行信息的交換。需要搭建通信網絡,并進行上位機和單片機之間通信程序的開發。本文主要介紹上位機和單片機之間通信網絡及通信協議的選擇,重點論述單片機和上位機之間串行通信通信程序的開發實現。

1 通信網絡和通信協議的選擇

隨著工業現代化及信息化的迅猛發展,單片機控制已經從傳統的本地控制向遠程控制、網絡控制發展,設備信息的采集和顯示也由本地處理、分散顯示向遠程采集、集中顯示發展。單片機控制功能的改變對其應用開發提出了新的要求。單片機開發應用人員需要掌握與單片機相關的通信網絡和通信協議。

但在目前的單片機應用中,主要還是以本地數字量的采集和控制為主,很少涉及通信,即便是涉及通信部分,也只是采用RS-232串行接口,利用單片機自帶的UART進行短距離的簡單數據收發控制,也不涉及通信的協議規范。但是在工業控制中,基于RS-485總線的設備已經得到了廣泛應用,設備的網絡化、模塊化應用需求日益明顯。相較于RS-232,RS-485在信號傳輸距離、傳輸速率、抗干擾性及支持多點通信等方面具有很強的優勢,能夠滿足工業現場通信的要求,因此在通信網絡搭建采用RS-485總線形式相連接。

確定通信網絡后,為了保證數據傳輸的可靠性、實時性以及協議的通用性,經過對比研究,選擇MODBUS通信協議。MODBUS有兩種串行傳輸模式,包括RTU、ASCII[1]。兩種傳輸方式不同之處在于數據命令的編碼、解碼方式不同,多數支持MODBUS協議的設備都支持RTU模式,并且RTU模式在單片機上實現相對簡單,因此采用MODBUS RTU進行通信程序的開發。

2 MODBUS RTU協議規則

采用MODBUS通信協議的設備連接在一起就構成了通信網絡,以RS-485方式為例進行連接。一個通信網絡中只有一個設備可以作為主機,其余設備均為從機,每一個從機都會分配一個地址,從機地址的范圍為1~247。MODBUS通信協議中,主機發送數據和指令中包含指定的從機地址,通信網絡中的每個從機都會收到數據和指令,從機判斷協議命令中的地址和本機地址不一致時,就不會進行處理,只有讀取到協議命令中的地址和本機地址一致時,才進行數據命令的解析處理。MODBUS RTU方式主機發送時的數據格式如表1所示。

當從機收到主機的指令時,根據主機的功能代碼的命令要求,執行從寄存器讀取數值或者寫入數值到寄存器中,并在執行指令后向主機發送返回數據,響應主機操作。功能碼是在標準MODBUS RTU協議中已經定義了常用指令代碼的功能,在單片機通信應用中常用功能碼及功能如表2所示。

表1 MODBUS通信數據格式

表2 常用MODBUS功能碼及功能

3 基于單片機的MODBUS協議的實現

3.1 MODBUS協議處理函數流程圖

MODBUS協議是主/從通信協議,以單片機作為從機,編寫接收主機命令,執行命令,并發送響應指令給主機的通信程序。MODBUS協議處理函數的流程如圖1所示。單片機循環掃描時間到時,判斷是否接收到主機數據命令,當接收到數據命令時,首先解析地址是否為本機地址,然后判斷CRC校驗是否正確,對CRC校驗后正確的數據命令,按照功能碼指令以及數據地址和數據進行處理,并在處理后返回給主機響應數據,對于不是本機地址,或者是本機地址但是CRC校驗不正確的數據,不進行處理[2]。

圖1 MODBUS協議處理函數流程圖

3.2 01功能碼的功能實現

01功能碼是主機讀取單片機一個數據位數據的指令。當從機接收到01功能碼指令時,首先解析要獲取的數據位的地址,然后讀取該地址中的數據,將數據通過響應指令發送給上位機,即可實現01功能碼讀取一位數據的功能。01功能碼實現流程如圖2所示。

3.3 05功能碼的功能實現

05功能碼是主機向單片機的一個數據位地址寫入數據的指令。當從機接收到05功能碼指令時,首先解析要寫入數據位的目標地址,然后將指令中的數據寫入到目標地址,最后向主機發送響應,即可實現05功能碼寫入一位數據的功能。

圖2 01功能碼實現流程圖

4 51單片機利用MODBUS協議實現對設備的控制

單片機控制裝置的通信網絡采用RS-485總線形式相連接。將計算機作為通信的主機、單片機作為通信的從機,通過在51單片機中運行MODBUS通信協議,實現在上位機對設備的控制。

4.1 單片機MODBUS協議控制設備處理函數

在單片機的數據存儲空間中定義數據的接收和發送緩沖區,單片機發送的數據首先送入發送緩沖區中,接收的數據放入到接收緩沖區中。對于單片機和主機,數據緩沖區是一個公用的區域。本文定義兩個緩沖區:

unsigned char TxBuff[20];//數據發送緩沖區

unsigned char RxBuff[20];//數據接收緩沖區

定義單片機中LED的地址為0,當地址中數據為0時,設備打開,非0時,設備關閉。當單片機接收到主機打開和關閉設備的指令時,處理函數如下:

CRC=CRC16MODBUS(RxBuff,6);//CRC校驗

CRCH =CRC>>8; //獲取CRC校驗高位

CRCL =CRC&0xff; //獲取CRC校驗低位

if(RxBuff[6]==CRCH&&RxBuff[7]==CRCL)//判斷CRC校驗是否正確

{

if(RxBuff[0]==Add)//判斷地址是否是本機地址

{

if(RxBuff[0]==0x05)//判斷是否是05功能碼

{

Regadd=RxBuff[2]*256+RxBuff[3];//獲取寄存器地址

if(Regadd==0)

{

if(RxBuff[4]==0x00) //判斷打開還是關閉

LED=0; //打開設備

else

LED=1; //關閉設備

TxBuff[0]=RxBuff[0]; //設備地址

TxBuff[1]=RxBuff[1]; //功能碼

TxBuff[2]=RxBuff[2]; //地址高位

TxBuff[3]=RxBuff[3]; //地址低位

TxBuff[4]=RxBuff[4]; //數據位

TxBuff[5]=RxBuff[5]; //數據位

CRC=CRC16MODBUS(TxBuff,6);//CRC 校驗

TxBuff[6]=CRC>>8; //CRC校驗高位

TxBuff[7]=CRC&0XFF; //CRC校驗低位

TxDell();//向主機發送響數據

}

}

}

}

4.2 上位機發送指令實現對設備的控制和信息的采集

上位機發送協議指令:0105 00 00 00 00 CD CA,單片收到指令打開設備,并返回響應指令。上位機發送協議指令:0105 00 00 FF 00 8C 3A,單片收到指令關閉設備,并返回響應指令。對于現場溫濕度信息的采集,主機采用03功能碼數據指令進行溫濕度數據的采集,單片機執行指令將數據傳輸到上位機的組態軟件中進行顯示。

5 結 論

本文通過在單片機上運行MODBUS從機通信協議程序,以計算機作為上位機,通過上位機發送指令對單片機進行遠程控制和現場信息的采集。經過產品開發研究,驗證了基于RS-485通信網絡和MODBUS通信協議實現上位機和單片機通信的可行性,達到了預期的效果。

猜你喜歡
指令單片機功能
聽我指令:大催眠術
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
關于非首都功能疏解的幾點思考
Microchip推出兩個全新PIC單片機系列
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 91午夜福利在线观看| 中文字幕欧美成人免费| 亚洲欧美成人在线视频| 天天爽免费视频| 中文字幕免费在线视频| 亚洲欧美日韩色图| 国产人前露出系列视频| 亚洲国产天堂久久九九九| 国产00高中生在线播放| 欧美人人干| 亚洲三级视频在线观看| 精品国产免费观看一区| 本亚洲精品网站| 亚洲无线一二三四区男男| 亚洲视频一区在线| 天天色天天综合网| 欧美日本在线观看| 国产又色又刺激高潮免费看| 欧美性久久久久| 五月六月伊人狠狠丁香网| 国产美女91视频| 国产成人毛片| 国产日韩精品欧美一区灰| 亚洲精品国产综合99| 四虎在线观看视频高清无码| 一级香蕉视频在线观看| 99视频全部免费| 欧美综合激情| 午夜精品影院| 波多野结衣一区二区三区四区| 婷婷成人综合| 久久99国产综合精品女同| 四虎国产精品永久在线网址| 三上悠亚在线精品二区| 无码福利视频| 国产女人18水真多毛片18精品 | 日韩在线视频网| 三级国产在线观看| 99久久精彩视频| 婷婷激情五月网| 拍国产真实乱人偷精品| 国产偷国产偷在线高清| 亚洲天堂区| jizz国产视频| 中文字幕调教一区二区视频| 国产精品浪潮Av| 亚洲国产成人自拍| 91区国产福利在线观看午夜| 日韩一二三区视频精品| 日韩人妻无码制服丝袜视频| 久久国产亚洲欧美日韩精品| 手机在线看片不卡中文字幕| 色视频国产| 在线欧美日韩国产| 久久先锋资源| 试看120秒男女啪啪免费| 在线欧美日韩| 国产玖玖视频| 亚洲三级色| 高清不卡一区二区三区香蕉| 九九香蕉视频| 视频在线观看一区二区| 亚洲精品福利视频| 女人18毛片一级毛片在线 | 漂亮人妻被中出中文字幕久久| 一级毛片基地| 免费福利视频网站| 自慰网址在线观看| 国产爽爽视频| 久青草国产高清在线视频| 日韩精品免费在线视频| 国产一级毛片yw| 成人精品区| 亚洲最新在线| 亚洲人成人无码www| 午夜精品久久久久久久无码软件 | 亚洲一区二区视频在线观看| 黄色a一级视频| 国产呦视频免费视频在线观看| 99这里只有精品6| jizz国产视频| 日本不卡在线视频|