湖南 長(zhǎng)沙 西門子 6ES7431-7KF10-0AB0 銷售中心
只有 STEP7 版本 V5.1 SP2 以上并且只有特定 S7-400 CPU 可以支持 DP 從站。 如果要合并S7-400 CPU為DP 從站到DP 主站的項(xiàng)目中,需要 S7-400 CPU 的 GSD 文件。GSD 文件可以從條目ID 25331800 下載。
注意
如果將 CPU 連接到同一 STEP7 項(xiàng)目中的 S7 站,請(qǐng)按照條目ID ID 6518822。在該示例中,僅描述了作為 DP 從站的 S7-300 與 S7-400 (DP 主站)的連接,然而,該步驟同將S7-400 組態(tài)為 DP 從站一樣。
說明
下面步驟解釋如何將 S7-400 CPU 配置為 DP 從站連接到外部的 DP 主站或其他項(xiàng)目中 DP 的主站。
在S7-400 CPU項(xiàng)目中組態(tài)(DP 從站)
圖.1
3. 組態(tài)DP從站的輸入/輸出條目
圖. 2
4. 將 從站設(shè)置為DP主站和相同的波特率和總線行規(guī)。
注意
總線行規(guī)“DP”適用于大多數(shù)的 DP 總線配置。對(duì)某些總線布局,需要特殊的參數(shù)。在這些情況下,可以使用“標(biāo)準(zhǔn)”或“用戶自定義”總線行規(guī)。
圖. 3
5. 將配置下載到 S7-400 CPU
DP主站項(xiàng)目中組態(tài)Configuration in the project of the DP master
DP 主站 | DP S從站 | ||||
---|---|---|---|---|---|
類型 | 長(zhǎng)度 | 一致性 | 類型 | 長(zhǎng)度 | 一致性 |
輸出 | 7 words | Total length | 輸入 | 7 words | Total length |
輸出 | 10 words | Unit | 輸入 | 10 words | Unit |
輸入 | 2 words | Total length | 輸出 | 2 words | Total length |
輸入 | 4 words | Unit | 輸出 | 4 words | Unit |
表 1
1. S7通信簡(jiǎn)介
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網(wǎng)絡(luò)的一種優(yōu)化的通信協(xié)議,主要用于S7300/400PLC之間的通信。SIMATIC S7- PN CPU包含一個(gè)集成的 PROFINET 接口,該接口除了具有 PROFINET I/O功能,還可以進(jìn)行基于以太網(wǎng)的S7通信。SIMATIC S7- PN CPU支持無(wú)確認(rèn)數(shù)據(jù)交換、確認(rèn)數(shù)據(jù)交換和單邊訪問功能。功能塊的調(diào)用如圖1、圖2所示。
塊 S7-400 | 塊 S7-300 | 描述 | 簡(jiǎn)要描述 |
SFB 8 | FB 8 | 用于發(fā)送 | 無(wú)確認(rèn)的快速數(shù)據(jù)交換,發(fā)送數(shù)據(jù)后無(wú)對(duì)方接收確認(rèn)。 |
SFB 9 | FB 9 | 用于接收 | |
SFB 12 | FB 12 | 用于發(fā)送 | 確認(rèn)數(shù)據(jù)交換,發(fā)送數(shù)據(jù)后有對(duì)方接收確認(rèn)。 |
SFB 13 | FB 13 | 用于接收 | |
SFB 14 | FB 14 | 讀數(shù)據(jù) | 單邊編程讀訪問。 |
SFB 15 | FB 15 | 寫數(shù)據(jù) | 單邊編程寫訪問。 |
表1
圖1
圖2
要通過 S7-PN CPU 的 集成PROFINET 接口實(shí)現(xiàn)S7 通信,需要在硬件組態(tài)中建立連接。
2. 硬件及網(wǎng)絡(luò)組態(tài)
CPU采用兩個(gè)315-2PN/DP,使用以太網(wǎng)進(jìn)行通信。
在STEP7中創(chuàng)建一個(gè)新項(xiàng)目,項(xiàng)目名稱為PN S7。插入兩個(gè)S7-300站,在硬件組態(tài)中,分別插入CPU 315-2 PN/DP。如圖3所示。
圖3
新建以太網(wǎng),打開“NetPro”設(shè)置網(wǎng)絡(luò)參數(shù),選中CPU,在連接列表中建立新的連接。如圖4所示。
圖4
然后雙擊該連接,設(shè)置連接屬性。在“General”屬性中塊參數(shù)ID = 1,這個(gè)參數(shù)即是下面程序中的參數(shù)“ID”。在SIMATIC 315PN-1中激活“Establish an active connection”,作為Client端,SIMATIC 315PN-2作為Server 端。
3. 軟件編程
3.1. 無(wú)確認(rèn)數(shù)據(jù)交換
SFB/FB 8 "USEND" 向類型為“URCV”的遠(yuǎn)程伙伴SFB/FB發(fā)送數(shù)據(jù)。執(zhí)行發(fā)送過程而不需要和SFB/FB伙伴進(jìn)行協(xié)調(diào)。也就是說,在進(jìn)行數(shù)據(jù)傳送時(shí)不需要伙伴SFB/FB進(jìn)行確認(rèn)。
S7-300:在REQ的上升沿處發(fā)送數(shù)據(jù)。在REQ的每個(gè)上升沿處傳送參數(shù)R_ID、
ID和SD_1。在每個(gè)作業(yè)結(jié)束之后,可以給R_ID、ID和SD_1參數(shù)分配新數(shù)值。
S7-400:在控制輸入REQ的上升沿處發(fā)送數(shù)據(jù)。通過參數(shù)SD_1到SD_4來(lái)指向要
發(fā)送的數(shù)據(jù),但并非都需要用到所有四個(gè)發(fā)送參數(shù)。
然而,必須確保參數(shù)SD_1到SD_4/SD_1和RD_1到RD_4/RD_1 (在相應(yīng)通訊伙
伴SFB/FB "URCV" 上)所定義的區(qū)域在以下幾個(gè)方面保持一致:
? ®編號(hào)
? ®長(zhǎng)度
? ®數(shù)據(jù)類型
參數(shù)R_ID必須在兩個(gè)SFB中完全相同。如果傳送成功完成,則通過狀態(tài)參數(shù)DONE來(lái)表示,此時(shí)其邏輯數(shù)值為1。
SFB/FB 9 "URCV" 從類型為“USEND”的遠(yuǎn)程伙伴SFB/FB中異步接收數(shù)據(jù),并
把接收到的數(shù)據(jù)復(fù)制到組態(tài)的接收區(qū)域內(nèi)。
當(dāng)程序塊準(zhǔn)備好接收數(shù)據(jù)時(shí),EN_R輸入處的邏輯值為1??梢酝ㄟ^EN_R=0來(lái)取
消一個(gè)已激活的作業(yè)。
S7-300:在EN_R的每個(gè)上升沿處應(yīng)用參數(shù)R_ID、ID和RD_1。在每個(gè)作業(yè)結(jié)束
之后,可以給R_ID、ID和RD_1參數(shù)分配新數(shù)值。
S7-400:通過參數(shù)RD_1到RD_4來(lái)指向接收數(shù)據(jù)區(qū)。
必須確保參數(shù)RD_i/RD_1和SD_i/SD_1 (在相應(yīng)通訊伙伴SFB/FB "USEND"
上)所定義的區(qū)域在以下幾個(gè)方面保持一致:
?® 編號(hào)
? ®長(zhǎng)度
? ®數(shù)據(jù)類型。
通過NDR狀態(tài)參數(shù)邏輯數(shù)值為1來(lái)指示已經(jīng)成功完成復(fù)制處理過程。參數(shù)R_ID必須在兩個(gè)SFB/FB上完全相同。
打開SIMATIC 315PN-1的OB1,在OB1中依次調(diào)用FB8,F(xiàn)B9如圖5、圖6所示:
圖5
程序中的參數(shù)說明見表2
參數(shù) | 描述 | 數(shù)據(jù)類型 | 存儲(chǔ)區(qū) | 描述 |
REQ | INPUT | BOOL | I、Q、M、D、L | 上升沿觸發(fā)工作 |
ID | INPUT | WORD | M、D、常數(shù) | 連接ID |
R_ID | INPUT | DWORD | I、Q、M、D、L、常數(shù) | 連接號(hào),相同連接號(hào)的功能塊互相對(duì)應(yīng)發(fā)送/接收數(shù)據(jù) |
DONE | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),發(fā)送完成 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),有故障發(fā)生 |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 狀態(tài)代碼 |
S7-300: SD_1 S7-400: SD_i (1 ≤ i ≤ 4) | IN_OUT | ANY | M、D、T、Z I、Q、M、D、T、C | 發(fā)送數(shù)據(jù)區(qū) |
表2 FB8參數(shù)說明
圖6
程序中的參數(shù)說明見表3
參數(shù) | 參數(shù) | 數(shù)據(jù)類型 | 存儲(chǔ)區(qū) | 描述 |
EN_R | INPUT | BOOL | I、Q、M、D、L、常數(shù) | 為1時(shí),準(zhǔn)備接收 |
ID | INPUT | WORD | M、D、常數(shù) | 連接ID |
R_ID | INPUT | DWORD | I、Q、M、D、L、常數(shù) | 連接號(hào),相同連接號(hào)的功能塊互相對(duì)應(yīng)發(fā)送/接收數(shù)據(jù) |
NDR | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),接收完成 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),有故障發(fā)生 |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 狀態(tài)代碼 |
S7-300: RD_1 S7-400: RD_i (1 ≤ i ≤ 4) | IN_OUT | ANY | M、D、T、Z I、Q、M、D、T、Z | 接收數(shù)據(jù)區(qū) |
表3 FB9參數(shù)說明
同樣,在SIMATIC 315PN-2的OB1中,調(diào)用FB8/FB9。通信雙方的“R_ID”均設(shè)為0。將SIMATIC 315PN-1的MB100-MB109賦值B#16#02,在SIMATIC 315PN-2中,將FB9的“EN_R”置1,然后在SIMATIC 315PN-1中,將FB8中“REQ”設(shè)置上升沿信號(hào),此時(shí)SIMATIC 315PN-2的MB110-MB119接收到B#16#02。如圖7所示。
圖7
同理,將SIMATIC 315PN-2 的MB100-MB109賦值為B#16#03,SIMATIC 315PN-1的MB110-MB119接收到B#16#03。如圖8所示。
圖8
3.2. 確認(rèn)數(shù)據(jù)交換
SFB/FB 12 "BSEND" 向類型為“BRCV”的遠(yuǎn)程伙伴SFB/FB發(fā)送數(shù)據(jù)。通過這種
類型的數(shù)據(jù)傳送,更多的數(shù)據(jù)可以在通訊伙伴之間傳輸,超過任何其它用于組態(tài)的
S7連接的通訊SFB/FB所能傳輸?shù)臄?shù)據(jù)量,通過集成PN口的S7-400和S7-300是65534字節(jié)。
要發(fā)送的數(shù)據(jù)區(qū)是分段的。各個(gè)分段單獨(dú)發(fā)送給通訊伙伴。通訊伙伴在接收到最后
一個(gè)分段時(shí)對(duì)此分段進(jìn)行確認(rèn),該過程與相應(yīng)SFB/FB "BRCV" 的調(diào)用無(wú)關(guān)。在調(diào)用塊之后,當(dāng)在控制輸入REQ上有上升沿時(shí),發(fā)送作業(yè)被激活。發(fā)送用戶存儲(chǔ)區(qū)中的數(shù)據(jù)與處理用戶程序是異步執(zhí)行的。
由SD_1指定起始地址和要發(fā)送數(shù)據(jù)的最大長(zhǎng)度??梢酝ㄟ^LEN來(lái)確定數(shù)據(jù)域的作業(yè)指定長(zhǎng)度。在這種情況下,LEN替換SD_1的長(zhǎng)度區(qū)域。參數(shù)R_ID必須在相應(yīng)的兩個(gè)SFB/FB上完全相同。如果在控制輸入R處有上升沿,則當(dāng)前數(shù)據(jù)傳送將被取消。如果傳送成功完成,則通過將狀態(tài)參數(shù)DONE的數(shù)值設(shè)置為1來(lái)進(jìn)行指示。如果狀態(tài)參數(shù)DONE或ERROR的數(shù)值為1,則在前一個(gè)發(fā)送處理結(jié)束之前,不能處理新的發(fā)送作業(yè)。
SFB/FB 13 "BRCV" 接收來(lái)自類型為“BSEND”的遠(yuǎn)程伙伴SFB/FB的數(shù)據(jù)。在收
到每個(gè)數(shù)據(jù)段后,向伙伴SFB/FB發(fā)送一個(gè)確認(rèn)幀,同時(shí)更新LEN參數(shù)。在塊調(diào)用完畢,并且在控制輸入EN_R數(shù)值為1之后,塊準(zhǔn)備接收數(shù)據(jù)??梢酝ㄟ^EN_R=0來(lái)取消一個(gè)已激活的作業(yè)。
由RD_1指定起始地址和接收區(qū)的最大長(zhǎng)度。由LEN指示已接收數(shù)據(jù)域的長(zhǎng)度。
從用戶存儲(chǔ)區(qū)中接收數(shù)據(jù)與處理用戶程序是異步執(zhí)行的。參數(shù)R_ID必須在相應(yīng)的兩個(gè)SFB/FB上完全相同。通過狀態(tài)參數(shù)NDR的數(shù)值為1來(lái)指示所有數(shù)據(jù)段的無(wú)錯(cuò)接收。接收到的數(shù)據(jù)保持不變,直到通過EN_R=1來(lái)重新調(diào)用SFB/FB 13為止。如果在數(shù)據(jù)的異步接收期間調(diào)用塊,則將引發(fā)一個(gè)警告,該警告通過STATUS參數(shù)輸出;如果當(dāng)控制輸入EN_R數(shù)值為0時(shí)進(jìn)行調(diào)用,則接收將被終止,并且SFB/FB將返回到它的初始狀態(tài)。
打開SIMATIC 315PN-1的OB1,在OB1中依次調(diào)用FB12,F(xiàn)B13如圖9、圖10所示:
圖9
程序中的參數(shù)說明見表4
參數(shù) | 描述 | 數(shù)據(jù)類型 | 存儲(chǔ)區(qū) | 描述 |
REQ | INPUT | BOOL | I、Q、M、D、L | 上升沿觸發(fā)工作 |
R | INPUT | BOOL | I、Q、M、D、L、常數(shù) | 復(fù)位,終止數(shù)據(jù)交換 |
ID | INPUT | WORD | M、D、常數(shù) | 連接ID |
R_ID | INPUT | DWORD | I、Q、M、D、L、常數(shù) | 連接號(hào),相同連接號(hào)的功能塊互相對(duì)應(yīng)發(fā)送/接收數(shù)據(jù) |
DONE | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),發(fā)送完成 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),有故障發(fā)生 |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 狀態(tài)代碼 |
SD_1 | IN_OUT | ANY | S7-300:M、DS7-400:I、Q、M、D、T、Z | 發(fā)送數(shù)據(jù)區(qū) |
LEN | IN_OUT | WORD | I、Q、M、D、L | 發(fā)送數(shù)據(jù)的長(zhǎng)度 |
表4 FB12參數(shù)說明
圖10
程序中的參數(shù)說明見表5
參數(shù) | 描述 | 數(shù)據(jù)類型 | 存儲(chǔ)區(qū) | 描述 |
EN_R | INPUT | BOOL | I、Q、M、D、L、常數(shù) | 為1時(shí),準(zhǔn)備接收 |
ID | INPUT | WORD | M、D、常數(shù) | 連接ID |
R_ID | INPUT | DWORD | I、Q、M、D、L、常數(shù) | 連接號(hào),相同連接號(hào)的功能塊互相對(duì)應(yīng)發(fā)送/接收數(shù)據(jù) |
NDR | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),接收完成 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),有故障發(fā)生 |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 狀態(tài)代碼 |
RD_1 | IN_OUT | ANY | S7-300:M、DS7-400:I、 Q、M、D、T、C | 接收數(shù)據(jù)區(qū) |
LEN | IN_OUT | WORD | I、Q、M、D、L | 接收到的數(shù)據(jù)長(zhǎng)度 |
表5 FB13參數(shù)說明
同樣,在SIMATIC 315PN-2的OB1中,調(diào)用FB12/FB13。通信雙方的R_ID設(shè)為0,LEN設(shè)為10,將SIMATIC 315PN-1的MB120-MB129賦值B#16#04,在SIMATIC 315PN-2中,將FB13的“EN_R”置1,然后在SIMATIC 315PN-1中,將FB12中“REQ”設(shè)置上升沿信號(hào),此時(shí)SIMATIC 315PN-2的MB130-MB139接收到B#16#04。如圖11所示。
圖11
同理,將SIMATIC 315PN-2 的MB120-MB129賦值為B#16#05,SIMATIC 315PN-1的MB130-MB139接收到B#16#05。如圖12所示。
圖12
3.3. 單邊訪問
可以通過SFB/FB 14 "GET",從遠(yuǎn)程CPU中讀取數(shù)據(jù)。
S7-300:在REQ的上升沿處讀取數(shù)據(jù)。在REQ的每個(gè)上升沿處傳送參數(shù)ID、ADDR_1和RD_1。在每個(gè)作業(yè)結(jié)束之后,可以分配新數(shù)值給ID、ADDR_1和RD_1參數(shù)。
S7-400:在控制輸入REQ的上升沿處啟動(dòng)SFB。在此過程中,將要讀取的區(qū)域的相關(guān)指針(ADDR_i)發(fā)送到伙伴CPU。遠(yuǎn)程伙伴返回此數(shù)據(jù)。在下一個(gè)SFB/FB調(diào)用處,已接收的數(shù)據(jù)被復(fù)制到組態(tài)的接收區(qū)(RD_i)中。必須要確保通過參數(shù)ADDR_i和RD_i定義的區(qū)域在長(zhǎng)度和數(shù)據(jù)類型方面要相互匹配。
通過狀態(tài)參數(shù)NDR數(shù)值為1來(lái)指示此作業(yè)已完成。只有在前一個(gè)作業(yè)已經(jīng)完成之后,才能重新激活讀作業(yè)。遠(yuǎn)程CPU可以處于RUN或STOP工作狀態(tài)。如果正在讀取數(shù)據(jù)時(shí)發(fā)生訪問故障,或如果數(shù)據(jù)類型檢查過程中出錯(cuò),則出錯(cuò)和警告信息將通過ERROR和STATUS輸出表示。
通過使用SFB/FB 15 "PUT",可以將數(shù)據(jù)寫入到遠(yuǎn)程CPU。
S7-300:在REQ的上升沿處發(fā)送數(shù)據(jù)。在REQ的每個(gè)上升沿處傳送參數(shù)ID、ADDR_1和SD_1。在每個(gè)作業(yè)結(jié)束之后,可以給ID、ADDR_1和SD_1參數(shù)分配新數(shù)值。
S7-400:在控制輸入REQ的上升沿處啟動(dòng)SFB。在此過程中,將指向要寫入數(shù)據(jù)的區(qū)域(ADDR_i)的指針和數(shù)據(jù)(SD_i)發(fā)送到伙伴CPU。 遠(yuǎn)程伙伴將所需要的數(shù)據(jù)保存在隨數(shù)據(jù)一起提供的地址下面,并返回一個(gè)執(zhí)行確認(rèn)。必須要確保通過參數(shù)ADDR_i和SD_i定義的區(qū)域在編號(hào)、長(zhǎng)度和數(shù)據(jù)類型方面相互匹配。
如果沒有產(chǎn)生任何錯(cuò)誤,則在下一個(gè)SFB/FB調(diào)用時(shí),通過狀態(tài)參數(shù)DONE來(lái)指示,其數(shù)值為1。只有在最后一個(gè)作業(yè)完成之后,才能再次激活寫作業(yè)。遠(yuǎn)程CPU可以處于RUN或STOP模式。如果正在寫入數(shù)據(jù)時(shí)發(fā)生訪問故障,或如果執(zhí)行檢查過程中出錯(cuò),則出錯(cuò)和警告信息將通過ERROR和STATUS輸出表示。
打開SIMATIC 315PN-1的OB1,在OB1中依次調(diào)用FB14,F(xiàn)B15如圖13、圖14所示:
圖13
參數(shù) | 描述 | 數(shù)據(jù)類型 | 存儲(chǔ)區(qū) | 描述 |
REQ | INPUT | BOOL | I、Q、M、D、L | 上升沿觸發(fā)調(diào)用功能塊 |
ID | INPUT | WORD | M、D、常數(shù) | 地址參數(shù)ID |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 接收到新數(shù)據(jù) |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 故障代碼 |
S7-300: ADDR_1 S7-400: ADDR_i (1 ≤ i ≤ 4) | IN_OUT | ANY | M、D I、Q、M、D、 T、C | 從通信對(duì)方的數(shù)據(jù)地址中讀取數(shù)據(jù) |
S7-300: RD_1 S7-400: RD_i (1 ≤ i ≤ 4) | IN_OUT | ANY | S7-300:M、D S7-400 I、Q、 M、D、T、C | 本站接收數(shù)據(jù)地址 |
表6 FB14參數(shù)說明
圖14
參數(shù) | 描述 | 數(shù)據(jù)類型 | 存儲(chǔ)區(qū) | 描述 |
REQ | INPUT | BOOL | I、Q、M、D、L | 上升沿觸發(fā)調(diào)用功能塊 |
ID | INPUT | WORD | M、D、常數(shù) | 地址參數(shù) |
DONE | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),發(fā)送完成 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),有故障發(fā)生 |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 故障代碼 |
S7-300: ADDR_1 S7-400: ADDR_i (1 ≤ i ≤ 4) | IN_OUT | ANY | M、D I、Q、M、D、 T、C | 通信對(duì)方的數(shù)據(jù)接收地址 |
S7-300: SD_1 S7-400: SD_i (1 ≤ i ≤ 4) | IN_OUT | ANY | S7-300:M、D S7-400 I、Q、 M、D、T、C | 本站發(fā)送數(shù)據(jù)地址 |
表7 FB15參數(shù)說明
同樣,在SIMATIC 315PN-2的OB1中,調(diào)用FB14/FB15。將SIMATIC 315PN-2的MB140-MB149賦值B#16#06,在SIMATIC 315PN-1中,將FB14的“REQ”置上升沿信號(hào),此時(shí)SIMATIC 315PN-1的MB150-MB159接收到B#16#06。如圖15所示。
圖15
將SIMATIC 315PN-1的MB140-MB149賦值B#16#08,在SIMATIC 315PN-2中,將FB14的“REQ”置上升沿信號(hào),此時(shí)SIMATIC 315PN-2的MB150-MB159接收到B#16#08。如圖16所示。
圖16
將SIMATIC 315PN-1的MB170-MB179賦值B#16#07,將FB15的“REQ”置上升沿信號(hào),此時(shí)SIMATIC 315PN-2的MB160-MB169接收到B#16#07。如圖17所示。
圖17
將SIMATIC 315PN-2的MB170-MB179賦值B#16#11,將FB15的“REQ”置上升沿信號(hào),此時(shí)SIMATIC 315PN-1的MB160-MB169接收到B#16#11。如圖18所示。
圖18
4. 常見問題
? ®兩個(gè)S7-300PN CPU之間建立S7連接可有哪些通信方式?
答:可以有確認(rèn)連接、非確認(rèn)連接、單邊通信
? ®使用FB8/9時(shí),數(shù)據(jù)已發(fā)送,程序塊沒有錯(cuò)誤顯示,但是沒收到任何數(shù)據(jù)?
答:發(fā)送區(qū)與接收緩沖區(qū)長(zhǎng)度不一致。
? ®使用FB12/13時(shí),發(fā)送區(qū)與接收緩沖區(qū)長(zhǎng)度是否必須一致?
答:發(fā)送區(qū)的大小只要不超過接收緩沖區(qū)就可以。
? ®FB12發(fā)送數(shù)據(jù)時(shí),發(fā)送數(shù)據(jù)的長(zhǎng)度由哪個(gè)參數(shù)決定?
答:發(fā)送長(zhǎng)度由LEN決定。但發(fā)送數(shù)據(jù)的起始地址和最大長(zhǎng)度由SD_1決定
I)在安裝有WINCC的計(jì)算機(jī)上安裝CP5612通訊板卡。
II) 使用STEP7編程軟件能夠通過MPI正常連接PLC。
STEP7設(shè)置MPI通訊。新建一個(gè)MPI網(wǎng)絡(luò)用來(lái)通訊,設(shè)置MPI網(wǎng)絡(luò)的地址和波特率,其在隨后的設(shè)置中需要匹配。重點(diǎn)步驟參考圖3-1:
其中,Interface中的參數(shù)Networked(已連網(wǎng))必須設(shè)置為Yes。
圖3-1
如果 STEP 7 版本的硬件目錄中沒有 CP 5612,則可選擇 CP 5611 A2 或 CP 5611進(jìn)行組態(tài)。CP 5612 向下兼容之前版本的組態(tài)。
進(jìn)入操作系統(tǒng)下的控制面板,雙擊Set PG/PC Interface圖標(biāo)。
在Access Point of the Application:的下拉列表中選擇S7ONLINE ( STEP7 );然后在Interface Parameter Assignment :的列表中,選擇CP5611.MPI.1;確認(rèn)后在Access Point of the Application:的下拉列表中顯示:
S7ONLINE ( STEP7 ) à CP5611.MPI.1,如圖3-2所示:
圖3-2
設(shè)置CP卡的通訊參數(shù),點(diǎn)擊Properties…按鈕,彈出Properties-屬性對(duì)話框,設(shè)置參數(shù)。
重要的參數(shù)如圖3-3所示:
Address:
CP卡的地址(MPI地址必須唯一,建議設(shè)置為0)
Transmission Rate:
MPI網(wǎng)絡(luò)的傳輸速率(默認(rèn)為187.5Kbps)必須修改和實(shí)際連接PLC的MPI端口的傳輸速率相同;
Highest Station Address:
MPI網(wǎng)絡(luò)的最高站地址(必須和PLC的MPI網(wǎng)絡(luò)參數(shù)設(shè)置相同)
圖3-3
診斷MPI網(wǎng)絡(luò),點(diǎn)擊Diagnostic…按鈕,進(jìn)入診斷對(duì)話框。如下圖所示:點(diǎn)擊Test按鈕后,顯示OK表示CP卡工作正常。點(diǎn)擊Read按鈕后,將顯示所有接入MPI網(wǎng)絡(luò)中的設(shè)備的站地址。如果只能讀到CP卡自己的站地址,此時(shí),需要檢查MPI網(wǎng)絡(luò)和硬件連接設(shè)置,只有成功讀取到CPU的站點(diǎn)地址,才能進(jìn)行以下的步驟,否則不可能建立WinCC通訊。
打開WINCC工程在Tag Management-->SIMATIC S7 PROTOCOL SUITE->MPI
右鍵單擊MPI,在彈出菜單中點(diǎn)擊“系統(tǒng)參數(shù)”,如圖3-5所示:
圖3-5
彈出System Parameter-MPI對(duì)話框,選擇Unit標(biāo)簽,
設(shè)置Logic device name(邏輯設(shè)備名稱):S7ONLINE,如圖3-6所示。
圖3-6
添加驅(qū)動(dòng)連接,設(shè)置參數(shù)。打開WINCC工程在Tag Management-->SIMATIC S7 PROTOCOL SUITE->MPI,右鍵單擊MPI,在下拉菜單中,點(diǎn)擊“新建連接”,如圖3-7所示:
在握手圖標(biāo)后面輸入連接的名稱。
圖3-7
在連接名稱上右鍵點(diǎn)擊“連接參數(shù)”,如圖3-8所示:
圖3-8
彈出Connection Parameter-MPI屬性對(duì)話框。
圖3-9
重要的參數(shù)如下所示:
Station Address:MPI端口地址,必須與圖3-1中地址相同;
Rack Number:CPU所處機(jī)架號(hào),除特殊復(fù)雜使用的情況下,一般填入0;
Slot Number:CPU所處的槽號(hào);
注意:
如果使用S7-300的PLC,則Slot Number的參數(shù)為2;
如果是S7-400的PLC,則要根據(jù)STEP7項(xiàng)目中的Hardware軟件查看CPU插在第幾號(hào)槽內(nèi),不能根據(jù)經(jīng)驗(yàn)和物理安裝位置來(lái)隨便填寫,可能的參數(shù)為2、3、4(主要是依據(jù)電源的大小來(lái)決定)否則通訊不能建立。
最后點(diǎn)擊確認(rèn),則通訊參數(shù)的設(shè)置已完成。