S7-200 SMART CPU 自帶一個 RS485 端口(端口0),標(biāo)準(zhǔn)型 CPU 額外支持 SB CM01 信號板(端口1),信號板可通過 STEP 7-Micro/WIN SMART 軟件組態(tài)為 RS232 通信端口或 RS485 通信端口。本例程是以CPU自帶的端口0為MODBUS主站,變頻器為從站 的通信。
1,接線方式
CPU自帶的端口定義:
注意,西門子的A,B與變頻器的定義是反的,所以西門子8腳 A要與變頻器B-對應(yīng),西門子3腳 B與變頻器A+對應(yīng)。接線圖如下:
2,在與變頻器通訊前,最好是先用MODBUS調(diào)試助手 先測試PLC與調(diào)試助手之間的通信。
通過測試我們可能發(fā)現(xiàn),調(diào)試助手中一個寄存器的長度與一個VW對應(yīng)。
變頻器MODBUS寄存器地址是16進(jìn)制的表達(dá)方式。所以我們PLC程序中的地址也最好用16進(jìn)制表表達(dá),這樣方便直觀。變頻器如下:
但我們的調(diào)試助手助手的寄存器地址是十進(jìn)制的。所以要轉(zhuǎn)換一下。以上面的40100為例,轉(zhuǎn)換成16進(jìn)制為9CA4.
所以我們?nèi)绻谜{(diào)試助手與變頻器通信調(diào)試,要注意將變頻器16進(jìn)制地址轉(zhuǎn)換成10進(jìn)制的地址在調(diào)試助手中監(jiān)控。
查看變頻器參數(shù)地址表
讀取變頻器輸出頻率:7203H。PLC程序中也按16進(jìn)制的表達(dá)方式,讀取從站1中16#7023地二的值。先用調(diào)試助手模擬測試7203H,測試如下
我們監(jiān)控發(fā)現(xiàn)報警,代碼為4:請求參數(shù)錯誤(slave address,Modbus address,count,RW)。報這個錯誤的原因是,寄存器地址超出SMART200的MODBUS寄存器地址范圍。SMART200的寄存器地址范圍為40001到49999和 400001 至 465535。注意這里指的是10進(jìn)制地址。對于上面變頻器7203H也就是10進(jìn)制的29187
地址29187超出PLC中40001到49999和 400001 至 465535允許范圍了,怎么處理呢?
對于沒超出范圍地地址,可以直接用,對于超出范圍的地址,我們就要加上400000,所以以上寄存器地址在PLC中就要用429187
3,PLC與變頻器連接通信
特別注意:PLC與變頻器通信時,超出范圍的寄存器地址,要加400001才會對應(yīng)正確
4,具體參考程序:(本例程中除了變頻器外,還有多個從站的輪詢)