在教學過程中發現很多朋友被變頻器如何跟PLC通信所困擾,即使勉強與一種品牌通信上,換一個品牌又不知如何去通信。為此我特意整理此文,希望對大家有幫助。
PLC與變頻器之間最常用的通信協議為Modbus RTU,最常用的通信接口RS485接口,想要熟練的進行通信,首先要對Modbus RTU協議和RS485接口具有充分的了解。
Modbus是由Modicon(現為施耐德電氣公司的一個品牌)在1979年發明的,是全球第一個真正用于工業現場的總線協議。Modbus 協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如RS485)和其它設備之間可以通信。
ModBus協議有2種傳輸模式,ASCII模式和RTU模式,在同一個通信網絡中必須使用相同的傳輸模式,除此之外還必須具有相同的波特率、數據位、校驗位、停止位等參數。
波特率:每秒鐘傳輸的bit位數量,表示傳輸速度快慢單位為bps或bit/s。波特率越大傳輸速度越快,抗干擾能力越差,距離也就越近。
數據位:傳輸數據格式為起始位+數據位+奇偶校驗位+停止位,通常數據位位7或8位。
校驗位:奇偶校驗位是一種錯誤檢測碼,可設置為奇校驗(Odd)、偶校驗(Even)和無校驗(None)。如果傳輸過程中包括校驗位在內的奇數個數據位發生改變,那么奇偶校驗位將出錯表示傳輸過程有錯誤發生。
停止位:通常數據幀最后有一個或兩個(無校驗位)停止位,用于表征一幀數據結束。
Modbus協議是一種單主多從協議,同一網絡中只允許有一個主站,其余都只能作為從站。只有主站才擁有主動話語權,從站只能被動的接收數據或對主站的請求做出應答。
兩線制RS485接口:工作于半雙工,所以編寫通信程序時要輪番進行通信,即讀和寫操作要錯開每次只能執行一條操作。數據信號采用差分傳輸,使用一對雙絞線,一根為正,一根為負。
下面就以西門子S7-200 SMART與英威騰變頻器通信為例講解一下通信的方法。
我們通過通信控制變頻器的啟停和頻率,再將轉速和輸出電壓讀取出來。
分析:想要通過通信控制啟停和頻率,必須將運行指令通道設置成通信給定P00.01=2,頻率指令選擇設置成MODBUS通信設定P00.06=8。有關通信組的參數采用默認值,本機通信地址P14.00=1,通信波特率P14.01=4(19200bps),數據位校驗格式P14.02=1(偶檢驗E,8,1 for RTU)。
接線常采用如圖1-1所示的鏈式連接法,在遠端加上120Ω的終端電阻。
圖1-1
接下來就是編寫通信程序:
1.首先應對端口進行初始化,如圖1-2
圖1-2
2.編寫控制啟停的程序,注意此處使能要用SM0.0。
SMART中保持性寄存器的modbus地址為40001-49999,400001-499999。查閱英威騰手冊得知通信地址如圖1-3所示,算出控制啟停的通信地址為16#BC41,程序如圖1-4所示。
圖1-3
圖1-4
3.編寫修改頻率的程序。同樣的方法換算出控制頻率的通信地址為16#BC42,程序如圖1-5所示。
圖1-5
4.編寫讀取輸出電壓的程序。
輸出電壓和運用轉速的通信地址如圖1-6所示:
圖1-6
將十六進制3003轉換成十進制為12291,超出49999的范圍,所以將12291+400001=41292,再轉換成十六進制為16#64A84,程序如圖1-7所示。
圖1-7
5.編寫讀取運行轉速程序,同理得出運行轉速地址為16#64A86,程序如圖1-8所示。
圖1-8
注意:由于RS485接口是工作于半雙工模式,所以每步操作程序需要輪流執行(每次只執行一條操作),編寫程序過程中用上一步的Done作為下一步的First條件。跟其它品牌的變頻器或儀表通信方法類似,只需要查看通信手冊找到對應的通信地址即可。
-
通信
+關注
關注
18文章
6024瀏覽量
135950 -
西門子
+關注
關注
94文章
3034瀏覽量
115783 -
變頻器
+關注
關注
251文章
6548瀏覽量
144515
原文標題:S7-200 SMART與變頻器通信實例~
文章出處:【微信號:GKYXT1508,微信公眾號:工控云學堂】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論