今天跟大家分享西門子s7-1500從站的激活與取消激活程序應(yīng)用。通過指令“d_act_dp”,可根據(jù)需要取消激活和激活所組態(tài)的 dp 從站/profinet io 設(shè)備。另外,還可查詢每個指定的 dp 從站或 profinet io 設(shè)備當前是啟用還是禁用。如果cpu中組態(tài)了未安裝或暫不需要使用的 dp 從站/profinet io 設(shè)備,則 cpu 將不會按規(guī)定時間間隔訪問這些 dp 從站/profinet io 設(shè)備。在從站禁用后,將停止進一步的 cpu 訪問。對于 profibus dp,采用這種方式可確保 dp 總線循環(huán)速度達到最高,從而避免錯誤事件的發(fā)生。如果使用“d_act_dp”禁用一個 dp 從站/profinet io 設(shè)備,則其過程輸出會置為組態(tài)的替代值或 0(安全狀態(tài))。分配的 dp 主站/profinet io 控制器不再繼續(xù)尋址該組件。被禁用的 dp 從站/profinet io 設(shè)備不會導致cpu的指示燈顯示錯誤報警。
一、軟件和硬件需求,本文以博圖v15為例:
1、硬件組態(tài)安裝好的cpu1512c-1pn(6es7 512-1ck00-0ab0)。
2、硬件組態(tài)安裝好的et200sp(6es7 155-6au00-0bn0)從站。
3、tia portal v15.1 軟件。
4、在tia portal v15.1 軟件正確組態(tài)以上設(shè)備及從站,配置好profinet io 網(wǎng)絡(luò)系統(tǒng)。并下載到plc中,如下圖所示。
二、在tia portal v15.1 軟件編寫程序
1、調(diào)用指令
在用戶程序中調(diào)用d_act_dp指令。如下圖所示:
d_act_dp指令的參數(shù)如下圖所示:
2、取消激活io從站
設(shè)置輸入?yún)?shù)mode的值為2,置位輸入端req,執(zhí)行禁用io從站命令。如下圖所示:
d_act_dp指令的輸出busy由true變?yōu)閒alse后,指令執(zhí)行完成。網(wǎng)絡(luò)視圖中的io從站 et200sp的狀態(tài)變?yōu)橐呀?。et200sp與cpu不再進行周期性數(shù)據(jù)通信。
3、激活io從站
設(shè)置輸入?yún)?shù)mode的值為1,置位輸入端req,執(zhí)行激活io從站命令。d_act_dp指令的輸出busy由true變?yōu)閒alse后,指令執(zhí)行完成。網(wǎng)絡(luò)視圖中io從站et200sp恢復與cpu的周期性通信。
4、查詢io從站當前啟用或禁用信息
當d_act_dp指令的輸入?yún)?shù)mode的值為0時,可以通過該指令查詢io從站當前的激活/取消激活的信息。此信息通過參數(shù)ret_val輸出。ret_val的值為 16#0001時,dp 從站/profinet io 設(shè)備處于啟用狀態(tài)。