西門子plc S7-200SMART提供了免費的MODBUS-RTU庫程序,還要知道變頻器的啟動,停止,頻率和電流對應的寄存器地址就可以編寫(xie) 梯形圖程序了。
首先必須保證接線正確,PLC的端口3為(wei) +,8為(wei) -,如下圖為(wei) PLC和V20的接線
然後是對變頻器的參數進行設置,如:
P0700[0] 選擇命令源
P2023[0]RS485 協議選擇
P2010[0]USS/MODBUS 波特率
P2021[0]MODBUS 地址
P2022[0]MODBUS 應答超時
下麵就要編程實現對變頻器的控製:
1,調用Modbus RTU的主站程序,初始化Modbus Master端口:
EN:使能位,必須用SM0.0一直接通
Mode:為(wei) 1 = Modbus, 0 = PPI (stop Modbus),用SM0.0一直接通
Baud:波特率,一般為(wei) 9600
Parity:效驗方式,0=無效驗,1=奇效驗,2=偶效驗
Port:0=CPU集成的端口,1=通過擴展SB信號板的端口
Timeout:從(cong) 站響應時間,超時時間,單位:ms毫秒
Done:完成標誌位
Error:錯誤代碼
2,控製變頻器啟動,讀或寫(xie) 從(cong) 站數據指令,變頻器寄存器地址40100對應了變頻器的啟動。
EN:使能位,必須用SM0.0一直接通
First:讀寫(xie) 請求,必須使用脈衝(chong) 觸發,加沿指令
Slave:從(cong) 站地址(0-247)
RW:讀寫(xie) 命令,1=寫(xie) ,0=讀,此處要控製啟動需要使用1
Addr:從(cong) 站通信數據起始地址,要寫(xie) Modbus地址
Count: 通信數據區地址的數量
DataPtr:主站通信數據區地址
Done:完成標誌位
Error:錯誤代碼
上圖指令寫(xie) 入到VW0,可以控製變頻器的正反轉,每個(ge) 變頻器的對應的寫(xie) 入值不同。
3,讀取變頻器的相關(guan) 參數,由上麵的描述,RW為(wei) 0,則為(wei) 讀取數據,此處為(wei) 讀取寄存器地址為(wei) 40111的頻率值,並進行轉換,是否需要轉換,需要看變頻器的要求,其他品牌的變頻器不一定需要。
需要特別注意的一邊就是RS485為(wei) 半雙工通訊方式,每次對變頻器的讀寫(xie) 隻能有一個(ge) 指令在執行,所以需要進行輪詢程序的編寫(xie) 。一般可以使用Done和Error做為(wei) 下一個(ge) 讀寫(xie) 指令的啟動指令。