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