S7協(xié)議是SIEMENS S7系列產(chǎn)品之間通訊使用的標(biāo)準(zhǔn)協(xié)議 ,其優(yōu)點(diǎn)是通信雙方無(wú)論是在同一MPI總線上、同一PROFIBUS總線上或同一工業(yè)以太網(wǎng)中,都可通過(guò)S7協(xié)議建立通信連接,使用相同的編程方式進(jìn)行數(shù)據(jù)交換而與使用何種總線或網(wǎng)絡(luò)無(wú)關(guān)。S7通信分為按組態(tài)方式可分為單邊通信和雙邊通信,單邊通信通常應(yīng)用于以下情況:
· 通信伙伴無(wú)法組態(tài)S7連接
· 通信伙伴無(wú)法停機(jī)
· 不希望在通訊伙伴側(cè)增加通信組態(tài)或程序
本文介紹S7-400基于PROFIBUS總線的S7單邊通信的組態(tài)步驟,用于實(shí)現(xiàn)兩個(gè)獨(dú)立項(xiàng)目之間的S7通信。
實(shí)驗(yàn)環(huán)境,見(jiàn)表1。
序號(hào) |
名稱 |
訂貨號(hào) |
1 |
CR3導(dǎo)軌 |
6ES7 401-1DA01-0AA0 |
2 |
PS407 |
6ES7 407-0DA02-0AA0 |
3 |
CPU414-3 |
6ES7 414-3XM05-0AB0 |
4 |
STEP7 V11 SP2 update5 |
|
5 |
Windows 7 SP1 |
|
表1
S7-400站點(diǎn)配置參見(jiàn)表2。
序號(hào) |
說(shuō)明 |
圖示 |
1. |
創(chuàng)建新項(xiàng)目“S7-400 one-way”后,單擊“項(xiàng)目視圖” |
|
2. |
雙擊項(xiàng)目樹(shù)下的“添加新設(shè)備”功能,彈出添加新設(shè)備對(duì)話框 |
|
3. |
在添加新設(shè)備對(duì)話框中的步驟: a) 選擇設(shè)備類型“PLC” b) 選擇使用的CPU型號(hào) c) 選擇使用的CPU的版本號(hào) d) 勾選“打開(kāi)設(shè)備視圖” 點(diǎn)擊“確定”按鈕后將顯示設(shè)備視圖 |
|
4. |
增加電源模塊 |
|
5. |
在設(shè)備視圖中設(shè)置DP接口參數(shù): a) 點(diǎn)擊工作區(qū)S7-400 CPU的DP接口 b) 添加新子網(wǎng) c) 設(shè)置S7-400的站地址為2 d) 將工作區(qū)切換到網(wǎng)絡(luò)視圖
|
|
6. |
設(shè)置PROFIBUS總線參數(shù): a) 點(diǎn)擊工作區(qū)內(nèi)的PROFIBUS_1總線 b) 選擇巡視窗口的屬性標(biāo)簽中的“網(wǎng)絡(luò)設(shè)置” c) 設(shè)置傳輸率為1.5Mbps,標(biāo)識(shí)號(hào)為標(biāo)準(zhǔn),最高PROFIBUS地址為126 |
|
7. |
創(chuàng)建S7連接: a) 點(diǎn)擊工具欄“連接”圖標(biāo),下拉框中選擇S7連接 b) 鼠標(biāo)右鍵點(diǎn)擊CPU,在彈出菜單中選擇“添加新連接”,然后出現(xiàn)“創(chuàng)建新連接”對(duì)話框 |
|
8. |
在創(chuàng)建新連接對(duì)話框中做以下設(shè)置: a) 確認(rèn)連接類型為S7連接 b) 設(shè)定使用的本地接口,此處接口為PLC_1,DP接口_1(R0S2) c) 設(shè)定連接ID,此處為1 d) 勾選“主動(dòng)建立連接”復(fù)選框 點(diǎn)擊“添加”按鈕添加新連接,點(diǎn)擊“關(guān)閉”按鈕關(guān)閉創(chuàng)建新連接對(duì)話框 |
|
9. |
展開(kāi)網(wǎng)絡(luò)視圖列表區(qū)域,設(shè)置S7連接參數(shù) a) 點(diǎn)擊列表區(qū)域的“S7_連接_1” b) 選擇巡視窗口的屬性標(biāo)簽中的“常規(guī)” c) 設(shè)置伙伴地址,此處為3 |
|
10. |
a) 選擇巡視窗口的屬性標(biāo)簽中的“地址詳細(xì)信息” b) 選擇伙伴PLC的機(jī)架號(hào)和插槽號(hào),示例中通信伙伴為S7-300,所以機(jī)架號(hào)為0,插槽號(hào)為2,TSAP為03.02 注:對(duì)于Profibus-S7通信: · 通信伙伴為S7-300,TSAP為03.02 · 通信伙伴為S7-1200/1500,TSAP為03.01 · 通信伙伴為S7-200,TSAP 為03.00 |
|
11. |
a) 點(diǎn)擊工作區(qū)PLC_1站點(diǎn) b) 點(diǎn)擊編譯圖標(biāo),編譯組態(tài) c) 點(diǎn)擊下載圖標(biāo),下載組態(tài)到CPU中 |
|
表 1
S7-300站點(diǎn)配置參見(jiàn)表3。
序號(hào) |
說(shuō)明 |
圖示 |
1. |
創(chuàng)建新項(xiàng)目“s7-300”后,單擊“項(xiàng)目視圖” |
|
2. |
雙擊項(xiàng)目樹(shù)下的“添加新設(shè)備”功能,彈出添加新設(shè)備對(duì)話框 |
|
3. |
在添加新設(shè)備對(duì)話框中的步驟: a) 選擇設(shè)備類型“PLC”; b) 選擇使用的CPU型號(hào) c) 選擇使用的CPU的版本號(hào) d) 勾選“打開(kāi)設(shè)備視圖” 點(diǎn)擊“確定”按鈕后將顯示設(shè)備視圖 |
|
4. |
在設(shè)備視圖中設(shè)置DP接口參數(shù): a) 點(diǎn)擊工作區(qū)S7-300 CPU的DP接口 b) 添加新子網(wǎng) c) 設(shè)置S7-300站地址為3 d) 將工作區(qū)切換到網(wǎng)絡(luò)視圖
|
|
5. |
設(shè)置PROFIBUS總線參數(shù): a) 點(diǎn)擊工作區(qū)PROFIBUS_1總線 b) 選擇巡視窗口的屬性標(biāo)簽中的“網(wǎng)絡(luò)設(shè)置” c) 設(shè)置傳輸率為1.5Mbps,標(biāo)識(shí)號(hào)為標(biāo)準(zhǔn),最高PROFIBUS地址為126 |
|
6. |
a) 點(diǎn)擊工作區(qū)PLC_1站點(diǎn) b) 點(diǎn)擊編譯圖標(biāo),編譯組態(tài) c) 點(diǎn)擊下載圖標(biāo),下載組態(tài)到CPU中 |
|
表 3
如圖3-1示意圖,使用RS485總線連接器通過(guò)PROFIBUS標(biāo)準(zhǔn)電纜分別連接CPU414-3DP 的X2接口和CPU315-2DP的X2 接口。
圖3-1 CPU之間DP通信連接示意圖
由于配置的是S7單邊通信,只需在配置S7網(wǎng)絡(luò)連接的一方進(jìn)行編程,所以本例中只需要在CPU414-3DP中編程調(diào)用系統(tǒng)功能塊SFB14/SFB15,如表4。
序號(hào) |
說(shuō)明 |
圖示 |
1. |
展開(kāi)項(xiàng)目樹(shù),雙擊程序塊下Main[OB1],在工作區(qū)中打開(kāi)OB1
|
|
2. |
a) 打開(kāi)指令任務(wù)卡 b) 展開(kāi)通信指令 c) 選擇GET指令并拖拽至程序段1,按提示添加背景數(shù)據(jù)塊
|
|
3. |
展開(kāi)巡視窗口,選擇“屬性”選項(xiàng)卡 a) 點(diǎn)擊程序段1中GET功能塊 b) 選擇巡視窗口的“組態(tài)”標(biāo)簽頁(yè),點(diǎn)擊“連接參數(shù)” c) 點(diǎn)擊“連接名稱”后的“…”按鈕在“連接概覽”對(duì)話框中選擇需要綁定的連接 |
|
4. |
在連接概覽對(duì)話框中選擇需綁定到功能塊的連接,此處為“S7_連接_1”,點(diǎn)擊“確定”按鈕完成連接選擇
|
|
5. |
為GET功能塊設(shè)置參數(shù) · REQ:控制參數(shù) request,在上升沿時(shí)激活數(shù)據(jù)交換功能,此處為M0.0,系統(tǒng)自動(dòng)為其分配符號(hào)名稱“Tag_1” · ADDR_1:指向通信伙伴 CPU 上待讀取區(qū)域的指針,為P#M10.0 BYTE10 · RD_1:指向本地 CPU 上用于寫(xiě)入已讀數(shù)據(jù)的區(qū)域的指針,此為P#M100.0 BYTE 10 注:此處功能塊的調(diào)用結(jié)果是:REQ上升沿每執(zhí)行一次,讀取通信伙伴MB10 ~MB19當(dāng)前的數(shù)據(jù)值,并保存至本地的MB100~MB109區(qū)域中 |
|
6. |
重復(fù)步驟2~4,組態(tài)PUT功能塊,設(shè)置參數(shù): · REQ:控制參數(shù) request,在上升沿時(shí)激活數(shù)據(jù)交換功能,此處為M0.1,系統(tǒng)自動(dòng)為其分配符號(hào)名稱“Tag_2” · ADDR_1:指向伙伴 CPU 上用于寫(xiě)入數(shù)據(jù)的區(qū)域的指針,此為P#M20.0 BYTE10 · SD_1:指向本地 CPU 上包含要發(fā)送數(shù)據(jù)的區(qū)域的指針,此為P#M200.0 BYTE 10 注:此處功能塊的調(diào)用結(jié)果是:REQ上升沿每執(zhí)行一次,本地MB200~MB209的當(dāng)前數(shù)據(jù)值寫(xiě)入到通信伙伴MB20~MB29地址區(qū)域中 |
|
7. |
右鍵單擊項(xiàng)目樹(shù)下程序塊,在彈出對(duì)話框中選擇“編譯”->“軟件” |
|
8. |
右鍵單擊項(xiàng)目樹(shù)下程序塊,在彈出對(duì)話框中選擇“下載到設(shè)備”->“軟件(所有塊)” |
|
更多例子歷程參S7-400PROFIBUS-S7.zip (2820 KB)
更多關(guān)于S7通訊指令GET/PUT參數(shù)含義,參《STEP 7 Professional V12.0》手冊(cè)9.8.2.5 通信章節(jié)。
電話:13818569113
郵箱:13818569113@139.com
網(wǎng)址:http://www.xmzgk.com
地址:中國(guó)上海市青浦區(qū)崧盈路398號(hào)6棟