计算机485通讯原理,软件实现 - 基于Modbus协议的RS485总线通讯机设计原理及应用...
2.2.9從站提交數(shù)據(jù)到上位機(jī)
主站掃描子站時,子站將數(shù)據(jù)包發(fā)送到主站,主站轉(zhuǎn)發(fā)到上位機(jī),上位機(jī)收到后發(fā)送數(shù)據(jù)收到確認(rèn)包到主站,主站收到確認(rèn)包后轉(zhuǎn)發(fā)到從站。從站未收到確認(rèn)包,不會進(jìn)行其他數(shù)據(jù)的上傳。在規(guī)定時間內(nèi)未收到確認(rèn)包認(rèn)為數(shù)據(jù)傳送失敗。
主站-->從站掃描碼
從站-->主站數(shù)據(jù)
主站-->PCFLASH存儲器中數(shù)據(jù)
PC-->主站確認(rèn)碼(放入FLASH存儲器)
主站-->從站確認(rèn)碼
從站-->主站應(yīng)答碼
3軟件實現(xiàn)
主站主要完成2個功能:對各節(jié)點進(jìn)行掃描以獲取并保存各節(jié)點的通信狀態(tài);對上位機(jī)與各從站之間的報文進(jìn)行可靠轉(zhuǎn)發(fā)。軟件流程如圖2所示,系統(tǒng)上電后,首先進(jìn)行初始化操作,主要包括設(shè)置串口、定時器,開啟開門狗,配置芯片引腳等內(nèi)容。
系統(tǒng)初始化成功后,主站向上位機(jī)請求從站配置信息,主要包括從站數(shù)量、各從站的地址、各從站配置情況即從站為啟用還是閑置狀態(tài)。
從站配置信息請求成功后,主站開始對各從站進(jìn)行掃描,并對掃描中產(chǎn)生的從站報文進(jìn)行處理。每掃描完一個從站,主站都會去查看有無來自上位機(jī)的報文,并對報文進(jìn)行適當(dāng)處理。當(dāng)經(jīng)過一定時間間隔后主站再去掃描下一個從站。
其中,在來自上位機(jī)的報文中,有的報文是需要轉(zhuǎn)發(fā)給某個從站的,在掃描期間來自從站的報文中,有的也是需要轉(zhuǎn)發(fā)給上位機(jī)的。只有合理設(shè)計轉(zhuǎn)發(fā)協(xié)議,才能既保證報文的可靠傳輸,又不致于使系統(tǒng)實時性明顯變差或產(chǎn)生網(wǎng)絡(luò)堵塞。本系統(tǒng)將來自上位機(jī)的報文分為3類:第1類是上位機(jī)直接傳給主站的,主站收到這類報文,進(jìn)行簡單回復(fù),這次通信完成;第2類是上位機(jī)發(fā)給某個從站并且需要得到從站回復(fù)信息的,這時候需要主站將報文轉(zhuǎn)發(fā)給此從站,并將此從站的回復(fù)信息再轉(zhuǎn)發(fā)給上位機(jī);第3類是上位機(jī)發(fā)給某從站但不需要回復(fù)的,這時主站將報文傳給此從站,但不需要等待從站的回復(fù)信息,這次通信完成。同理,在掃描過程中,對從站產(chǎn)生的報文的處理也分為類似3種,具體處理過程如圖2所示。
圖2主程序流程圖
本控制系統(tǒng)的設(shè)計中,由于主站的使用,一方面,上位機(jī)不再承擔(dān)對眾多從站的輪詢工作,使其擁有了更多的CPU資源進(jìn)行快速響應(yīng)、處理人機(jī)交互與日志存儲等事件,順暢完成眾多動畫的播放,提高了系統(tǒng)的事件處理與響應(yīng)能力;另一方面,在傳統(tǒng)的主從式RS485通信網(wǎng)絡(luò)中,當(dāng)某根通信線由于意外或者人為原因造成短接或斷路后,可能導(dǎo)致整個通信網(wǎng)絡(luò)癱瘓,主站的使用,使得原本連接在同一網(wǎng)絡(luò)上的上百個從站分成幾個相對獨立的網(wǎng)絡(luò),當(dāng)某一網(wǎng)絡(luò)發(fā)生故障時,將不會對其他網(wǎng)絡(luò)的通信造成影響。同時,由于主站可以脫離上位機(jī)單獨對各從站進(jìn)行掃描并實時獲取各從站的當(dāng)前狀態(tài),如果上位機(jī)需要從某種故障中恢復(fù)并進(jìn)行重新啟動,它可以直接從主站中快速獲取整個系統(tǒng)中所有從站的當(dāng)前狀態(tài),主站還可以根據(jù)掃描從站數(shù)的多少,自動調(diào)整掃描時間間隔,在保證系統(tǒng)響應(yīng)的前提下降低通信故障率,提高系統(tǒng)可靠性與安全性。
4結(jié)語
本文詳細(xì)論述了基于Modbus協(xié)議的RS485總線通訊機(jī)設(shè)計原理。雖然此主站的增加會使系統(tǒng)成本稍有上升,但它不僅可以使上位機(jī)從繁忙的通信工作中解放出來,更好地完成人機(jī)交互、數(shù)據(jù)處理、動畫播放等任務(wù),而且還能夠提高系統(tǒng)獨立性,加快系統(tǒng)從故障中恢復(fù)的速度,有效地提高系統(tǒng)的可靠性、安全性。本設(shè)計已成功應(yīng)用于某監(jiān)獄門禁控制系統(tǒng),實踐證明該系統(tǒng)運行穩(wěn)定、故障率低、操作方便、安全可靠
總結(jié)
以上是生活随笔為你收集整理的计算机485通讯原理,软件实现 - 基于Modbus协议的RS485总线通讯机设计原理及应用...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最常用的动态sql语句梳理Mybatis
- 下一篇: 离散数学4