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