廣東梅州西門子代理商|授權代理
注意:表1中的17,18,19,20 這四項參數值的設置必須使PLC的參數值與變頻器的參數值相*。而19,20這兩個參數值必須設置成如表1中的值,否則有可能變頻器與S7-1200通信有如下問題:可能不能讀出從變頻器反饋回來的參數值。
5.USS通信原理與編程的實現
5. 1 S7 1200 PLC與G120 通過USS通信的基本原理
S7 1200提供了的USS庫進行USS通信,如下圖所示:
圖5: S7 1200 的USS庫
USS_DRV 功能塊是S7-1200 USS通信的主體功能塊,接受變頻器的信息和控制變頻器的指令都是通過這個功能快來完成的。必須在主 OB中調用,不能在循環中斷OB中調用。
USS_PORT功能塊是S7-1200與變頻器USS通信的接口,主要設置通信的接口參數。可在主OB或中斷OB中調用。
USS_RPM功能塊是通過USS通信讀取變頻器的參數。必須在主 OB中調用,不能在循環中斷OB中調用。
USS_WPM功能塊是通過USS通信設置變頻器的參數。必須在主 OB中調用,不能在循環中斷OB中調用。
這些功能塊與變頻器之間的控制關系如下圖所示:
三、項目配置
1、 本例使用的設備描述
SERVO_02 | Motor Module: 6SL3120-2TE13-0AA3 |
Motor: 1FK7022-5AK71-1LG0 | |
Absolute Encoder | |
SERVO_03 | Motor Module: 6SL3120-2TE13-0AA3 |
Motor: 1FK7022-5AK71-1AG0 | |
Sin/Cos Encoder |
圖 10.
注意:S120支持兩個周期性通訊接口IF1和IF2,分別通過CU參數P8839.0和P8839.1來定義IF1和IF2的通訊方式,在默認情況下P8839.0= P8839.1=99,就激活了這兩個接口的自動模式,如下表所示:
在這種方式下無法實現PROFIBUS DP和PROFINET IO的并行通訊,因此為了實現其并行通訊,需要按如下方式設置:
? P8839[0]=1和P8839[1]=2:PROFIBUS DP 用于同步,PROFINET IO用于周期性通訊
? P8839[0]=2和P8839[1]=1:PROFINET IO用于同步,PROFIBUS DP用于周期性通訊(本例中的設置)
兩個周期性通訊接口IF1和IF2的特性如上表所示:
注意:IF2不支持TM41,TM15,TM17,TM/TB,CU與CPU之間的通訊。
五、通過PROFIBUS DP或PROFINET IO總線來實現過程數據的傳輸
S7-300/400PLC通過PROFINET IO或PROFIBUS DP周期性通訊方式將控制字1(CTW1)和主設定值(NSETP_B)發送至驅動器。
(1) 控制字中Bit0做電機的起、停控制。
(2) 主設定值為速度設定值,參數P2000中的值為頻率設定值和實際值的參考頻率,* 對應4000H(十六進制),發送的高頻率(大值)為7FFFH(200%)。
(3) 當組態的報文結構 PZD=2或自由報文999時,在S7-300/400 中可用“MOVE" 指令進行數據傳送;當組態的報文結構PZD >2,在S7-300/400 中需調用SFC14和SFC15系統功能塊。
? SFC14(“DPRD_DAT")用于讀驅動裝置的過程數據。
? SFC15(“DPWR_DAT")用于將過程數據寫入驅動裝置。
例子(PROFINET IO):SERVO_02 控制字、主設定值的發送及狀態字、實際頻率的讀取程序見圖11。
圖11
通過讀取Servo_02的參數r2050和P2051可以判斷數據是否傳輸成功。
圖12
例子(PROFIBUS DP):SERVO_02 "控制字、主設定值的發送及狀態字、實際頻率的讀取程序見圖13。
圖13
通過讀取Servo_02的參數r8850和P8051可以判斷數據是否傳輸成功。