發(fā)布時間:2019-08-24 來源:眾智博遠(yuǎn)
驅(qū)動器參數(shù)的讀取及寫入
1.擴展PROFIDRIVE功能(DPV1)
非周期性數(shù)據(jù)傳送模式允許:
? 交換大量的用戶數(shù)據(jù)
? 用DPV1的功能 READ 和 WRITE可以實現(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通過PROFINET非周期性通訊方式讀取驅(qū)動器參數(shù)。
請注意:PLC讀取驅(qū)動器參數(shù)時必須使用兩個功能塊SFB52 / SFB53 (程序參見圖14)
舉例如下:
(1) 使用標(biāo)志位M10.0及功能塊SFB53將讀請求(數(shù)據(jù)集RECORD DB1)(圖15)發(fā)送至驅(qū)動器。
將M10.0設(shè)定為數(shù)值1啟動讀請求,當(dāng)讀請求完成后必須將該請求置0,結(jié)束該請求。ERROR = 1: 表示執(zhí)行此功能塊時有錯誤產(chǎn)生,而STATUS 指示功能塊執(zhí)行狀態(tài)或錯誤信息。
(2) 使用標(biāo)志位M10.2及功能塊SFB52讀取參數(shù)的請求響應(yīng)(響應(yīng)塊DB2)(參見圖16) 。
將M10.2設(shè)定為數(shù)值1讀取參數(shù)請求響應(yīng),完成后必須將該位置0,結(jié)束該請求。ERROR = 1: 表示執(zhí)行此功能塊時有錯誤產(chǎn)生,而STATUS 指示功能塊執(zhí)行狀態(tài)或錯誤信息。
圖14. 讀取驅(qū)動器參數(shù)程序
圖15. “寫”請求數(shù)據(jù)塊DB1
圖16. 驅(qū)動器返回參數(shù)值數(shù)據(jù)塊DB2
4. S7-300/400PLC通過PROFINET非周期性通訊方式修改驅(qū)動器參數(shù)P1217。
舉例如下:
PLC寫參數(shù)時只需使用SFB53,在本項目的Network 4中發(fā)送寫請求DB101 (參見圖18) 到驅(qū)動器; PLC讀“寫參數(shù)”響應(yīng)時需使用SFB52,在本項目中讀取驅(qū)動器返回的參數(shù)值數(shù)據(jù)塊為DB102 (參見圖19) 。程序參見圖17。
(1) 將M11.0設(shè)定為數(shù)值1啟動寫請求,當(dāng)寫請求完成后必須將該請求置0,結(jié)束該請求。ERROR = 1: 表示執(zhí)行此功能塊時有錯誤產(chǎn)生,而STATUS 指示功能塊執(zhí)行狀態(tài)或錯誤信息。
(2) 將M11.2設(shè)定為數(shù)值1讀請求,完成后必須將該請求置0,結(jié)束該請求。ERROR = 1: 表示執(zhí)行此功能塊時有錯誤產(chǎn)生,而STATUS 指示功能塊執(zhí)行狀態(tài)或錯誤信息。
圖17. 寫入驅(qū)動器參數(shù)程序
圖18. 寫請求DB101
圖19. 驅(qū)動器返回的數(shù)據(jù)塊DB102