03.04 MODBUS RTU如何在PLC控制系統中應用?

花謝依然美65962144


MODBUS是一種通信協議,是電子設備通用的協議,我們可以通過它使控制器如PLC與其他設備進行通訊控制,不同的生產商的設備都可以通過線路連接組成工業網絡。MODBUS協議有兩種數據傳輸模式,1、ASCII碼,2、RTU模式,一般數據量傳輸少的使用ASCII碼模式,數據量較多的使用RTU模式。在我們PLC控制系統中常用於串口通信中,常見的接口有RS232和RS485,在三菱PLC的MODBUS通信中RS232連接的設備通常是一臺通信距離較短,RS485則是多臺通信距離長。

我們常見的設備支持通信的基本都有RS485接口,如常用的伺服驅動器、變頻器、各種工業傳感器,那麼如何在PLC控制系統中應用呢,常見的有PLC與PLC之間的通信可以是不同生產商的,PLC與各種設備的通信如控制變頻器,485接口有兩種接線方式全雙工和半雙工,全雙工是4根線,RDA、RDB、SDA、SDB,數據的發送和接受可以同時進行操作,半雙工是兩根線,將RDA和SDA、RDB和SDB分別進行短接,數據的發送和接受不能同時。

下面我們以三菱PLC與變頻器進行MODBUS TRU通信簡述其應用,首先三菱PLC的通信模塊有兩種485BD和485ADP都可以進行MODBUS RTU通信,根據變頻器的通信端子選擇是全雙工還是半雙工,一般有網口和普通端子的。MODBUS RTU通信中PLC作為主站、變頻器作為從站,從站的數量可以是幾個或者十幾個,也就說說一臺PLC可以控制很多臺變頻器,接線完成後,設置通信參數如站號、波特率、數據校驗等一致。在三菱PLC中可以使用RS指令和ADPRW指令發送數據控制變頻的運行頻率、正反轉、數據的監控等。485BD通信板使用RS指令,這個需要自己編寫CRC校驗碼對於新手來說有點困難,採用485ADP兩種指令都能使用,而採用ADPRW則不需要編寫CRC校驗碼,使用起來很方便,但ADP的價格略貴。命令的發送採用輪詢的方式進行,就是一個命令一個命令的發送。

希望能幫到你!


工控人


MODBUS RTU如何在PLC控制系統中應用?

Modbus是工業控制器網絡協議的其中一員,它是應用於電子控制器上的一種通訊約規。通過此協議,控制器相互之間、控制器由網絡和其它設備之間可以通信,因此該協議現在也成為主流的工業標準之一。

如Modbus RTU 協議在S7-200中的應用

S7-200 CPU上的通訊口Port0可以支持Modbus RTU 協議的,成為Modbus RTU的從站。假設想實現S7-200 CPU與其它支持Modbus RTU的設備來使用Modbus RTU通訊協議,需要S7-200 CPU來做主站,其做主站必須由用戶自己用自由口模式、以相關協議來編程。



在S7-200控制系統中,Modbus RTU從站指令只支持CPU上的Port0口,要想實現Modbus RTU的通訊,第一,用的編程軟件版本在Step7-Micro/Win32 V3.2以上,第二,Step7-Micro/Win32 V3.2 Instruction Library必須安裝。將它們弄好後,Modbus RTU的功能實現只要通過指令庫預先編好的程序功能塊即可。Modbus RTU協議在S7-200應用基本流程,檢查控制系統中用的軟件版本是否在Step7-Micro/Win32 V3.2以上,然後再看Micro/Win的指令樹中有沒有Modbus RTU的從站指令庫。編程的時候用SM0.1-調用子程序Mbus -INIT進行初始化,用SM0.0-調用研究Mbus-SLAVE。

有時還得注意,用Step7-Micro/Win32 V3.2 Instruction Library的時候分配庫指令數據區必須得進行。因為庫指令數據區是相應庫的子程序和中斷程序要用到的變量存儲空間,所以在編程過程中忽略細節,等編程結束時去進行編譯,則會發現有很多相同的錯誤,既然發現編譯有錯誤,還是要進行分配庫指令數據區,才能使編譯通過。

還有就是子程序的HoldStart和MaxHold指定的保持寄存區,在控制系統中CPU的V數據存儲區中分配,因此該數據區不能與庫指令數據區有重疊,要不然控制系統在運行過程中就會產生錯誤,從而不能正常通訊。


分享到:


相關文章: