劉豐年
摘要:利用S7-1200PLC自身集成的以太網(wǎng)接口將S7通信應(yīng)用于S7-1200與S7-200 SMART之間進行通訊測試,實驗表明,在S7-1200側(cè)編程調(diào)用PUT/GET指令可以成功實現(xiàn)與S7-200 SMART PLC之間的通信,具有一定的實際應(yīng)用價值。
關(guān)鍵詞:S7-1200;S7-200 SMART;以太網(wǎng);通信
中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1007-9416(2017)07-0034-02
S7-1200 CPU本體集成的以太網(wǎng)通信接口(PROFINET通信口)功能強大,配合西門子公司為S7系列PLC專門優(yōu)化設(shè)計的太網(wǎng)傳輸層通信協(xié)議(S7通信協(xié)議)可以實現(xiàn)多種西門子工控設(shè)備之間的通信。
1 S7-1200 CPU集成以太網(wǎng)接口
S7-1200 CPU本體上集成了一個PROFINET通信口,支持以太網(wǎng)通信標(biāo)準(zhǔn)。這個PROFINET 物理接口是支持10/100Mb/s的 RJ45口,支持電纜交叉自適應(yīng),因此一個標(biāo)準(zhǔn)的或是交叉的以太網(wǎng)線都可以用于這個接口。此接口除了可以實現(xiàn)S7-1200 CPU與編程設(shè)備及人機界面的通信外,也經(jīng)常用于S7-1200 CPU與其他CPU之間的通信。常見的S7-1200 CPU與其他CPU之間的通信方法如下所述:
1.1 S7-1200 CPU之間的通信
S7-1200 CPU之間進行通信采用開放式用戶通信,一般可以使用緊湊型指令TSEND_C和TRCV_C,它們除了發(fā)送或接收功能外,還可以建立和斷開連接。開放式用戶通信可以使用ISO-ON-TCP連接或TCP連接,連接參數(shù)采用圖形方式組態(tài)[1]。
1.2 S7-1200與S7-300/400通信
S7-1200與S7-300/400通信可采用ISO-ON-TCP和TCP連接的以太網(wǎng)通信,此種通信方式下S7-300/400需要配置以太網(wǎng)模塊,或使用有以太網(wǎng)接口的CPU。S7-1200調(diào)用TSEND_C和TRCV_C指令,S7-300/400調(diào)用AG_SEND和AG_RCV指令。雙方都需要組態(tài)連接,通信伙伴為“未指定”。S7-1200與S7-300/400通信也可以采用S7連接的以太網(wǎng)通信,在S7通信中,S7-1200只能作服務(wù)器,不需要對它的S7通信組態(tài)和編程。S7-300/400在通信中做客戶機,需要用STEP 7的網(wǎng)絡(luò)組態(tài)工具NetPro建立S7單向連接,調(diào)用PUT和GET指令來實現(xiàn)通信[2-3]。
1.3 S7-1200與S7-200通信
S7-1200與S7-200通信采用S7連接的以太網(wǎng)通信實現(xiàn),S7-200需要配以太網(wǎng)模塊CP 243-1,S7-1200的以太網(wǎng)接口在S7通信中只能作服務(wù)器,在通信中它是被動的,不需要作任何組態(tài)和編程的工作。S7-200 CPU在通信中作客戶機,需要用S7-200的以太網(wǎng)向?qū)斫M態(tài),并調(diào)用組態(tài)時生成的指令來實現(xiàn)通信[4]。
2 S7通信協(xié)議
S7通信協(xié)議是專為西門子S7系列PLC優(yōu)化設(shè)計的一種基于MPI、PROFIBUS、ETHERNET等網(wǎng)絡(luò)的以太網(wǎng)傳輸層通信協(xié)議,該協(xié)議被廣泛應(yīng)用于各種西門子工控設(shè)備之間的通訊。S7協(xié)議協(xié)議會在數(shù)據(jù)傳輸開始之前建立到通信伙伴的邏輯連接。數(shù)據(jù)傳輸完成后,這些協(xié)議會在必要時終止連接。這種面向連接的協(xié)議尤其適用于注重可靠性的數(shù)據(jù)傳輸。一條物理線路上可以存在8個邏輯連接。在進行數(shù)據(jù)交換之前,控制器必須與通信伙伴建立連接,面向連接的協(xié)議具有較高的安全性。這里的連接是指兩個通信伙伴之間為了執(zhí)行通信服務(wù)建立的邏輯鏈路,而不是指兩個站之間用物理媒體(例如電纜)實現(xiàn)的連接。需要注意的是,實際應(yīng)用中,如果實用的版本不一樣S7-1200 CPU只支持S7通信的情況會有差別,通常情況下,在使用PORTAL V10.5軟件時,S7-1200 CPU只支持S7通信的服務(wù)器端;在使用STEP7 V11軟件時,S7-1200 CPU支持S7通信的服務(wù)器與客戶端[4]。
3 PUT/GET指令
PUT指令和GET指令用其唯一的輸入?yún)?shù)TABLE定義16B的表格,用該表格定義3個狀態(tài)位、錯誤代碼、遠程站的IP地址指向遠程站中要訪問的數(shù)據(jù)的指針、數(shù)據(jù)長度、指向本地站中要訪問的數(shù)據(jù)的指針。表1為PUT 指令參數(shù)說明,表2為GET指令參數(shù)說明。利用STEP7編程軟件中的PUT/GET向?qū)Э梢苑奖愕亟⒁蕴W(wǎng)通信連接。
4 硬件組態(tài)和網(wǎng)絡(luò)組態(tài)
實驗用S7-1200 CPU采用CPU1215C,其編程軟件為STEP7 V13 SP1。S7-200 SMART CPU采用ST30(固件V2.0),其編程軟件為STEP 7 Micro/WIN SMART V2.1。
(1)在TIA軟件中新建一個項目,添加1個S7-1200站點,并為其分配網(wǎng)絡(luò)和IP地址,如圖1所示。
(2)打開網(wǎng)絡(luò)視圖,為S7-1200 CPU添加一個新連接。
(3)添加新連接,對話框中應(yīng)選選擇“未指定”,添加好后,需要對新創(chuàng)建的連接伙伴方的IP地址和TSAP地址進行設(shè)置。其中,S7-200 SMART側(cè)的TSAP設(shè)置為03.00或者03.01。
5 軟件程序編程
(1)創(chuàng)建發(fā)送數(shù)據(jù)塊DB1(接收區(qū)數(shù)據(jù)塊DB2類似),數(shù)據(jù)塊定義為200個字節(jié)的數(shù)組且數(shù)據(jù)塊的屬性中需要取消“優(yōu)化的塊訪問”選項。(2)發(fā)送數(shù)據(jù)塊與接收數(shù)據(jù)塊創(chuàng)建完成后,即可在OB1中調(diào)用PUT/GET指令,進行S7通信。
通過以上程序用S7-1200可將通信數(shù)據(jù)區(qū)DB1中的200個字節(jié)發(fā)送到S7-200 SMART的VB 數(shù)據(jù)區(qū),并讀取S7-200 SMART中的VB數(shù)據(jù)區(qū)存儲到S7-1200的數(shù)據(jù)區(qū)DB2中。由于S7-200 SMART 做S7通訊的服務(wù)器,占用S7-200 SMART PLC的服務(wù)器連接資源,因此,S7-200 SMART PLC本身不需要編寫通訊程序。
6 通信狀態(tài)監(jiān)控
在TIA軟件的網(wǎng)絡(luò)視圖中,將軟件切換到在線模式,監(jiān)控S7連接狀態(tài),S7連接圖標(biāo)顯示為綠色,說明S7-1200與S7-200 SMART之間成功建立了通信連接。
此時如果S7-1200觸發(fā)PUT/GET指令,通過TIA軟件監(jiān)控表和STEP 7 Micro/WIN SMART軟件的狀態(tài)表,就可以監(jiān)控數(shù)據(jù)通信。S7-200 SMART中V區(qū)對應(yīng)于DB1,即在PUT指令中使用的通信伙伴數(shù)據(jù)區(qū)ADDR_1=P#DB1.DBX0.0 BYTE 200在S7-200 SMAR中對于為VB0~VB199。實驗表明,該種通信方式實現(xiàn)了S7-1200與S7-200 SMART之間的數(shù)據(jù)通信。
7 結(jié)語
本文利用S7-1200集成以太網(wǎng)接口,采用PUT/GET指令,將S7通信應(yīng)用于S7-1200與S7-200 SMART之間的通訊,經(jīng)過實驗測試發(fā)現(xiàn)在S7-1200側(cè)編程調(diào)用PUT/GET指令能夠成功實現(xiàn)與S7-200 SMART PLC之間的通信。
參考文獻
[1]王文靜.S7-200 PLC與S7-1200 PLC串口通信實時性分析[J].機電信息,2016,(12):126-127.
[2]王大鵬,王濤,蘇孝國.基于TIA Portal環(huán)境的S7-1200的OPC通訊[J].可編程控制器與工廠自動化,2014,(9):97-101.
[3]張東,劉壯,高長水,等.基于TCP協(xié)議的PC與西門子S7-1200PLC通信研究[J].自動化技術(shù)與應(yīng)用,2016,35(8):93-97,120.
[4]廖常初.S7-1200 PLC編程與應(yīng)用[M].北京:中國電力出版社,2015:169-171.endprint