西門(mén)子6ES7331-7PE10-0AB0 西門(mén)子6ES7331-7PE10-0AB0
潯之漫 智控技術(shù)有限公司 上海詩(shī)慕自動(dòng)化設(shè)備有限公司
本公司銷(xiāo)售西門(mén)子自動(dòng)化產(chǎn)品,*,質(zhì)量保證,價(jià)格優(yōu)勢(shì)
西門(mén)子PLC,西門(mén)子觸摸屏,西門(mén)子數(shù)控系統(tǒng),西門(mén)子軟啟動(dòng),西門(mén)子以太網(wǎng)
西門(mén)子電機(jī),西門(mén)子變頻器,西門(mén)子直流調(diào)速器,西門(mén)子電線電纜
我公司大量現(xiàn)貨供應(yīng),價(jià)格優(yōu)勢(shì),*,德國(guó)*
圖13 S7-300 CPU通信指令庫(kù)
庫(kù)中提供了下列通信功能塊:
′> FB 65 "TCON",用于建立連接,連接時(shí)需要UDT65來(lái)提供參數(shù)
> FB 66 "TDISCON",用于終止連接
> FB 63 "TSEND",用于發(fā)送數(shù)據(jù)到S7站點(diǎn)、S5站點(diǎn)、PC站或者第三方設(shè)備
> FB 64 "TRCV" 用于從S7站點(diǎn)、S5站點(diǎn)、PC站或者第三方設(shè)備接收數(shù)據(jù)
要通過(guò)CPU 的 集成PN 接口實(shí)現(xiàn)開(kāi)放的ISO on TCP通信,不能在Netpro網(wǎng)絡(luò)組態(tài)中直接建立連接,必須通過(guò)程序每個(gè)連接的參數(shù)。用于通信的FB標(biāo)準(zhǔn)功能塊,請(qǐng)參見(jiàn)附件提供的例程 ”Sample_1 ( 50 KB ) ” 或參考下載中心文檔《A0284 使用西門(mén)子PLC集成的PN口實(shí)現(xiàn)S5 兼容通信使用入門(mén)》提供的例程。下載鏈接:80490650
從附件提供的例程 ”Sample_1 ( 50 KB ) ” 中將把需要的程序塊拷貝到新建的項(xiàng)目中,包括:
> UDT 65 "TCON_PAR",存放用戶(hù)通信參數(shù)
> FB420 "SET_ISO_ENDPOINT" ,用于修改UDT65內(nèi)通信對(duì)象參數(shù)
> FC21, 被FB420調(diào)用
隨后,使用通信功能塊 FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND" 和 FB64 "TRCV" 完成程序的編寫(xiě)。
4.1創(chuàng)建新項(xiàng)目
1、打開(kāi)STEP7,新建一個(gè)項(xiàng)目
2、在項(xiàng)目中插入一個(gè)SIMATIC 300的站
3、組態(tài)硬件,插入一個(gè)CPU317-2PN/DP的CPU,并為PN接口分配IP地址“192.168.0.3”,如圖14所示。同時(shí),在CPU的“Cycle/Clock Memory”屬性頁(yè)中MB0為時(shí)鐘存儲(chǔ)器,在程序中可以使用M0.3(2Hz 的時(shí)鐘脈沖)去自動(dòng)激活發(fā)送任務(wù),如圖15所示。
圖14為PN接口分配IP地址
圖15設(shè)置時(shí)鐘存儲(chǔ)器字節(jié)
4.2編寫(xiě)通信程序
1、從樣例程序中拷貝通信所需的塊
從附件提供的sample_1 ( 50 KB ) 例程中把需要的FB420、FC21與UDT65程序塊拷貝到新創(chuàng)建的項(xiàng)目中,如圖16所示。
圖 16
2、生成數(shù)據(jù)塊
在程序中創(chuàng)建一個(gè)DB塊,塊號(hào)不限(本例為DB101),在塊中建立變量DB_VAR,類(lèi)型為UDT65,如圖17所示。
圖17
3、生成并調(diào)用FB塊
首先生成一個(gè)FB塊(本例為FB400),在FB400靜態(tài)變量區(qū)建立一個(gè)結(jié)構(gòu)“T_TSAP“,包含如下變量,并為變量分配初始值,如圖18所示。
1) LOC_RACK_SLOT (BYTE)= B#16#2 表示有兩個(gè)前導(dǎo)字符 0xE0 (CPU31x-2PN/DP 或者 CPU319-3PN/DP規(guī)定)和 0x02(CPU槽號(hào))
2) LOC_TSAP(bbbbbb14)= 本地用戶(hù)定義的ASCII字符'PLC_1' (注意要與S7-1200側(cè)設(shè)置保持一致)。
3) REM_RACK_SLOT(BYTE)= B#16#0 不使用兩個(gè)前導(dǎo)符。
4) REM_TSAP (bbbbbb16)= 遠(yuǎn)程用戶(hù)定義的ASCII字符'PLC_1' (注意要與S7-1200側(cè)設(shè)置保持一致)。
圖18
然后在生成的FB400中調(diào)用FB420,如圖19所示。
西門(mén)子CPU312
圖19
其中參數(shù)的含義如下:
1)ID: 連接ID,與S7-1200里的設(shè)置保持一致
2)DEV_ID:用于本PLC型號(hào)(注意不是通信對(duì)方)
DEV_ID = B#16#1本PLC型號(hào)為 IM151-8 PN/DP CPU
DEV_ID = B#16#2本PLC型號(hào)為CPU31x-2PN/DP或IM154-8 CPU
DEV_ID = B#16#3本PLC型號(hào)為CPU319-3PN/DP
DEV_ID = B#16#5本PLC型號(hào)為CPU41x-3PN/DP
3)ACTIVE: 主動(dòng)或是被動(dòng)建立連接,通信雙方必須一個(gè)主動(dòng),一個(gè)被動(dòng),本例中S7-300側(cè)為被動(dòng)方。
4)T_TSAP: 靜態(tài)變量區(qū)的結(jié)構(gòu)變量,用于ISO ON TCP 通信的TSAP地址
5)IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址,即S7-1200的IP地址192.168.0.2
6)CON_DB: 用UDT65生成的變量,即DB101
4、在OB1中調(diào)用發(fā)送和接收功能塊
在OB1中先調(diào)用FB400功能塊,為其背景數(shù)據(jù)塊DB400,如圖20所示。
圖20
然后再在OB1中依次調(diào)用通信功能塊FB65、FB64、FB63、FB66。其中發(fā)送和接收功能塊FB64、FB63的數(shù)據(jù)區(qū)都為DB3,建立DB3如圖21所示。關(guān)于塊的使用請(qǐng)參考STEP7的在線幫助或相關(guān)文檔說(shuō)明。