產(chǎn)品詳情
湖南 西門(mén)子 6ES7392-1BJ00-0AA0 銷(xiāo)售中心
S7-300 集成PN口作客戶端與S7-300/400/1200/1500的 S7 單邊通信(STEP7)
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 連接
- 通信伙伴不允許停機(jī)
- 不希望在通訊伙伴側(cè)增加通信組態(tài)和程序
本文檔簡(jiǎn)要介紹在STEP7 V5.5環(huán)境下,S7-300 集成PN口的CPU基于工業(yè)以太網(wǎng)的S7單邊通信的組態(tài)步驟,用于實(shí)現(xiàn)與S7-300/400/1200/1500 CPU之間的S7 通信。
1、硬件與軟件條件
設(shè)備 | 數(shù)量 | 訂貨號(hào) | 注釋 |
CPU 315-2 PN/DP | 2 | 6ES7317-2EH14-0AB0 | V3.2 |
表 1主要硬件列表
設(shè)備 | 數(shù)量 | 訂貨號(hào) | 注釋 |
STEP 7 Professional V5.5 | 1 | 6ES7511-1AK00-0AB0 | V1.8 |
CPU 1212C | 1 | 6ES7212-1AE40-0XB0 | V4.2 |
表 2軟件環(huán)境
2、組態(tài)配置
2.1 通過(guò)如下的步驟配置編程電腦的IP地址:
選擇電腦的“ 控制面板 > 網(wǎng)絡(luò)和共享 > 本地連接>屬性”打開(kāi) Internet Protocol Version 4(TCP/IPv4),設(shè)置PC的 IP 地址,本例中為192.168.0.131。
圖1.設(shè)置PC地址
2.2 在STEP7 中組態(tài)315-2PN/DP CPU,雙擊X2卡槽,再點(diǎn)擊屬性按鈕以設(shè)置IP地址。(具體步驟請(qǐng)參見(jiàn)文檔:CPU硬件組態(tài)入門(mén))
圖2.S7-300硬件組態(tài)
圖3.PN-IO屬性
2.3 設(shè)置好IP地址后(本例中為192.168.0.1),點(diǎn)擊New按鈕添加一條子網(wǎng)Ethernet(1),如果已經(jīng)存在子網(wǎng),也可選中該子網(wǎng)直接點(diǎn)OK按鈕即可。
圖4.添加IP地址和子網(wǎng)
2.4 點(diǎn)擊快捷菜單中的Configure Network按鈕進(jìn)入Netpro視圖。
圖5.點(diǎn)擊Configure Network按鈕
2.5 在Netpro視圖的CPU上點(diǎn)右鍵選擇Insert New Connection添加新連接。
圖6.添加新連接
2.6 通訊伙伴選擇非指定(Unspecified),通訊類(lèi)型選擇S7 connection。
圖7.選擇通信伙伴和通信類(lèi)型
2.7 點(diǎn)擊OK后在彈出的屬性窗口中勾選單端組態(tài)(Establish an active connection),并填寫(xiě)通信伙伴的IP地址,注意Local ID編號(hào),本例保持默認(rèn)值1。點(diǎn)擊詳細(xì)按鈕。
圖8.S7連接屬性
2.8 在地址詳細(xì)信息對(duì)話框中填寫(xiě)通信伙伴CPU的機(jī)架號(hào)和槽號(hào),如通信伙伴是S7-300/400 CPU則槽號(hào)為2,如通信伙伴是S7-1200/1500 CPU則槽號(hào)為1。點(diǎn)擊OK。
圖9.S7地址詳細(xì)
2.9 選中CPU,先編譯再下載
圖10.編譯下載
注:如不熟悉下載方法,可參考如下鏈接:
http://www.ad.siemens.com.cn/productportal/Prods/published\Soft\Soft_3.5\Soft_3.5.html
2.10 下載完成后,可點(diǎn)擊“激活連接狀態(tài)”按鈕,查看連接狀態(tài),如下圖所示,則表示組態(tài)的連接已經(jīng)成功建立。
圖11.連接已建立
2.11 如果出現(xiàn)如下圖所示的情況,則說(shuō)明連接沒(méi)有建立,請(qǐng)檢查網(wǎng)線的連接、IP地址等。
圖12.連接未建立
3、編寫(xiě)PLC程序,調(diào)用通訊塊
3.1 組態(tài)連接建立成功后,需要調(diào)用通訊功能塊PUT和GET進(jìn)行數(shù)據(jù)交換。S7-300用于通訊連接的功能塊位于標(biāo)準(zhǔn)庫(kù)中,如下圖所示:
圖13.PUT GET指令位置
3.2調(diào)用PUT指令,本例中本地S7-300 CPU將DB10.DBB0開(kāi)始的10個(gè)字節(jié)寫(xiě)入通信伙伴CPU 的DB11.DBB0開(kāi)始的10個(gè)字節(jié)中。
圖14.PUT指令
參數(shù) | 說(shuō)明 |
REQ | 上升沿觸發(fā),一次上升沿發(fā)送一次數(shù)據(jù) |
ID | 連接ID(參看圖8) |
ADDR_1 | 指向伙伴CPU接收地址區(qū)域 |
SD_1 | 指向本地CPU發(fā)送地址區(qū)域 |
DONE | 發(fā)送完成(上升沿) |
ERROR | 有故障發(fā)生(上升沿) |
STATUS | 故障代碼 |
表 3 PUT管腳說(shuō)明
3.3調(diào)用GET指令,本例中將通信伙伴CPU的DB20.DBB0開(kāi)始的10個(gè)字節(jié)讀入到本地S7-300 CPU的DB21.DBB0開(kāi)始的10個(gè)字節(jié)中。
圖15.GET指令
參數(shù) | 說(shuō)明 |
REQ | 上升沿觸發(fā),一次上升沿讀取一次數(shù)據(jù) |
ID | 連接ID(參看圖8 |
ADDR_1 | 指向伙伴CPU發(fā)送地址區(qū)域 |
RD_1 | 指向本地CPU接收地址區(qū)域 |
DONE | 接收完成(上升沿) |
ERROR | 有故障發(fā)生(上升沿) |
STATUS | 故障代碼 |
表 4 GET管腳說(shuō)明
3.4 S7-300 CPU做S7通訊的客戶端時(shí),伙伴CPU無(wú)需組態(tài)編程,準(zhǔn)備好相應(yīng)的數(shù)據(jù)區(qū)即可,如本例中的DB10和DB20。如果伙伴方是S7-1200(固件版本V4.0以上)或是S7-1500 CPU,需要在CPU屬性的連接機(jī)制中勾選"允許來(lái)自遠(yuǎn)程對(duì)象的PUT/GET通信訪問(wèn)",如下圖所示:
S7-300/400與S7-200SMART之間的以太網(wǎng)S7通信
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網(wǎng)絡(luò)的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
經(jīng)過(guò)測(cè)試發(fā)現(xiàn)S7-300/400通過(guò)集成的PN口或CP343-1/CP443-1與S7-200 SMART PLC 之間的S7通信也是可以成功的, 但是需要S7-300/400側(cè)編程調(diào)用PUT/GET指令。
注意:
1.S7-200 SMART CPU 與S7-300/400 CPU 之間的S7通信未經(jīng)西門(mén)子官方測(cè)試,本文檔僅供客戶測(cè)試使用,使用該種通信方式所產(chǎn)生的任何危險(xiǎn)需要有客戶自己承擔(dān)!
2.S7-200 SMARTPLC V2.0 版本才開(kāi)始支持PUT/GET通信,V1.0版本的CPU需要升級(jí)固件后方可支持PUT/GET。
3. S7-300/400若采用CP通信時(shí),則需要采用Standard或Advanced類(lèi)型通信模塊,CP343-1 Lean模塊不支持。
4.本文僅介紹S7-300集成PN口與S7-200 SMART CPU S7通信。
S7通信介紹
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網(wǎng)絡(luò)的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
S7-300/400通過(guò)以太網(wǎng)接口與S7-200 SMART PLC 之間的S7通訊經(jīng)過(guò)測(cè)試是可以成功的,但是需要S7-300/400側(cè)編程調(diào)用PUT/GET指令,見(jiàn)表1所示。
表 1 PUT和GET :
S7-400 | S7-300 | 描述 | 簡(jiǎn)要描述 |
SFB 14 | FB 14 | 讀數(shù)據(jù) | 單邊編程讀訪問(wèn)。 |
SFB 15 | FB 15 | 寫(xiě)數(shù)據(jù) | 單邊編程寫(xiě)訪問(wèn)。 |
S7-300/400根據(jù)使用通信接口(集成的PN口或CP343-1/CP443-1)不同,調(diào)用的功能塊來(lái)源也不同。
通信接口為S7-300 集成PN接口時(shí),需要使用Standard Library中PUT/GET指令,如圖1所示。
圖1 S7-300PN接口需采用Standard Library
通信接口為S7-300 CP通信模塊時(shí),需要使用SIMATIC_NET_CP 庫(kù)中PUT/GET指令,如圖2所示。
圖2 S7-300 CP模塊接口需采用SIMATIC_NET_CP庫(kù)
S7-400 CPU不區(qū)分通信接口,需要使用System Function Blocks 中的SFB14/SFB15指令塊,如圖3所示。
圖3 S7-400 需采用SFB程序塊
硬件及網(wǎng)絡(luò)組態(tài)
本文以采用1個(gè)315-2PN/DP,1個(gè)S7-200 SMART PLC為例,介紹它們之間的S7通信。
在STEP7中創(chuàng)建一個(gè)新項(xiàng)目,項(xiàng)目名稱為S7-300-SMART。插入1個(gè)S7-300站,在硬件組態(tài)中插入CPU 315-2 PN/DP。如圖4所示。
圖4 STEP7 項(xiàng)目中插入S7-300站點(diǎn)
設(shè)置CPU 315-2PN/DP的IP地址:192.168.0.1,如圖5所示。硬件組態(tài)完成后,即可下載該組態(tài)。
圖5 設(shè)置CPU PN IP地址
打開(kāi)“NetPro”設(shè)置網(wǎng)絡(luò)參數(shù),選中CPU 315-2PN/DP,在連接列表中建立新的連接。步驟如圖6所示。
圖6 NetPro組態(tài)視圖中插入新連接
選擇 Unspecified 站點(diǎn),選擇通訊協(xié)議 S7 connection,點(diǎn)擊 Apply,如圖7所示。
圖7 組態(tài)新連接
在彈出的S7 connection屬性對(duì)話框中,勾選 Establish an active connection,設(shè)置Partner address:192.168.0.2(S7-200 SMART PLC IP 地址),如圖8所示。
圖8 設(shè)置S7連接參數(shù)
點(diǎn)擊 "Address Details" ,再?gòu)棾鰜?lái)的對(duì)話框設(shè)置 Partner 的 Slot 為1,如圖9所示。點(diǎn)擊 OK即可關(guān)閉該對(duì)話框。
圖9 設(shè)置“address details”參數(shù)
網(wǎng)絡(luò)組態(tài)創(chuàng)建完成后,需要編譯,如圖10所示。
圖10 保存并編譯連接
網(wǎng)絡(luò)組態(tài)編譯無(wú)錯(cuò),鼠標(biāo)先點(diǎn)擊 CPU 315-2PN/DP ,然后點(diǎn)擊下載按鈕下載網(wǎng)絡(luò)組態(tài),步驟如圖11所示。
圖 11 下載組態(tài)連接
程序編程
可以通過(guò)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。在此過(guò)程中,將要讀取的區(qū)域的相關(guān)指針(ADDR_i)發(fā)送到伙伴CPU。遠(yuǎn)程伙伴返回此數(shù)據(jù)。在 下一個(gè)SFB/FB調(diào)用處,已接收的數(shù)據(jù)被復(fù)制到組態(tài)的接收區(qū)(RD_i)中。必須要確保通過(guò)參數(shù)ADDR_i和RD_i定義的區(qū)域在長(zhǎng)度和數(shù)據(jù)類(lèi)型方面 要相互匹配。
通過(guò)狀態(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ā)生訪問(wèn)故障,或如果數(shù)據(jù)類(lèi)型檢查過(guò)程中出錯(cuò),則出錯(cuò)和警告信息將通過(guò)ERROR和STATUS輸出表示。
通過(guò)使用SFB/FB 15 "PUT",可以將數(shù)據(jù)寫(xiě)入到遠(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。在此過(guò)程中,將指向要寫(xiě)入數(shù)據(jù)的區(qū)域(ADDR_i)的指針和數(shù)據(jù)(SD_i)發(fā)送到伙伴CPU。 遠(yuǎn)程伙伴將所需要的數(shù)據(jù)保存在隨數(shù)據(jù)一起提供的地址下面,并返回一個(gè)執(zhí)行確認(rèn)。必須要確保通過(guò)參數(shù)ADDR_i和SD_i定義的區(qū)域在編號(hào)、長(zhǎng)度和數(shù)據(jù)類(lèi) 型方面相互匹配。
如果沒(méi)有產(chǎn)生任何錯(cuò)誤,則在下一個(gè)SFB/FB調(diào)用時(shí),通過(guò)狀態(tài)參數(shù)DONE來(lái)指示,其數(shù)值為1。只有在最后一個(gè)作業(yè)完成之后,才能再次激活寫(xiě)作業(yè)。遠(yuǎn)程 CPU可以處于RUN或STOP模式。如果正在寫(xiě)入數(shù)據(jù)時(shí)發(fā)生訪問(wèn)故障,或如果執(zhí)行檢查過(guò)程中出錯(cuò),則出錯(cuò)和警告信息將通過(guò)ERROR和STATUS輸出 表示。
打開(kāi)SIMATIC 315 PN-1的OB1,在OB1中依次調(diào)用FB14,F(xiàn)B15如圖12、圖13所示:
圖12 FB14調(diào)用
表2.FB14參數(shù)說(shuō)明 :
參數(shù) |
描述 |
數(shù)據(jù)類(lèi)型 |
存儲(chǔ)區(qū) |
描述 |
REQ |
INPUT |
BOOL |
I、Q、M、D、L |
上升沿觸發(fā)調(diào)用功能塊 |
ID |
INPUT |
WORD |
M、D、常數(shù) |
地址參數(shù)ID |
NDR |
OUTPUT |
BOOL |
I、Q、M、D、L |
為1時(shí),接收數(shù)據(jù)成功 |
ERROR |
OUTPUT |
BOOL |
I、Q、M、D、L |
接收到新數(shù)據(jù) |
STATUS |
OUTPUT |
WORD |
I、Q、M、D、L |
故障代碼 |
S7-300: |
IN_OUT |
ANY |
M、D
I、Q、M、D、 |
從S7-200 SMART的數(shù)據(jù)地址中讀取數(shù)據(jù);V區(qū)數(shù)據(jù)對(duì)應(yīng)DB1。 |
S7-300: |
IN_OUT |
ANY |
S7-300:M、D |
本站接收數(shù)據(jù)地址 |
圖13 FB15調(diào)用
表3.FB15參數(shù)說(shuō)明 :
參數(shù) |
描述 |
數(shù)據(jù)類(lèi)型 |
存儲(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: |
IN_OUT |
ANY |
M、D
I、Q、M、D、 |
從S7-200 SMART的數(shù)據(jù)地址中讀取數(shù)據(jù);V區(qū)數(shù)據(jù)對(duì)應(yīng)DB1。 |
S7-300: |
IN_OUT |
ANY |
S7-300:M、D
S7-400 I、Q、 |
本站發(fā)送數(shù)據(jù)地址 |
注意:
S7-200 SMART PLC 不需要編程。 S7-200 SMART 中的V存儲(chǔ)區(qū)在S7-300/400 PLC 編程中以DB1數(shù)據(jù)塊的形式體現(xiàn)。
S7-300和S7-200的以太網(wǎng)S7通信(Step7)
S7-300與S7-200通信,300既可以做客戶端,也可以做服務(wù)器。
當(dāng)S7-300作服務(wù)器,S7-200作客戶端時(shí),在200側(cè)編程,300無(wú)需組態(tài)編程。
當(dāng)S7-300作客戶端,S7-200作服務(wù)器時(shí),在300側(cè)組態(tài)編程,200側(cè)也需要向?qū)гO(shè)置。
客戶端與服務(wù)器定義請(qǐng)參看:服務(wù)器Server和客戶端Client有什么區(qū)別?
S7-200 PLC本體沒(méi)有以太網(wǎng)口,需要通過(guò)以太網(wǎng)模塊CP243-1來(lái)擴(kuò)展以太網(wǎng)通信,且一個(gè)S7-200PLC只能擴(kuò)展一個(gè)CP243-1。
CP243-1最多8個(gè)以太網(wǎng)S7控制器通信,每個(gè)連接既可以是服務(wù)器連接也可以是客戶機(jī)連接。
一個(gè)客戶端(Client)可以包含1-32個(gè)數(shù)據(jù)傳輸操作,一個(gè)讀寫(xiě)操作最多可以傳輸212個(gè)字節(jié)。如果CP243-1作為服務(wù)器運(yùn)行,每個(gè)讀操作可以傳送222個(gè)字節(jié)。
S7-300做服務(wù)器,S7-200作為客戶端
S7-200以太網(wǎng)向?qū)渲?/strong>
可以把S7-200的以太網(wǎng)模塊CP243-1配置為CLIENT,使用STEP 7 Micro/WIN中的向?qū)нM(jìn)行通信的配置即可。在命令菜單中選擇工具--以太網(wǎng)向?qū)А?
圖1 打開(kāi)以太網(wǎng)向?qū)?span>
第一步是對(duì)以太網(wǎng)通信的描述,點(diǎn)擊下一步開(kāi)始以太網(wǎng)配置。
圖2 向?qū)Ы榻B
在此處選擇模塊的位置,CPU后的第一個(gè)模塊位置為0,往后依次類(lèi)推;或者在線的情況下,點(diǎn)擊讀取模塊搜尋CP243-1模塊(在線讀取將該模塊的命令字節(jié)載入模塊命令字節(jié)向?qū)聊唬?。點(diǎn)擊下一步;
圖3 讀取模塊
選擇模塊相匹配的MLFB版本,本例中的CP243-1模塊型號(hào)為6GK7243-1EX01-0XE0,如下圖所示:
圖4 模塊版本選擇
在此處填寫(xiě)IP地址和子網(wǎng)掩碼。點(diǎn)擊下一步;
圖5 地址設(shè)置
下面的對(duì)話框?qū)⒔M態(tài)CP243-1進(jìn)行S7連接的連接數(shù)量的設(shè)置,通過(guò)S7連接可以與通信伙伴進(jìn)行讀寫(xiě)數(shù)據(jù)操作。點(diǎn)擊“下一步”按鈕繼續(xù)進(jìn)行S7連接組態(tài)。
圖6 模塊占用地址設(shè)置
選擇此為客戶機(jī)連接,遠(yuǎn)程屬性TSAP (Transport Service Access Point)填寫(xiě)為03.02,輸入S7-300側(cè)的IP地址。點(diǎn)擊數(shù)據(jù)傳輸按鈕進(jìn)入數(shù)據(jù)交換的定義。
注意:如果連接遠(yuǎn)程對(duì)象是 S7-300,TSAP為03.02;如果連接遠(yuǎn)程對(duì)象是 S7-400,TSAP為03.0x,其中x為CPU模塊的槽位,可以從S7-400 站的硬件組態(tài)中找出PLC的槽號(hào)。
圖7 連接設(shè)置
選擇"數(shù)據(jù)傳輸"標(biāo)記,并單擊"新傳輸"按鈕,進(jìn)行配置:選擇是讀取數(shù)據(jù)還是寫(xiě)入數(shù)據(jù),填寫(xiě)通訊數(shù)據(jù)的字節(jié)個(gè)數(shù),填寫(xiě)發(fā)送數(shù)據(jù)區(qū)和接收數(shù)據(jù)區(qū)的起始地址。
本例中為從S7-300的MB200開(kāi)始讀取8個(gè)字節(jié)到VB1000開(kāi)始的8個(gè)字節(jié)的區(qū)域中;從S7-200的VB2000開(kāi)始的8個(gè)字節(jié)寫(xiě)到S7-300的QB0開(kāi)始的8個(gè)字節(jié)的區(qū)域中,點(diǎn)擊確認(rèn)按鈕:
注意: 本地PLC中的地址必須是V內(nèi)存字節(jié)地址,遠(yuǎn)程對(duì)象中的地址必須代表字節(jié)地址。當(dāng)您為S7-300/ S7-400設(shè)備輸入遠(yuǎn)程地址時(shí),若是數(shù)據(jù)塊請(qǐng)使用DBx.DBBy格式。
圖8 數(shù)據(jù)區(qū)域設(shè)置
選擇CRC校驗(yàn),使用缺省的時(shí)間間隔30秒,點(diǎn)擊下一步按鈕。
圖9 使用CRC
填寫(xiě)模塊所占用的V存儲(chǔ)區(qū)的起始地址。你也可以通過(guò)“建議地址”按鈕來(lái)獲得系統(tǒng)建議的V存儲(chǔ)區(qū)的起始地址, 點(diǎn)擊下一步按鈕。
圖10 配置存儲(chǔ)區(qū)
S7-200側(cè)編程
完成以太網(wǎng)向?qū)渲煤笮枰诔绦蛑姓{(diào)用以太網(wǎng)向?qū)傻腅THx_CTRL和ETH0_XFR, 然后,將整個(gè)項(xiàng)目下載到作客戶端的S7-200 CPU上。
1. 調(diào)用向?qū)傻淖映绦颍瑢?shí)現(xiàn)數(shù)據(jù)傳輸
對(duì)于S7-200的同一個(gè)連接的多個(gè)數(shù)據(jù)傳輸,不能同時(shí)激活,必須分時(shí)調(diào)用。下面的程序就是用前一個(gè)數(shù)據(jù)傳輸?shù)耐瓿晌蝗ゼせ钕乱粋€(gè)數(shù)據(jù)傳輸,如圖11.圖12.圖13. 所示
圖11 S7-200程序段1
圖12 S7-200程序段2
圖13 S7-200程序段3
如果通信未建立成功,可以對(duì)應(yīng)查詢子程序的錯(cuò)誤代碼。
S7-300作客戶端,S7-200作服務(wù)器
S7-200以太網(wǎng)向?qū)гO(shè)置
通過(guò)以太網(wǎng)向?qū)⒁蕴W(wǎng)模塊CP243-1配置為服務(wù)器,使用STEP 7 Micro/WIN中的向?qū)нM(jìn)行通信的配置即可。在命令菜單中選擇工具--以太網(wǎng)向?qū)А?
第一步是對(duì)以太網(wǎng)通信的描述,點(diǎn)擊下一步開(kāi)始以太網(wǎng)配置。
在此處選擇模塊的位置,CPU后的第一個(gè)模塊位置為0,往后依次類(lèi)推;或者點(diǎn)擊讀取模塊搜尋在線的CP243-1模塊(且將該模塊的命令字節(jié)載入模塊命令字節(jié)向?qū)聊唬|c(diǎn)擊下一步;
選擇模塊相匹配的MLFB版本,如下圖所示:
在此處填寫(xiě)IP地址和子網(wǎng)掩碼。本例中將IP地址設(shè)置為:140.80.0.60,點(diǎn)擊下一步;
下面的對(duì)話框?qū)⒔M態(tài)CP243-1進(jìn)行S7連接的連接數(shù)量的設(shè)置。通過(guò)S7連接可以與通信伙伴進(jìn)行讀寫(xiě)數(shù)據(jù)操作,點(diǎn)擊“下一步”按鈕繼續(xù)進(jìn)行S7連接組態(tài)。本例中CP243-1的第三、四個(gè)連接分別為服務(wù)器連接。
組態(tài)一個(gè)到S7-300的服務(wù)器連接:
S7-200和S7-300的S7連接通過(guò)TSAP來(lái)定義。
注意:分別組態(tài)S7-200和S7-300時(shí),本地和遠(yuǎn)程的TSAP號(hào)是必須完全對(duì)應(yīng)的。通常本地TSAP是默認(rèn)的,所以在組態(tài)此步驟時(shí),需要兩邊確認(rèn)一下。
本地TSAP為12.00無(wú)法更改,遠(yuǎn)程TSAP設(shè)置為10.04(這是在STEP7網(wǎng)絡(luò)組態(tài)得到的參數(shù))。激活“接受所有連接請(qǐng)求”復(fù)選框,點(diǎn)擊“下一步”按鈕繼續(xù)組態(tài)。
選擇CRC校驗(yàn),使用缺省的時(shí)間間隔30秒,點(diǎn)擊下一步按鈕。
填寫(xiě)模塊所占用的V存儲(chǔ)區(qū)的起始地址。你也可以通過(guò)建議地址按鈕來(lái)獲得系統(tǒng)建議的V存儲(chǔ)區(qū)的起始地址, 點(diǎn)擊下一步按鈕。
點(diǎn)擊”完成”按鈕完成以太網(wǎng)向?qū)гO(shè)置。
之后功能塊ETHx_CTRL 和 ETHx_XFR將被創(chuàng)建,必須在STEP 7-MicroWIN的主循環(huán)塊MAIN (OB1)中調(diào)用這些功能塊。
功能塊ETHx_CTRL 用于建立通訊。編寫(xiě)圖中的通訊程序,保存組態(tài)并下載到S7-200 CPU上。
注意:功能塊ETHx_XFR 僅在用于客戶端進(jìn)行數(shù)據(jù)傳送時(shí)才被調(diào)用。
S7-300側(cè)組態(tài)
本例中使用S7-300作為樣例建立S7連接,對(duì)于S7-400的組態(tài)步驟是一樣的。
在STEP7中打開(kāi)S7-300項(xiàng)目文件,通過(guò)Options--Configure Network或者是相對(duì)應(yīng)的圖標(biāo)打開(kāi)NetPro對(duì)話框。
在NetPro中選中S7-300站的CPU并通過(guò)菜單命令,Insert--New Connection添加一個(gè)新連接。
選擇連接伙伴為“unspecified”及連接類(lèi)型為“S7 connection”。點(diǎn)擊“Apply”按鈕,之后S7連接的屬性對(duì)話框?qū)⒋蜷_(kāi)。
由于S7連接是由S7-300創(chuàng)建,因此在S7連接的屬性對(duì)話框中須激活“Establish an active connection“復(fù)選框。輸入通信伙伴CP243-1的IP地址,之后點(diǎn)擊“Address Details”按鈕。
在“Address Details”對(duì)話框中,本地的TSAP通常選用默認(rèn),輸入通信伙伴的TSAP,本例中S7-200的TSAP為12.00。
注意:分別組態(tài)S7-200和S7-300時(shí),本地和遠(yuǎn)程的TSAP號(hào)是必須完全對(duì)應(yīng)的。通常本地TSAP是默認(rèn)的,所以在組態(tài)此步驟時(shí),需要兩邊確認(rèn)一下。
在NetPro中選中S7-300站,保存及編譯后下載到S7-300 中,此處注意需要下載網(wǎng)絡(luò)組態(tài)。
接下來(lái),在S7程序中調(diào)用功能塊,進(jìn)行編程。
STEP7編寫(xiě)PUT/GET程序
需要在S7-300程序中,調(diào)用功能塊FB14 “GET” 和 FB15 “PUT”??梢栽赟tandard Library--Communication Blocks--Blocks下找到這些功能塊。
注意:
1. ID:為Netpro里組態(tài)S7連接屬性窗口中的Block bters-Local ID。
2.ADDR_1為伙伴PLC的數(shù)據(jù)區(qū)域,由于通信伙伴是S7-200的V區(qū),V區(qū)與S7-300的DB1地址相對(duì)應(yīng)。
3.RD_1為本地PLC的數(shù)據(jù)接收區(qū);SD_1為本地PLC的數(shù)據(jù)發(fā)送區(qū)。
如果通信無(wú)法建立,請(qǐng)查看“PUT”和“GET”指令的錯(cuò)誤代碼,STATUS僅在一個(gè)周期內(nèi)有效,需要在ERROR=1時(shí)捕捉錯(cuò)誤狀態(tài)。如下圖所示:
對(duì)于FB14 “GET” 和 FB15 “PUT”的輸入?yún)?shù)'ID",也可通過(guò)鼠標(biāo)右擊功能塊ID引腳,可以自動(dòng)插入本地ID連接。如下圖所示: