一、引言:
源信YX3000變頻器向用戶提供工業(yè)控制中通用的RS485協議通訊接口。通訊協議采用MODBUS標準通訊協議。支持RUT和ASCII兩種傳送方式。詳細的MODBUS協議,以及變頻器通訊協議參數定義,在變頻器用戶手冊中均有詳細介紹。
二、通訊案例:
以西門子S7-200系列PLC為例,通過PLC與源信變頻器建立通訊連接來實現PLC對變頻器啟停、監(jiān)控、發(fā)送廣播指令等功能的控制。
案例以CPU224XP作為MODBUS協議主站,YX3000變頻器做為MODBUS協議從站接收來自PLC的命令指令。
三、通訊參數:
西門子S7-200系列PLC有一種特殊的通訊模式:自由口通訊模式。當選擇自由端口模式時,程序通過使用接收中斷、傳送中斷、"傳送"指令和"接收"指令控制通訊端口操作。通訊協議位于自由端口模式時完全受梯形圖程序的控制。
在自由通訊模式下,用戶可以在自定義的通訊協議下,可以通過建立通訊中斷事件,使用通訊指令控制PLC串口通訊口與變頻器通訊??墒褂锰厥鈨却嫖籗M0.7控制進入自由端口模式,該內存位反映操作模式開關的當前位。當CPU主機處于RUN工作狀態(tài)時,自由口通訊,當CPU主機處于STOP工作狀態(tài)時,自由通訊模式被禁止,PLC通訊協議由自由通訊協議切換到正常的通訊協議。
PLC參數設定,S7-200PLC通過用戶程序控制通訊參數:通訊協議,波特率、校驗方式、字符有效數據位。
變頻器參數設定
接線方式:PLC串口通訊口為九針陰型插口(PORTO或PORT1),用帶一九針陽性接口一端插PLC通訊口,另一端取3、8兩根線(3+/8-)分別接在變頻器485+、485-上。
四、PLC編程說明:
使用西門子S7-200系列自由通訊口編程必用指令為XMT(發(fā)送)指令與RCV(接收)指令。編寫程序時需要為這兩個指令設定數據緩沖區(qū),一般以最低位為0的地址作為數據緩沖的起始地址。
PORT 常數(0用于CPU 221/222/224;0或1用于CPU 226/226XM)
① 發(fā)送指令XMT緩沖區(qū)(寫/讀)
VB100 //xmt指令要發(fā)送的字節(jié)個數
VB101 //變頻器通訊地址(01)
VB102 //modbus功能碼(06/03)
VB103 //變頻器被寫地址高位/變頻器被讀起始地址高位
VB104 //變頻器被寫地址低位/變頻器被讀起始地址低位
VB105 //被寫數據高位/被讀數據字個數高位
VB106 //被寫數據低位/被讀數據字個數低位
VB107 //被發(fā)送數據CRC低位
VB108 //被發(fā)送數據CRC高位
② 接收指令RCV緩沖區(qū)
VB200 //rcv指令要接收的字節(jié)個數
VB201 //變頻器地址(01)
VB202 //modbus功能碼(06/03)
VB203 //變頻器被寫地址高位/被讀數據字節(jié)個數高位
VB204 //變頻器被寫地址低位/被讀數據字節(jié)個數低位
VB205 //被寫數據高位/被讀數據高位
VB206 //被寫數據低位/被讀數據低位
VB207 //被接收數據CRC低位
VB208 //被接收數據CRC高位
VB217 //被接收數據CRC驗算低位
VB218 //被接收數據CRC驗算高位
③ CRC校驗子程序(SBR0)
源信YX3000變頻器內置的MODBUS協議采用RTU傳輸格式,只是采用了部分MODBUS從協議(只支持03、06、08H這三種命令)通訊速率比ASCII模式更快。該格式使用CRC校驗方式對每次發(fā)出或接收的數據幀進行校驗。因此,該子程序使用了多個局部變量。