回覆列表
  • 1 # Talk工控白

    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資料儲存區中分配,因此該資料區不能與庫指令資料區有重疊,要不然控制系統在執行過程中就會產生錯誤,從而不能正常通訊。

  • 2 # 工控人

    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的價格略貴。命令的傳送採用輪詢的方式進行,就是一個命令一個命令的傳送。

  • 中秋節和大豐收的關聯?
  • 用比喻句寫句話?