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