S7-1200 增加 CM1242-5 通信模塊后可以做 PROFIBUS DP 從站。一般情況下,可以通過TIA Portal 組態該模塊的地址,當在軟件中修改組態PROFIBUS地址后,需要下載硬件配置或者完整下載整個項目,修改的地址才可以生效。
對于一些特殊應用場景,PROFIBUS DP從站的站地址無法預先設置成固定的地址值,需要在適當的時候根據需要,在不重新下載硬件配置/項目的情況下,通過程序修改DP地址。為此,本文介紹通過編程調用 WRREC 指令修改 CM1242-5 的 PROFIBUS 地址。
注意:
CM1242-5模塊固件版本在V1.0.5及更高,支持數據記錄 0x2001(8193),當使用WRREC指令寫入數據記錄之后,從站會以該地址重啟。8193數據記錄結構如表1.所示
表1.8193數據記錄結構
數據記錄 結構 |
字節1 | 字節2 | 字節3 | 字節4 |
---|---|---|---|---|
版本(高字節) | 版本(低字節) |
Opcode =0 不更改;=1 更改 |
來自Opcod的數據 新地址 |
|
分配示例 | 01h | 00h | 01h | 03h |
實現功能 | 版本為V1.0 | 需要更改DP地址 | 新地址為3 |
實驗思路
CPU1215+CM1243-5模塊作為PROFIBUS DP主站,站名稱為“DP_Master”,CPU1214+CM1242-5作為PROFIBUS DP從站,站名稱為“DP_Slave”,雙方進行PROFIBUS DP主從通信。
在DP_Slave站點中,在CM1242-5模塊屬性中設置的從站地址為30。為了更直觀的驗證通過程序修改地址生效,在博途中導入CM1242-5的GSD文件,在DP_Master站點中,在CM1243-5主站模塊下方組態2個CM1242-5(GSD)。一個從站地址配置為3,名稱修改為Address_3;另外一個從站地址配置為5,名稱修改為Address_5。
在DP_Slave站點中編程,通過調用WRREC指令分別修改CM1242-5模塊的從站地址為3和5,在網絡視圖中在線監控主站模塊是否與相應的從站模塊通信成功。網絡配置概況如圖1.所示。
圖1.網絡配置概況
硬件和軟件需求
所需硬件及角色分配如表2.所示:
表2.硬件與版本
角色 | PROFIBUS DP主站 | PROFIBUS DP從站 | ||
---|---|---|---|---|
硬件 | 6ES7 215-1AG40-0XB0 | 6GK7 243-5DX30-0XE0 | 6ES7 214-1AG40-0XB0 | 6GK7 242-5DX30-0XE0 |
固件 | V4.4 | V1.3 | V4.4 | V1.0.6 |
軟件:STEP 7 Professional V16
CM1242-5 模塊組態
1. 打開博途軟件,創建一個新項目,添加新設備中,添加 CPU1214(6ES7 214-1AG40-0XB0) 模塊,固件版本為V4.4。
2. 在CPU1214的設備視圖中添加CM1242-5模塊,設置從站地址為30,如圖2.所示。
圖2.添加CM1242-5并設置DP地址
3. 設置CM1242-5的操作模式和傳輸區域,如圖3.所示。
圖3.設置操作模式和傳輸區域
CPU1215+CM1243-5組態
1.與CPU1214同一個項目中,添加CPU1215(6ES7 215-1AG40-0XB0),固件版本為V4.4,同時添加CM1243-5模塊。
2.設置CM1243-5模塊的DP地址,如圖4所示。
圖4.CM1243-5模塊的地址
3.添加CM1242-5的GSD文件
CM1242-5 GSD文件下載鏈接及添加GSD文件的方法,請點擊:添加和刪除GSD文件
CM1242-5的固件版本如果低于V1.0.5,需要對CM1242-5進行固件更新,CM1242-5固件下載及更新方法,請點擊:CM1242-5固件下載和固件更新方法
4.從硬件目錄中將添加好的CM1242-5的GSD文件拖拽至網絡視圖中組態,分配PROFIBUS DP主站給CM1242-5,同時修改從站名稱為Address_3,如圖5.所示。
圖5.分配主站及修改站名稱
5.設置從站地址及傳輸區,如圖6.所示。
注意:傳輸區的組態與CM1242-5模塊中組態(參見圖3.)的傳輸區相對應(圖3.中為輸出,1個字節;此處需要組態為輸入,1個字節)。
圖6.對GSD文件組態從站地址及傳輸區
6.從硬件目錄中添加第二個CM1242-5(GSD)組態,從站地址設置為5,站名稱設置為Address_5,添加傳輸區也是1 Byte Input,操作步驟同重復上述4-6。
CPU1214+CM1242-5 編程
1.在CPU1214+CM1242-5(站點名稱為DP_Slave)中添加全局DB數據塊并定義變量,如圖7.所示。
將數據塊中RECORD的數組的起始值設置為16#01,16#00,16#01,16#03,此4個字節的含義參見表1.所示。
圖7.添加數據塊定義變量
2.在OB1中調用WRREC指令,指令填寫如圖8.所示。
注意:WRREC指令是異步通信,REQ指令建議使用上升沿觸發。如果使用電平信號觸發,會不斷的向模塊寫數據記錄。如果短時間內多次寫入數據記錄,則會使用最后寫入的地址。
圖8.調用WRREC指令
3.捕捉指令完成位及錯誤代碼,如圖9.所示。
圖9.捕捉錯誤位和完成位
4.添加監控圖表,在其中添加2個變量,分別為"Change_Address_DB".DATA.New_Address 和 "Change_Address_DB".DATA.REQ。將"Change_Address_DB".DATA.New_Address 修改從站地址為3,然后將"Change_Address_DB".DATA.REQ修改為1,觸發WRREC指令。如圖10所示。
圖10.修改從站地址為3觸發WRREC指令
5.切換至網絡視圖,觀察到CPU1215和站地址為3的GSD文件組態的站點通信成功。如圖11.所示。
注意:由于CPU1215下方掛了2個CM1242-5 GSD文件,但是實際只有一個CM1242-5模塊,所以同一時刻,只有一個從站通信成功,CPU1215有報錯現象屬于正常現象。
圖11.修改地址后觀察結果1
6.將"Change_Address_DB".DATA.New_Address 修改從站地址為5,然后將"Change_Address_DB".DATA.REQ修改為1,觸發WRREC指令,如圖12.所示。
圖12.修改從站地址為5觸發WRREC指令
7.網絡視圖中,觀察到CPU1215和站地址為5的GSD文件組態的站點通信成功。如圖13.所示。
圖13.修改地址后觀察結果2
注意:
使用這種方法后,CPU斷電重啟會恢復組態地址(30),所以如果想要保持性存儲DP 從站地址,應將其保存在 CPU 的設置有保持性的 DB塊中(參見圖7.數據塊中的變量設置有保持性,斷電從新上電后數據保持斷電之前的值不變)
在 OB100 中編程調用WRREC指令,將REQ直接填寫為TRUE,將數據記錄寫入 CM1242-5模塊中。如圖14.所示。
注意:因為WRREC指令是異步指令,需要執行多個周期,而OB100只能執行一次,所以在程序中加入跳轉指令,即當指令仍在執行時則不跳出OB100繼續執行WRREC。
圖14.OB100中觸發WRREC指令
審核編輯:劉清
-
GSD
+關注
關注
2文章
25瀏覽量
10738 -
PROFIBUS
+關注
關注
3文章
389瀏覽量
37864 -
S7-1200
+關注
關注
11文章
331瀏覽量
18008
原文標題:通過WRREC指令修改CM1242-5的DP地址
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論