SIMATIC S7-300,CP 340 通信處理器 mit RS-422/485-Schnittsble inkl. 項(xiàng)目組態(tài)包 auf CD
產(chǎn)品品牌:siemens/西門(mén)子
產(chǎn)品規(guī)格:全新原裝
產(chǎn)品質(zhì)量:質(zhì)量保證
產(chǎn)品價(jià)格:價(jià)格優(yōu)勢(shì)
公司大量現(xiàn)貨!?。?/span>
【同樣的價(jià)格、同樣的品牌、給您不一樣的服務(wù)】
上海晨蒞自動(dòng)化科技有限公司(西門(mén)子系統(tǒng)集成商)專業(yè)銷售西門(mén)子S7-200/300/400/1200PLC、數(shù)控系統(tǒng)、變頻器、人機(jī)界面、觸摸屏、伺服、電機(jī)、西門(mén)子電纜等,并可提供西門(mén)子維修服務(wù),歡迎來(lái)電垂詢
聯(lián)系人: 杜浩 (銷售經(jīng)理)
手機(jī) : 18721469298
QQ : 276484128
地址:上海市金山區(qū)楓涇鎮(zhèn)涇波路370號(hào)
概述
S7-1200 與 S7-300 之間的以太網(wǎng)通信方式比較多,可以采用ISO on TCP、TCP和 S7 的方式進(jìn)行通信。在S7-1200 CPU 中采用ISO on TCP和TCP這兩種協(xié)議進(jìn)行通信所使用的指令是相同的,都使用 T-block ( TSEND_C, TRCV_C, TCON, TDISCON, TSEN, TRCV ) 指令編程。S7-300 CPU一側(cè)如果使用的是CPU集成的PN接口,連接不在STEP7的NetPro中建立連接,而是使用西門(mén)子提供的OPEN IE 的方式來(lái)實(shí)現(xiàn)。
本文主要介紹了如何實(shí)現(xiàn)在S7-1200 和S7-300 CPU集成PN口之間的ISO on TCP通信,包括通信的基本步驟、配置及編程等內(nèi)容。具體的實(shí)現(xiàn)方法有多種,比如在S7-1200中可以使用不帶連接的通信指令(TCON, TDISCON, TSEN, TRCV),也可以使用帶連接的通信指令(TSEND_C, TRCV_C);在S7-300中可以采用功能塊編程的方式來(lái)實(shí)現(xiàn),也可以使用Open Communication Wizard工具(OPEN IE向?qū)В┑姆绞絹?lái)建立OPEN IE的通信。
為了方便理解,本文在S7-1200中使用不帶連接的通信指令TCON, TDISCON, TSEN, TRCV,在S7-300側(cè)通過(guò)功能塊編程的方式來(lái)實(shí)現(xiàn)。
關(guān)于S7-1200和S7-300 OPEN IE通信的文檔可以登錄西門(mén)子自動(dòng)化與驅(qū)動(dòng)集團(tuán)網(wǎng)站的下載中心,網(wǎng)址:http://www.ad.siemens.com.cn/download/ ,根據(jù)如表1提供的文檔編號(hào)搜索并下載相關(guān)文檔。
文檔編號(hào)
|
中文標(biāo)題
|
A0426
|
西門(mén)子 S7-1200 PLC 技術(shù)參考Version 1.5
|
A0416
|
S7-1200與S7-300 的以太網(wǎng)TCP 及ISO on TCP通信
|
A0421
|
如何實(shí)現(xiàn)兩個(gè)S7-1200 CPU之間的以太網(wǎng)通信
|
A0415
|
通過(guò)S7協(xié)議實(shí)現(xiàn)S7-1200 與S7-300的通信
|
A0414
|
S7-1200基本以太網(wǎng)通信使用指南
|
A0284
|
使用西門(mén)子PLC集成的PN口實(shí)現(xiàn)S5 兼容通信使用入門(mén)
|
A0345
|
使用 Open Communication Wizard 建立開(kāi)放式 ISO on TCP 通信
|
A0346
|
使用 Open Communication Wizard 建立開(kāi)放式 UDP 通信
|
A0347
|
使用 Open Communication Wizard 建立開(kāi)放式 TCP 通信
|
A0344
|
S7-300和S7-400集成PN口的S7通信
|
A0334
|
PN CPU/CP的開(kāi)放式通訊-Open IE
|
表1 下載中心文檔列表
2 軟硬件及所要完成的通信任務(wù)
2.1硬件設(shè)備
實(shí)驗(yàn)的硬件設(shè)備:
1、S7-1200 CPU,CPU1212 AC/DC/RLY(6ES7 212-1BD30-0XB0)
2、S7-300 PN CPU,CPU317-2PN/DP(6ES7 317-2EH13-0AB0 V2.6.7)
3、PC機(jī)(帶以太網(wǎng)卡)
4、SCALANCE X216交換機(jī),S7-1200、S7-300和PC通過(guò)交換機(jī)互連起來(lái)
5、TP以太網(wǎng)電纜
2.2 軟件環(huán)境
1、STEP7 Basic V10.5 SP2
2、STEP7 V5.4 SP5
3、通信所需的功能塊,請(qǐng)參見(jiàn)附件提供的例程 ”Sample_1 ( 50 KB ) ” 或參考下載中心文檔:《A0284 使用西門(mén)子PLC集成的PN口實(shí)現(xiàn)S5 兼容通信使用入門(mén)》提供的程序。下載鏈接:80490650
2.3 所要完成的通信任務(wù)
本例中所要完成的通信任務(wù)定義為:
1、 將S7-1200的發(fā)送數(shù)據(jù)塊DB3里的8個(gè)字節(jié)數(shù)據(jù)發(fā)送到S7-300的DB3中。
2、 將S7-300 DB3里接收到的8個(gè)字節(jié)數(shù)據(jù)再發(fā)送到S7-1200的接收數(shù)據(jù)塊DB4中。
3 S7-1200 CPU的組態(tài)編程
3.1創(chuàng)建新項(xiàng)目
1、打開(kāi)STEP 7 Basic 軟件并新建項(xiàng)目
在STEP 7 Basic 的 “Portal View”中選擇“Create new project”創(chuàng)建一個(gè)新項(xiàng)目,項(xiàng)目名稱為“GS_ISO”。
2、添加硬件并命名PLC
然后進(jìn)入 “Project view”,在“Project tree” 下雙擊 “Add new device”,在對(duì)話框中選擇所使用的S7-1200 CPU(6ES7 212-1BD30-0XB0)添加到機(jī)架上,設(shè)備名為 PLC_1,如圖1所示。

圖1 添加新的PLC站
為了編程方便,我們使用 CPU 屬性中定義的時(shí)鐘位,定義方法如下:
在“Project tree> PLC_1 > Device configuration” 中,選中 CPU ,然后在下面的屬性窗口中,“Properties > System and clock memory” 下,將系統(tǒng)位定義在MB1,時(shí)鐘位定義在MB0,如圖2所示。程序中我們主要使用 M0.3,它是以2Hz 的速率在0和1之間切換的一個(gè)位,可以使用它去自動(dòng)激活發(fā)送任務(wù)。

圖2 系統(tǒng)和時(shí)鐘存儲(chǔ)器
3、為 S7-1200 CPU的PROFINET 通信口分配以太網(wǎng)地址
在 “Device View”中點(diǎn)擊 CPU 上代表PROFINET 通信口的綠色小方塊,在下方會(huì)出現(xiàn)PROFINET 接口的屬性,在 “Ethernet addresses”下分配IP 地址為 192.168.0.2 ,子網(wǎng)掩碼為255.255.255.0,如圖3所示。

圖3為 S7-1200 CPU的PROFINET 接口分配IP地址
3.2調(diào)用并配置通信指令
1、在 PLC_1 的 OB1 中調(diào)用 “TCON”通信指令
進(jìn)入“Project tree > PLC_1 > Program blocks > OB1” 主程序中,從右側(cè)窗口 “Instructions > Extended Instructions > Communications” 下調(diào)用 “TCON” 指令,并選擇 “Single Instance” 生成背景 DB塊,如圖4所示。

圖4 調(diào)用TCON指令
2、定義PLC_1 的 “TCON” 連接參數(shù)
PLC_1 的 TCON 指令的連接參數(shù)需要在指令下方的屬性窗口“Properties > Configuration > Connection beter”中設(shè)置,如圖5所示。
連接參數(shù)說(shuō)明:
End point
|
:選擇通信伙伴,這里選擇“unspecified”
|
Address
|
:指定通信伙伴S7-300站的IP地址“192.168.0.3”
|
Connection type
|
:選擇通信協(xié)議為ISO on TCP
|
Connection ID
|
:連接的地址 ID 號(hào),這個(gè) ID 號(hào)在后面的編程里會(huì)用到
|
Connection data
|
:創(chuàng)建連接時(shí),系統(tǒng)會(huì)自動(dòng)生成本地的連接 DB 塊,所有的連 接數(shù)據(jù)都會(huì)存在這個(gè) DB 塊中。
|
|
:選擇本地 PLC_1作為主動(dòng)連接,S7-300 CPU作為被動(dòng)連接
|
Address details
|
:設(shè)定 TSAP 地址這里本地設(shè)置成“PLC_1”, TSAP ID自動(dòng)為“50.4C.43.5F.31”,伙伴方設(shè)置成不設(shè)置TSAP(ASCII),設(shè)置TSAP ID 為“E0.02.50.4C.43.5F.31”。
|

圖5 “TCON” 指令的連接參數(shù)
3、分配 “TCON” 的塊參數(shù)
在指令下方的屬性窗口“Properties > Configuration > block beter”中設(shè)置,可以根據(jù)需要自己為“TCON” 塊指定相應(yīng)的輸入輸出參數(shù)。指定好參數(shù)的塊,如圖6所示。其中M8.0作為啟動(dòng)連接的觸發(fā)位,連接ID = 1與連接參數(shù)里面的設(shè)置相同。

圖6 “TCON” 的塊參數(shù)
4、在 PLC_1 的 OB1 中調(diào)用 “TSEND” 發(fā)送通信指令
首先創(chuàng)建一個(gè)發(fā)送數(shù)據(jù)塊,通過(guò) “Project tree > PLC_1 > Program blocks > Add new block”,選擇 “Data block” 創(chuàng)建 DB 塊,選擇絕對(duì)尋址,點(diǎn)擊“OK”鍵,如圖7所示。

圖7 創(chuàng)建一個(gè)發(fā)送數(shù)據(jù)塊DB3
打開(kāi)創(chuàng)建的發(fā)送數(shù)據(jù)塊,在數(shù)據(jù)塊中定義發(fā)送數(shù)據(jù)區(qū)為 8個(gè)字節(jié)的數(shù)組,如圖8所示。

圖8 創(chuàng)建發(fā)送數(shù)據(jù)區(qū)
然后在OB1 中調(diào)用“TSEND”發(fā)送通信指令,并為“TSEND”指定參數(shù)。使用M0.3( 2Hz 的時(shí)鐘脈沖)上升沿激活發(fā)送任務(wù),指定發(fā)送數(shù)據(jù)區(qū)為P# DB3.DBX0.0 BYTE 8,連接 ID = 1與連接參數(shù)里面的設(shè)置相同,發(fā)送長(zhǎng)度LEN=8。分配好參數(shù)的“TSEND”塊如圖9所示。

圖9 調(diào)用“TSEND”發(fā)送通信塊
5、在 PLC_1 的 OB1 中調(diào)用“TRCV”接收通信指令
同樣,先創(chuàng)建一個(gè)接收數(shù)據(jù)塊DB4 ,如圖10所示?!癟RCV”接收通信指令的調(diào)用方法與“TSEND” 發(fā)送通信指令的調(diào)用方法相同,M8.1作為接收指令的使能位,如圖11所示。

圖10創(chuàng)建接收數(shù)據(jù)區(qū)

圖11 調(diào)用“TRCV”接收通信塊
6、在 PLC_1 的 OB1 中調(diào)用 “TDISCON”通信指令
最后,為了斷開(kāi)通信鏈接,我們需要調(diào)用“TDISCON”通信指令,如圖12所示。

圖12 調(diào)用“TDISCON”通信塊
3.3下載程序
至此,S7-1200側(cè)的組態(tài)和編程都已經(jīng)完成,可以在項(xiàng)目編譯無(wú)錯(cuò)誤后,直接下載到S7-1200 CPU中,并啟動(dòng)CPU的運(yùn)行。
4 S7-300 CPU的組態(tài)編程
S7-300帶PN接口的CPU支持ISO on TCP通信功能,通過(guò)該集成以太網(wǎng)接口組態(tài)ISO on TCP通信時(shí),只能使用開(kāi)放式通信專用的功能塊,這些專用的功能塊可以在STEP7 “ 通訊塊”的 “標(biāo)準(zhǔn)庫(kù) ”中找到,如圖13所示。

圖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",存放用戶通信參數(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,類型為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(STRING14)= 本地用戶定義的ASCII字符'PLC_1' (注意要與S7-1200側(cè)設(shè)置保持一致)。
3) REM_RACK_SLOT(BYTE)= B#16#0 不使用兩個(gè)前導(dǎo)符。
4) REM_TSAP (STRING16)= 遠(yuǎn)程用戶定義的ASCII字符'PLC_1' (注意要與S7-1200側(cè)設(shè)置保持一致)。

圖18
然后在生成的FB400中調(diào)用FB420,如圖19所示。

圖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ō)明。

圖21
FB65 “TCON”,建立連接功能塊,如圖22所示。通過(guò)輸入?yún)?shù) "REQ"一個(gè)上升沿來(lái)建立連接。 “ID” 為連接ID,“CONNECT” 參數(shù)填寫(xiě)用 UDT65 生成的變量, 連接建立后會(huì)一直保持,直到調(diào)用FB66 "TDISCON" 斷開(kāi)連接、CPU停止或者斷電。其中CONNECT指定為通過(guò)UDT65生成的DB塊,即DB101, ID = 1。通過(guò)M8.0啟動(dòng)作業(yè),執(zhí)行連接的建立。

圖22
FB64 “TRCV”,接收功能塊,如圖23所示。"TRECV" EN_R始終為T(mén)RUE, ID 填寫(xiě)連接ID,”DATA” 填寫(xiě)接收數(shù)據(jù)區(qū),輸出參數(shù) "NDR" 用于表示新的數(shù)據(jù)已經(jīng)收到,輸出參數(shù) "LEN" 表示接收的數(shù)據(jù)長(zhǎng)度。本例中連接ID = 1。指定DB3作為接收數(shù)據(jù)塊,接收數(shù)據(jù)的字節(jié)長(zhǎng)度為8,接收作業(yè)通過(guò)M8.1使能。

圖23
FB63 “TSEND”,發(fā)送功能塊,如圖24所示。連接ID = 1。指定DB3為發(fā)送數(shù)據(jù)塊,發(fā)送字節(jié)長(zhǎng)度為8,發(fā)送作業(yè)通過(guò)M0.3觸發(fā)。"TSEND" 發(fā)送請(qǐng)求依靠輸入?yún)?shù)"REQ"的上升沿來(lái)實(shí)現(xiàn),如果“BUSY”位為true時(shí)不要觸發(fā)"REQ"。輸出參數(shù) "DONE", "ERROR" 和 "STATUS" 用于評(píng)估工作的情況。

圖24
FB66 “TDISCON”,取消連接功能塊,如圖25所示??梢愿鶕?jù)需要取消ID=W#16#1的連接,作業(yè)通過(guò)M8.2使能。

圖25
4.3下載程序
S7-300側(cè)的組態(tài)和編程都完成后,直接下載到S7-300 CPU中,并啟動(dòng)CPU的運(yùn)行。
5 監(jiān)控通信結(jié)果
對(duì)S7-1200和S7-300都組態(tài)和編程后,下載所有組態(tài)及程序并搭建好網(wǎng)絡(luò)后,首先在在S7-1200中將M8.0置位為1,然后再在S7-300中將M8.0置位為1,兩個(gè)站的“TCON” 被激活,建立兩個(gè)站之間的ISO on TCP連接。
連接正常建立后,即可以進(jìn)行數(shù)據(jù)的交換。在S7-1200和S7-300站中將 ”TRCV” 功能塊的EN_R置位為1,使能接收,監(jiān)控通信結(jié)果如圖26所示。
通過(guò)監(jiān)控結(jié)果可以看到,S7-1200中發(fā)送數(shù)據(jù)塊DB3的8個(gè)字節(jié)數(shù)據(jù)被發(fā)送到S7-300站的DB3中,同時(shí),S7-300的DB3中接收到的數(shù)據(jù)又被發(fā)送到S7-1200的接收數(shù)據(jù)塊DB4中。

圖26 在線監(jiān)控通信結(jié)果
描述
對(duì)于 SIMATIC S7-1200,從 CPU V2.0固件開(kāi)始,STEP 7 (TIA-Portal) 提供 T_CONFIG 指令可以通過(guò)編程控制 CPU 集成 PROFINET 接口的配置。

圖. 01
可以設(shè)置如下接口配置:
- IP 參數(shù): IP 地址,子網(wǎng)掩碼,路由地址
- PROFINET IO 設(shè)備名
配置數(shù)據(jù)存儲(chǔ)在 "Conf_Data" 結(jié)構(gòu)體數(shù)據(jù)類型中。

圖. 02
以PLC數(shù)據(jù)類型創(chuàng)建 "Conf_Data" 結(jié)構(gòu)體數(shù)據(jù)類型。
它包含系統(tǒng)指定的數(shù)據(jù)類型:
- IF_CONF_Header
- IF_CONF_v4
- IF_CONF_NOS
說(shuō)明
正確使用 T_CONFIG 指令需要注意以下幾點(diǎn):
序號(hào).
|
步驟
|
1
|
CPU 屬性中,在 "Ethernet address" 下,選擇想修改的設(shè)置:
下列設(shè)置可以被改變:
- IP 地址、子網(wǎng)掩護(hù)碼和路由地址。
- PROFINET 設(shè)備名
必須選擇"... using a different b".

圖. 03
|
2
|
此外,地址數(shù)據(jù)結(jié)構(gòu) IF_CONF_v4 或 PROFINET 設(shè)備名數(shù)據(jù)結(jié)構(gòu) IF_CONF_NOS 中的參數(shù) "Mode" 必須為值 1 (= 配置數(shù)據(jù)永久有效)。
取決于是否只修改接口地址還是也要修改PROFINET 設(shè)備名,必須設(shè)置 header 數(shù)據(jù)類型 IF_CONF_Header 中的 "SubfieldCount" 參數(shù)值為 "1" 或 "2" (= 結(jié)構(gòu)體中的所有子域) (見(jiàn)圖. 02).
|
3
|
對(duì)數(shù)據(jù)類型 IP_V4 ,以 "Array of Bytes" 輸入每一個(gè)要修改的地址。

圖. 04
|
4
|
以 "Array of Bytes" 方式一個(gè)字符一個(gè)字符的傳送要修改的 PROFINET 名到 NOS 參數(shù)。
要遵從PROFINET名字的命名規(guī)則(如, 最多240個(gè)小寫(xiě)字符、數(shù)字、連字號(hào)、句號(hào)).
PROFINET 名可以短于 240 字節(jié)但必須大于 2 字節(jié)。
必須根據(jù) "PROFINET 名字長(zhǎng)度 + 6"來(lái)修改 "Length" 變量。

圖. 05
|
表 01
安全提示
警告
本條目描述的功能和解決方案主要限于實(shí)現(xiàn)自動(dòng)化任務(wù)。此外,如果該系統(tǒng)與工廠其它部分或整個(gè)互聯(lián)網(wǎng)有連接,請(qǐng)注意必須采取適當(dāng)?shù)陌踩?措施以遵循相應(yīng)的工業(yè)安全標(biāo)準(zhǔn)。更多信息參見(jiàn)條目ID: 50203404.
下載
學(xué)習(xí) T_CONFIG 指令,可以參考下面的例子項(xiàng)目。
它包含通過(guò)操作面板 KTP 600 Basic PN 修改 PROFINET 接口的配置。
當(dāng)T_CONFIG 指令使用時(shí),HMI 通過(guò) "Change connection" 事件與新配置了PROFINET接口的控制器同步建立通訊。
由于 KTP 600 Basic PN 不支持無(wú)類別域間路由(CIDR),最后的8位組IP地址只能在C類網(wǎng)絡(luò)中修改。
KTP 600 Basic PN 也可以在沒(méi)有硬件時(shí)由 STEP 7 V11 模擬。
項(xiàng)目中的 IP 地址如下:
- 控制器: 192.168.0.1 (修改為 192.168.0.200)
- HMI: 192.168.0.201

圖. 06
KTP 600 Basic PN 用戶接口包含下列元素:
- IP 字符串: 轉(zhuǎn)換 IP 地址為字符串,以用于 "Change connection" 事件
- IP 地址: 新的IP 地址(只有最后的8位可以編輯)
- 子網(wǎng)掩碼: 新的子網(wǎng)掩護(hù)碼(不可編輯)
- 路由器地址: 新的路由器地址(不可編輯)
- PN 名字: 新的 PROFINET 設(shè)備名
- REQ: 執(zhí)行 T_CONFIG 指令和 "Change connection"
- PN 名字按鈕: 切換開(kāi)/關(guān),決定是否修改 PROFINET 設(shè)備名
- 顯示HMI的最后一條系統(tǒng)消息
要進(jìn)行確認(rèn),在 STEP 7 V11 中,可以通過(guò)刷新可訪問(wèn)節(jié)點(diǎn)來(lái)檢查 IP 分配,通過(guò)"Online & Diagnostics" 模式下的"Assign name"功能來(lái)檢查PROFINET設(shè)備名。
S7-1200存儲(chǔ)卡的基本介紹
S7-1200CPU使用的存儲(chǔ)卡為SD卡,存儲(chǔ)卡中可以存儲(chǔ)用戶項(xiàng)目文件,有如下三種功能:
1. 作為CPU的裝載存儲(chǔ)區(qū),用戶項(xiàng)目文件可以僅存儲(chǔ)在卡中,CPU中沒(méi)有項(xiàng)目文件,離開(kāi)存儲(chǔ)卡無(wú)法運(yùn)行。
2. 在有編程器的情況下,作為向多個(gè)S7-1200PLC傳送項(xiàng)目文件的介質(zhì)。
3. 忘記密碼時(shí),清除CPU內(nèi)部的項(xiàng)目文件和密碼。
4. 24M卡可以用于更新S7-1200CPU的固件版本

圖1: S7-1200存儲(chǔ)卡
如何插入存儲(chǔ)卡:
將CPU上擋板向下掀開(kāi),可以看到右上角有一MC卡槽,將存儲(chǔ)卡缺口向上插入,如下圖所示:

圖2:插入存儲(chǔ)卡
注意:
? 對(duì)于S7-1200CPU,存儲(chǔ)卡不是必需的。
? 將存儲(chǔ)卡插到一個(gè)處于運(yùn)行狀態(tài)的CPU上,會(huì)造成CPU停機(jī)。
? S7-1200 CPU 僅支持由西門(mén)子制造商預(yù)先格式化過(guò)的存儲(chǔ)卡,即下列訂貨號(hào)產(chǎn)品:
訂貨號(hào)
|
容量
|
6ES7 954-8LF01-0AA0
|
24MB
|
6ES7954-8LC01-0AA0
|
4MB
|
6ES7 954-8LB01-0AA0
|
2MB
|
表1:存儲(chǔ)卡信息
? 如果使用 WINOOWs 格式化程序?qū)?/span>SIMATIC 存儲(chǔ)卡重新進(jìn)行格式化,CPU將無(wú)法使用該重新格式化的存儲(chǔ)卡。
? 目前S7-1200還無(wú)法配合存儲(chǔ)卡實(shí)現(xiàn)配方和數(shù)據(jù)歸檔之類的高級(jí)功能。
2 存儲(chǔ)卡的工作模式
存儲(chǔ)卡有兩種工作模式:
? 程序卡:存儲(chǔ)卡作為S7-1200 CPU 的裝載存儲(chǔ)區(qū),所有程序和數(shù)據(jù)存儲(chǔ)在卡中,CPU 內(nèi)部集成的存儲(chǔ)區(qū)中沒(méi)有項(xiàng)目文件,設(shè)備運(yùn)行中存儲(chǔ)卡不能被拔出。
? 傳輸卡:用于從存儲(chǔ)卡向CPU傳送項(xiàng)目,傳送完成后必須將存儲(chǔ)卡拔出。CPU可以離開(kāi)存儲(chǔ)卡獨(dú)立運(yùn)行。
修改存儲(chǔ)卡的工作模式:
在STEP 7 Basic軟件的項(xiàng)目視圖下,點(diǎn)擊左側(cè)”Project View“--->"SIMATIC Card Reader" --->您的讀卡器型號(hào),如下圖所示:

圖3:Project View
右擊存儲(chǔ)卡的盤(pán)符(這里是F:),選擇“屬性”,打開(kāi)下面窗口:

圖4:MC屬性
用戶在“Card type”選擇需要的工作模式,點(diǎn)擊“OK”完成設(shè)定。
3 使用程序卡的不同模式
優(yōu)點(diǎn):更換CPU時(shí)不需要重新下載項(xiàng)目文件。
3.1 裝載用戶項(xiàng)目文件到存儲(chǔ)卡:
? 第一步:按照上面方法將存儲(chǔ)卡設(shè)定到“編程”模式。建議客戶做此操作之前清除存儲(chǔ)卡中的所有文件。
? 第二步:設(shè)置CPU的啟動(dòng)狀態(tài):在"Project tree"中右擊CPU選擇“屬性”,在“屬性”窗口中點(diǎn)擊“Startup”,此處我們必須選擇“Warm restart-RUN”

圖5: Startup
? 第三步:將CPU斷電。
? 第四步:將存儲(chǔ)卡插到CPU卡槽內(nèi)
? 第五步:將CPU上電
? 第六步:在STEP 7 Basic中點(diǎn)擊下載,將項(xiàng)目文件全部下載到存儲(chǔ)卡中。此時(shí)下載是將項(xiàng)目文件(包括用戶程序、硬件組態(tài)和強(qiáng)制值)下載到存儲(chǔ)卡中,而不是CPU內(nèi)部集成的存儲(chǔ)區(qū)中。
完成上述步驟后,CPU可以帶卡正常運(yùn)行。此時(shí)如果將存儲(chǔ)卡拔出,CPU會(huì)報(bào)錯(cuò),"ERROR"紅燈閃爍。
3.2 常見(jiàn)問(wèn)題:
常見(jiàn)問(wèn)題1:
為什么插上存儲(chǔ)卡后CPU的“MAINT”燈閃爍,使用STEP 7 Basic下載是提示報(bào)錯(cuò)“The download of the hardware configuration failed (0050 -133 2 2458)”?
回答:
請(qǐng)清除存儲(chǔ)卡中的所有文件,重新使用STEP7 Basic軟件將存儲(chǔ)卡設(shè)置到“編程”模式,然后再重復(fù)上述步驟。請(qǐng)您也檢查存儲(chǔ)卡上的撥碼開(kāi)關(guān),檢查存儲(chǔ)卡是否處于寫(xiě)保護(hù)模式。
常見(jiàn)問(wèn)題2:
為什么CPU斷電上電后進(jìn)入停止?fàn)顟B(tài),而不進(jìn)入運(yùn)行狀態(tài)?
回答:
原因是CPU的啟動(dòng)方式不是“Warm restart-RUN”,詳細(xì)請(qǐng)參考上面“第二步”。
4 使用傳輸卡模式
優(yōu)點(diǎn):在沒(méi)有編程器的情況下,方便快捷地向多個(gè)S7-1200PLC拷貝項(xiàng)目文件。
4.1 向處于傳輸模式的存儲(chǔ)卡中裝載項(xiàng)目
? 第一步:按照上面方法將存儲(chǔ)卡設(shè)定到“編程”模式。建議客戶做此操作之前清除存儲(chǔ)卡中的所有文件。
? 第二步:設(shè)置CPU的啟動(dòng)狀態(tài):在"Project tree"中右擊CPU選擇“屬性”,在“屬性”窗口中點(diǎn)擊“Startup”,此處我們必須選擇“Warm restart-RUN”
? 第三步:直接拖拽PLC設(shè)備到存儲(chǔ)卡盤(pán)符

圖6:拖拽
用戶也可以直接將一張已經(jīng)做好的“程序卡”更改為“傳輸卡”。
4.2 從存儲(chǔ)卡復(fù)制項(xiàng)目到S7-1200PLC
? 第一步:將CPU斷電
? 第二步:插卡到CPU卡槽
? 第三步:將CPU上電,用戶會(huì)看到CPU的"MAINT"黃燈閃爍
? 第四步:將CPU斷電,將存儲(chǔ)卡拔出
? 第五步:將CPU上電
常見(jiàn)問(wèn)題:
為什么CPU斷電上電后進(jìn)入停止?fàn)顟B(tài),而不進(jìn)入運(yùn)行狀態(tài)?
回答:
1. CPU的啟動(dòng)方式不是“Warm restart-RUN”,詳細(xì)請(qǐng)參考上面“第二步”。
2. 檢查第三步,必須拖拽PLC項(xiàng)目到存儲(chǔ)卡盤(pán)符,而不是程序塊等其他項(xiàng)目?jī)?nèi)容。下載到存儲(chǔ)卡中的項(xiàng)目文件有可能不完整,例如確實(shí)硬件組態(tài)等。
5 使用存儲(chǔ)卡清除密碼
如果客戶忘記了之前設(shè)定到S7-1200的密碼,通過(guò)”恢復(fù)出廠設(shè)置“無(wú)法清除S7-1200內(nèi)部的程序和密碼,因此唯一的清除方式是使用存儲(chǔ)卡。詳細(xì)步驟如下:
1. 將S7-1200設(shè)備斷電
2. 插入一張存儲(chǔ)卡到S7-1200CPU上,存儲(chǔ)卡中的程序不能有密碼保護(hù)
3. 將S7-1200設(shè)備上電
S7-1200CPU上電后,會(huì)將存儲(chǔ)卡中的程序復(fù)制到內(nèi)部的FLASH寄存器中,即執(zhí)行清除密碼操作。
客戶也可以用相同的方法插入一張全新的或者空白的存儲(chǔ)卡到S7-1200CPU,設(shè)備上電后,S7-1200CPU會(huì)將內(nèi)部存儲(chǔ)區(qū)的程序轉(zhuǎn)移到存儲(chǔ)卡中,拔下存儲(chǔ)卡后,S7-1200CPU內(nèi)部將不在有用戶程序,即實(shí)現(xiàn)了清除密碼。存儲(chǔ)卡中的內(nèi)容可以使用讀卡器清除。
注意:不要格式化存儲(chǔ)卡
6 使用24M存儲(chǔ)卡更新S7-1200CPU的固件版本
S7-1200的固件版本可以從西門(mén)子官*網(wǎng)站下載:http://support.automation.siemens.com/WW/view/cn 。用戶可以使用西門(mén)子網(wǎng)站右上方的搜索引擎在“Download”分類中搜索“S7-1200 firmware”。
注意:
1. 不同訂貨號(hào)的S7-1200CPU的固件文件不相同,下載地址也不相同。用戶在下載和更新固件之前請(qǐng)核對(duì)產(chǎn)品訂貨號(hào)。
2. 2M存儲(chǔ)卡不能用于CPU固件升級(jí)。
3. 固件升級(jí)前CPU內(nèi)部存儲(chǔ)的項(xiàng)目文件(程序塊、硬件組態(tài)等)不受影響,不會(huì)被清除。
4. 如果存儲(chǔ)卡中的固件文件訂貨號(hào)與實(shí)際CPU的訂貨號(hào)不一致,即使執(zhí)行了下列步驟,CPU的原固件版本也不會(huì)改變。
更新CPU的固件具體步驟如下:
? 第一步:使用電腦通過(guò)讀卡器清除存儲(chǔ)卡中內(nèi)容。注意:不要格式化存儲(chǔ)卡!
? 第二步:從西門(mén)子官*網(wǎng)站下載最新版本的固件文件。下載并解壓縮,用戶可以得到一個(gè)“S7_JOB.SYS”文件和“FWUOPDATE.S7S”文件夾。
? 第三步:將“S7_JOB.SYS”文件和“FWUOPDATE.S7S”文件夾拷貝到存儲(chǔ)卡中。
? 第四步:將存儲(chǔ)卡插到CPU1200卡槽中。此時(shí)CPU會(huì)停止,“MAINT”指示燈閃爍。
? 第五步:將CPU斷電上電。CPU的“RUN/STOP”指示燈紅綠交替閃爍說(shuō)明固件正在被更新中。“RUN/STOP”指示燈亮,“MAINT”指示燈閃爍說(shuō)明固件更新已經(jīng)結(jié)束。
? 第六步:拔出存儲(chǔ)卡
? 第七步:再次將CPU斷電上電
概述
本文介紹了通過(guò)OPEN IE的方式實(shí)現(xiàn)S7-1200與SIMOTION D410PN之間的TCP通信的方法,包括通信的基本配置、組態(tài)和編程等內(nèi)容。S7-1200實(shí)現(xiàn)TCP通訊的指令有兩種,一是不帶連接的指令(TCON,TDISCON,TSEND,TRCV),另一種是帶連接的指令(T RCV_C,TSEND_C);SIMOTON包含的通信指令包括tcpOpenClient,tcpOpenServe r,tcpSend,tcpReceive,tcpCloseSever,tcpCloseConnection。
本文選用S7-1200不帶連接的指令TCON,TDISCON,TSEND,TRCV,實(shí)現(xiàn)與D410 PN的通訊。
2 S7-1200與D410PN裝置的連接
2.1 硬件配置列表
設(shè)備
|
訂貨號(hào)
|
版本
|
CPU 1214C DC/DC/DC
|
6ES7214-1AE30-0XB0
|
V2.2
|
D410PN
|
6AU1410-0AB00-0AA0
|
Version B, FW V4.2
|
SCANLANCE X208
|
6GK5208-0BA10-2AA3
|
V3.1
|
表1 測(cè)試所采用的硬件列表
2.2 所使用的軟件
§ TIA Portal V11 SP2
§ SCOUT V4.2.1
2.3 通訊參數(shù)設(shè)置
硬件連接配置
圖1 硬件連接示意圖
CPU 1214C和D410PN本身都帶有集成PN口,可以直接使用。
IP 地址設(shè)置(子網(wǎng)掩碼均為255.255.255.0):
DEVICE
|
IP Address
|
CPU 1214C
|
192.168.0.4
|
D410DP
|
192.168.0.2
|
PC
|
192.168.0.10
|
表2 IP地址設(shè)置
3 項(xiàng)目配置
3.1 S7-1200的配置
打開(kāi)TIA Portal軟件,新建一個(gè)項(xiàng)目,在“添加新設(shè)備”中選擇所需的硬件及版本,如圖2所示。
圖2 選擇設(shè)備和版本
打開(kāi)設(shè)備視圖,設(shè)置設(shè)備“屬性”下的以太網(wǎng)地址為192.168.0.4,子網(wǎng)掩碼為255. 255.255.0。見(jiàn)圖3。
圖3 設(shè)置以太網(wǎng)地址
在設(shè)備視圖的屬性窗口中設(shè)置時(shí)鐘存儲(chǔ)器,將時(shí)鐘存儲(chǔ)器的地址設(shè)置為MB20,并使用其中的M20.5位,0和1信號(hào)以1Hz頻率切換,用來(lái)循環(huán)激活發(fā)送任務(wù),見(jiàn)圖4。
圖4 時(shí)鐘存儲(chǔ)器設(shè)置
3.2 D410PN的配置
打開(kāi)SCOUT軟件,新建一個(gè)項(xiàng)目,設(shè)置PG/PC接口為電腦的以太網(wǎng)卡,雙擊“INSERT SIMOTION DEVICE”后,選擇相應(yīng)版本的D410PN插入,并打開(kāi)硬件組態(tài)畫(huà)面,在其中設(shè)置PN口的以太網(wǎng)地址和子網(wǎng)掩碼,見(jiàn)圖5。
圖5 組態(tài)D410PN地址
4 通信指令
4.1 S7-1200側(cè)的指令調(diào)用
TCON,TDISCON,TSEND,TRCV等指令均可以在右側(cè)指令中的“通信—〉開(kāi)放式用戶通信”找到。本文中所有通訊指令均在background 中執(zhí)行。
S7-1200在本文中作為Server,通訊開(kāi)始前先激活TCON指令來(lái)建立服務(wù)器端口,并等待Client的建立連接請(qǐng)求,一旦通信連接成功建立,此時(shí)“REQ”就不再起作用,若想重新建立連接需先調(diào)用“TDISCON”斷開(kāi)連接,再?gòu)男录せ睢?/span>TCON”重新建立連接。
圖6 調(diào)用TCON
“REQ”:激活TCON功能。
“ID”:設(shè)置所建立連接的ID,以后的TSEND、TRCV、TDISCON均使用此ID。
“CONNECT”:連接配置DB,在配置完TCON參數(shù)后自動(dòng)生成。
“Done”:建立連接任務(wù)完成后置1。
“BUSY”:建立連接任務(wù)執(zhí)行中置1。
“ERROR”為1時(shí),在STATUS中顯示錯(cuò)誤代碼,“ERROR”為0時(shí),在STATUS中顯示指令執(zhí)行狀態(tài)代碼。
當(dāng)連接建立成功后,通過(guò)程序段2可以將“opensever”置0。
在調(diào)用TCON指令時(shí)系統(tǒng)會(huì)要求設(shè)置連接參數(shù),見(jiàn)圖7。
圖7 TCON連接參數(shù)設(shè)置
“伙伴”:選擇未指定。
“地址”:設(shè)置與S7-1200通訊的SIMOTION的地址。
“連接類型”:選擇TCP。
“連接ID”: 發(fā)送、接收和連接斷開(kāi)所使用的ID。
“連接數(shù)據(jù)”:設(shè)置新建或使用已有的連接DB。
“主動(dòng)建立連接”:選擇主動(dòng)建立連接的一方為客戶端,另一方為服務(wù)器。
“端口”:設(shè)置本地和伙伴的端口號(hào),在SIMOTION的指令中會(huì)用到這里。
設(shè)置TCON參數(shù)時(shí)要先選擇“連接數(shù)據(jù)”中的“新建”,建立一個(gè)新的Connection DB,然后再填寫(xiě)各個(gè)參數(shù)。
在通訊成功建立后,激活TSEND,TRCV指令(將發(fā)送指令的“REQ”端置1,將接收指令的“EN_R”置1),用來(lái)發(fā)送和接受數(shù)據(jù)。
圖8 TSEND連接參數(shù)設(shè)置
圖9 TRCV連接參數(shù)設(shè)置
注意:
(1) 在建立“DATA”中要插入的發(fā)送數(shù)據(jù)和接受數(shù)據(jù)DB時(shí),其塊訪問(wèn)的方式必須是“標(biāo)準(zhǔn)-與S7-300/400兼容”,否則在激活該指令時(shí)會(huì)報(bào)錯(cuò),見(jiàn)圖10。
(2) TSEND與TRCV的“ID”必須與TCON中設(shè)置的相同,而此“ID”與SIMOTION中的“ID”未必相同。
(3) TRCV在接收數(shù)據(jù)成功后,“NDR”會(huì)自動(dòng)置1,且“RCVD_LEN”會(huì)顯示接收到的數(shù)據(jù)長(zhǎng)度。
圖10 數(shù)據(jù) DB建立
若要斷開(kāi)當(dāng)前連接,則調(diào)用TDISCON。成功斷開(kāi)連接后,根據(jù)程序段6,“dis con”位會(huì)被重新置0。
圖11 TDISCON連接參數(shù)設(shè)置
4.2 SIMOTION側(cè)的指令調(diào)用
SIMOTION的通信指令可以在Command library中的“Communication->Data transfer”目錄下找到。通信程序塊“TCP”放在background中運(yùn)行。
tcpOpenClient指令,該指令用來(lái)在simotion 側(cè)激活客戶端端口,并向服務(wù)器發(fā)送連接請(qǐng)求,若請(qǐng)求成功,則建立連接,并返回連接ID。該指令需使用上跳沿單次觸發(fā),此函數(shù)只調(diào)用一次,得到連接ID后應(yīng)停止調(diào)用。
圖12 tcpOpenClient指令參數(shù)設(shè)置
“port”:設(shè)置simotion本地端口號(hào)。
“severAddress”:設(shè)置通訊服務(wù)器(S7-1200)地址(192.168.0.4)。
“serverport”:設(shè)置服務(wù)器(S7-1200)端口號(hào),必須與S7-1200組態(tài)中設(shè)置的相同。
“nextCommand”:
IMMEDIATELY:命令與后續(xù)所要執(zhí)行的命令同步執(zhí)行。
WHEN_COMMAND_DONE:命令執(zhí)行或失敗后執(zhí)行后續(xù)的命令,異步執(zhí)行。
本文中將程序放在simotion的background中執(zhí)行,因此若使用WHEN_COMMAND_DONE模式,有可能在該命令執(zhí)行時(shí)間過(guò)長(zhǎng)情況下導(dǎo)致background執(zhí)行超時(shí),系統(tǒng)報(bào)錯(cuò)停機(jī)。
“OUT”:函數(shù)調(diào)用返回信息,包括執(zhí)行狀態(tài)和返回的連接ID,后面的發(fā)送和接收指令均使用該ID。數(shù)據(jù)類型為結(jié)構(gòu)體(StructRetTcpOpenClient),參考表3。
結(jié)構(gòu)
|
名稱
|
數(shù)據(jù)類型
|
functionResult
|
狀態(tài)信息,查看
連接是否建立
|
DINT
|
connectionId
|
連接號(hào)
|
DINT
|
表3 TcpOpenClient返回值結(jié)
TcpSend指令用于發(fā)送數(shù)據(jù),與S7-1200的接收指令相對(duì)應(yīng),可循環(huán)調(diào)用。
圖13 TcpSend參數(shù)設(shè)置
“ConnectionId” :使用tcpOpenClient返回的ID。
“nextCommand”:
IMMEDIATELY:命令與后續(xù)所要執(zhí)行的命令同步執(zhí)行。
WHEN_COMMAND_DONE:命令執(zhí)行或失敗后執(zhí)行后續(xù)的命令,異步執(zhí)行。
本文中將程序放在simotion的background中執(zhí)行,因此若使用WHEN_COMMAND_DONE模式,有可能在該命令執(zhí)行時(shí)間過(guò)長(zhǎng)情況下導(dǎo)致background執(zhí)行超時(shí),系統(tǒng)報(bào)錯(cuò)停機(jī)。
“DataLength”:發(fā)送數(shù)據(jù)的字節(jié)長(zhǎng)度,本例為8,發(fā)送數(shù)據(jù)區(qū)的前8個(gè)字節(jié)。
“Data”:發(fā)送數(shù)據(jù)區(qū),數(shù)據(jù)類型為數(shù)組,ARRAY[0..4095] OF BYTE。
“OUT”:輸出通信狀態(tài)。
注意:SIMOTION的發(fā)送區(qū)(接收區(qū))與PLC的接收區(qū)(發(fā)送區(qū))數(shù)據(jù)長(zhǎng)度必須一致。
TcpReceive指令用于發(fā)送數(shù)據(jù),與S7-1200的接收指令相對(duì)應(yīng),可循環(huán)調(diào)用。
圖14 TcpReceive參數(shù)設(shè)置
“ConnectionId” :使用tcpOpenClient返回的ID。
“nextCommand”:
IMMEDIATELY:命令與后續(xù)所要執(zhí)行的命令同步執(zhí)行。
WHEN_COMMAND_DONE:命令執(zhí)行或失敗后執(zhí)行后續(xù)的命令,異步執(zhí)行。
本文中將程序放在simotion的background中執(zhí)行,因此若使用WHEN_COMMAND_DONE模式,有可能在該命令執(zhí)行時(shí)間過(guò)長(zhǎng)情況下導(dǎo)致background執(zhí)行超時(shí),系統(tǒng)報(bào)錯(cuò)停機(jī)。
“receivevarible”:接收數(shù)據(jù)區(qū),數(shù)據(jù)類型為數(shù)組,ARRAY[0..4095] OF BYTE。
“OUT”:調(diào)用函數(shù)返回信息,包括調(diào)用狀態(tài)和接收的字節(jié)數(shù)量。數(shù)據(jù)類型為結(jié)構(gòu)體(StructRetTcpReceive),參考表4。
結(jié)構(gòu)
|
名稱
|
數(shù)據(jù)類型
|
functionResult
|
接收狀態(tài)信息
|
DINT
|
dataLength
|
接收字節(jié)長(zhǎng)度
|
UDINT
|
表4 TcpReceive返回值結(jié)構(gòu)
5 實(shí)驗(yàn)過(guò)程
本例中使用的程序可以在“S7-1200.zip (1350 KB) ( 1350 KB )”和“D410.zip (1597 KB) ( 1597 KB ) ”這兩個(gè)壓縮包中找到。
首先在S7-1200側(cè)激活建立連接的指令“TCON”,等待SIMOTION側(cè)的連接請(qǐng)求,接著在SIMOTION側(cè)激活打開(kāi)客戶端指令“TcpOpenClient”,發(fā)送建立連接的請(qǐng)求。請(qǐng)求成功后,“TcpOpenClient”的返回值結(jié)構(gòu)中的functionResult會(huì)顯示“0”,同時(shí)在connec tionId中會(huì)返回ID(此ID與PLC中設(shè)置的ID未必一致)。
之后分別使能PLC側(cè)和SIMOTION側(cè)的發(fā)送接收指令,開(kāi)始數(shù)據(jù)傳送。
SIMOTION側(cè)WATCH TABLE監(jiān)控結(jié)果:
圖15 SIMOTION側(cè)接收和發(fā)送的數(shù)據(jù)
PLC側(cè)監(jiān)控表的監(jiān)控結(jié)果:
圖16 PLC側(cè)接收和發(fā)送的數(shù)據(jù)