一、DP總線通訊功能概述
S7-300/400與SINAMICS S120 之間通過DP總線可進(jìn)行周期性及非周期性數(shù)據(jù)通訊。使用標(biāo)準(zhǔn)S7功能塊SFC14/SFC15,S7-300/400PLC通過PROFIBUS周期性通訊方式可將控制字1(CTW1)和主設(shè)定值(NSETP_B)發(fā)送至驅(qū)動器;使用標(biāo)準(zhǔn)S7功能塊SFC58 / SFC59,可以實(shí)現(xiàn)非周期性數(shù)據(jù)交換,讀取或?qū)懭腧?qū)動器的參數(shù)。
二、S7-300/400與S120裝置的連接
三、驅(qū)動器站地址設(shè)置
1. 驅(qū)動裝置的PROFIBUS通訊地址設(shè)置有兩種方法:
(1) 通過CU控制單元上的撥碼開關(guān)實(shí)現(xiàn)地址設(shè)置,有效地址值為:1…126,本例中地址設(shè)置見下圖。
注意:通過撥碼開關(guān)改變地址時應(yīng)斷掉變頻器電源
(2) 在撥碼開關(guān)全部撥到OFF或ON狀態(tài)時可以利用參數(shù)P918設(shè)置地址,否則
P918參數(shù)中設(shè)置的地址是無效的。
驅(qū)動裝置的PROFIBUS 通訊波特率默認(rèn)為:1.5Mbps
2. 在S7-300/400的硬件組態(tài)中設(shè)定的驅(qū)動裝置站地址應(yīng)與驅(qū)動裝置的站地址一致。
圖.1
四、通訊報文設(shè)置
對于不同的驅(qū)動裝置只有特定的報文結(jié)構(gòu)能被選用,詳細(xì)描述請參考:SINAMICS_S120_Commissioning_Manual。表1為常用報文。
表1.
報文格式999為用戶自定義報文,當(dāng)用戶選擇此報文格式時,電機(jī)的起、??刂莆坏刃枳约鹤鲫P(guān)聯(lián)。此時必須將PLC控制請求置1(P854=1)。
注意:用戶可在S7-300/400硬件配置時根據(jù)需要配置報文結(jié)構(gòu),配置結(jié)束后進(jìn)行
編譯保存;之后打開Starter,核對報文結(jié)構(gòu)是否一致,若不一致需在Starter
中打開“configuration”做調(diào)整后點(diǎn)擊“Transfer to HW config”按鈕。
圖.2
DC/AC 驅(qū)動裝置報文設(shè)定
圖.3
五、用DP總線對電機(jī)起、停及速度控制
S7-300/400PLC通過PROFIBUS周期性通訊方式將控制字1(CTW1)和主設(shè)定值(NSETP_B)發(fā)送至驅(qū)動器。
(1) 控制字中Bit0做電機(jī)的起、??刂?。
(2) 主設(shè)定值為速度設(shè)定值,頻率設(shè)定值和實(shí)際值要經(jīng)過標(biāo)準(zhǔn)化,使得4000H(十六進(jìn)制)對應(yīng)于100%,發(fā)送的最高頻率(最大值)為7FFFH(200%)??梢栽赑2000中修改參考頻率(缺省值為50Hz)。
(3) 組態(tài)的報文結(jié)構(gòu) PZD=2或自由報文999時,在S7-300/400 中可用“MOVE”指令進(jìn)行數(shù)據(jù)傳送;當(dāng)組態(tài)的報文結(jié)構(gòu) PZD〉2,在S7-300/400 中需調(diào)用SFC14和SFC15系統(tǒng)功能塊。
· SFC14(“DPRD_DAT”)用于讀Profibus 從站的過程數(shù)據(jù)
· SFC15(“DPWR_DAT”)用于將過程數(shù)據(jù)寫入Profibus 從站
例子:SERVO_02 ”控制字、主設(shè)定值的發(fā)送及狀態(tài)字、實(shí)際頻率的讀取程序
(1) 控制驅(qū)動器運(yùn)行:
通過先發(fā)送控制字(STW1)047E然后發(fā)送047F來啟動驅(qū)動器,該數(shù)據(jù)控制字在DB10.DBW8(見圖4)中指定,主設(shè)定值在DB10.DBD10中設(shè)定,運(yùn)行信號為M1.0。這些值均通過變量表VAT_2設(shè)定及監(jiān)控??刂瞥绦蛞妶D3。
(2)停止驅(qū)動器:
應(yīng)發(fā)送控制字047E至驅(qū)動器。
(3)讀取驅(qū)動器狀態(tài)字及頻率實(shí)際值:
PLC接收狀態(tài)字1(ZSW1),存放在DB10.DBW0中;接收驅(qū)動器傳來的頻率實(shí)際值,存放在DB10.DBD2中。
圖3. 控制程序
圖4. DB10
六、驅(qū)動器參數(shù)的讀取及寫入
1.擴(kuò)展PROFIBUS DP功能(DPV1)
非周期性數(shù)據(jù)傳送模式允許:
· 交換大量的用戶數(shù)據(jù)(最多240 bytes)
· 用DPV1的功能 READ 和 WRITE可以實(shí)現(xiàn)非周期性數(shù)據(jù)交換。傳輸數(shù)
據(jù)塊的內(nèi)容應(yīng)遵照 PROFIdrive參數(shù)通道(DPV1)數(shù)據(jù)集DS47(非周期參
數(shù)通道結(jié)構(gòu))。
2. 參數(shù)請求及參數(shù)應(yīng)答的結(jié)構(gòu)
參數(shù)請求包括三部分:請求標(biāo)題、參數(shù)地址及參數(shù)值。
表2.參數(shù)請求格式
表3.參數(shù)應(yīng)答格式
表4.參數(shù)請求及應(yīng)答描述
表5.在DPV1參數(shù)應(yīng)答中的錯誤值描述
3. S7-300/400PLC通過PROFIBUS非周期性通訊方式讀取驅(qū)動器參數(shù)。
請注意:PLC讀取驅(qū)動器參數(shù)時必須使用兩個功能塊SFC58 / SFC59 (程序參見圖5)
舉例如下:
(1) 使用標(biāo)志位M10.0及功能SFC58塊將寫請求(數(shù)據(jù)集RECORD DB1) (圖6)發(fā)送至驅(qū)動器。
將M10.0設(shè)定為數(shù)值1啟動寫請求,當(dāng)寫請求完成后必須將該請求置0,結(jié)束該請求。MW108 (RET_VAL)顯示錯誤代碼,用于表示功能處理時發(fā)生的錯誤。有關(guān)錯誤的描述參見“系統(tǒng)功能/功能塊幫助”。
(2) 之后,使用標(biāo)志位M10.1及功能SFC59塊將讀請求發(fā)送至驅(qū)動器,驅(qū)動器返回參數(shù)值響應(yīng)(響應(yīng)塊DB2) (參見圖7) 。
將M10.1設(shè)定為數(shù)值1啟動讀請求,當(dāng)讀請求完成后必須將該請求置0,結(jié)束該請求。MW110 (RET_VAL) 顯示包括錯誤代碼。
用于表示功能處理時發(fā)生的錯誤。有關(guān)錯誤的描述參見“系統(tǒng)功能/功能塊幫助”。
圖5. 讀取驅(qū)動器參數(shù)程序
圖6. “寫”請求數(shù)據(jù)塊DB1
圖7. 驅(qū)動器返回參數(shù)值數(shù)據(jù)塊DB2
4. S7-300/400PLC通過PROFIBUS非周期性通訊方式寫入驅(qū)動器參數(shù)P1217。
舉例如下:
PLC寫參數(shù)時只需使用SFC58,在本項(xiàng)目的Network 3中發(fā)送寫請求DB1 (參見圖9) 到驅(qū)動器; PLC讀“寫參數(shù)”響應(yīng)時需使用SFC59,在本項(xiàng)目中讀取驅(qū)動器返回的參數(shù)值數(shù)據(jù)塊為DB2 (參見圖10) 。程序參見圖8。
(1) 將M10.0設(shè)定為數(shù)值1啟動寫請求,當(dāng)寫請求完成后必須將該請求置0,結(jié)束該請求。MW108 (RET_VAL)顯示錯誤代碼,用于表示功能處理時發(fā)生的錯誤。有關(guān)所有錯誤的描述參見“系統(tǒng)功能/功能塊幫助”。
(2) 將M10.1設(shè)定為數(shù)值1啟動讀請求,當(dāng)讀請求完成后必須將該請求置0,結(jié)束該請求。MW110 (RET_VAL) 顯示包括錯誤代碼。
用于表示功能處理時發(fā)生的錯誤。有關(guān)錯誤的描述參見“系統(tǒng)功能/功能塊幫助”。
圖8. 寫入驅(qū)動器參數(shù)程序
圖9. 寫請求DB1
圖10. 驅(qū)動器返回的數(shù)據(jù)塊DB2
聯(lián)系客服