郭越 付永民
摘要:本文針對(duì)西門(mén)子可編程控制器在生產(chǎn)線升級(jí)改造過(guò)程中建立PLC之間的主-主通訊的難題,提出一種基于集成PN口的通訊解決方案。利用profinet總線實(shí)現(xiàn)s7-300 PLC之間的數(shù)據(jù)傳輸,實(shí)現(xiàn)了整個(gè)生產(chǎn)線上的通信連接的經(jīng)濟(jì)解決方法。為控制裝置的升級(jí)改造提供了很好的依據(jù),具有很強(qiáng)的實(shí)用性和借鑒性。并對(duì)S7-300 集成 PN 口的 S7 通信做了基本介紹,對(duì)其配置步驟以及編程方法作了完整的描述。
關(guān)鍵詞:s7通訊;連接資源;s7-300 PLC;集成 PN 口
1、技術(shù)現(xiàn)狀
在煙草生產(chǎn)企業(yè)中,基于profibus總線協(xié)議的西門(mén)子可編程控制器大范圍應(yīng)用。Profibus總線協(xié)議采用了ISO/OSI模型中的第一層、第二層以及必要時(shí)還采用了第七層??偩€傳輸采用RS485 串行總線。然而,profibus總線需要銅質(zhì)雙芯電纜,最高傳輸帶寬是12mbps,傳輸距離最長(zhǎng)為100米,傳輸?shù)膶?shí)時(shí)性不能滿足復(fù)雜的控制要求。針對(duì)這一現(xiàn)狀,西門(mén)子公司推出了適應(yīng)能力更強(qiáng)的基于工業(yè)以太網(wǎng)的profinet總線協(xié)議。它傳輸帶寬達(dá)到100mbps,兩個(gè)設(shè)備之間傳輸距離最長(zhǎng)為100米,實(shí)時(shí)性遠(yuǎn)比profibus及時(shí)準(zhǔn)確,而且不需要總線終端電阻,極大減少了網(wǎng)絡(luò)故障現(xiàn)象。在支持的通訊協(xié)議類(lèi)型中,profibus和profinet都支持S7通訊協(xié)議。但是在profinet協(xié)議中,S7通訊受到的限制更少,應(yīng)用更廣泛。
S7通訊協(xié)議是s7系列plc基于mpi、profibus、Ethernet網(wǎng)絡(luò)的一種優(yōu)化的通訊協(xié)議,在profibus總線中,主要用于s7-400/400、s7-300/400plc之間主-主通訊,也非常適合s7 plc與HMI通訊,例如與操作面板OP/TP以及與上位監(jiān)控軟件wincc的通信。
每個(gè)CPU都有資源限制,如過(guò)程映像區(qū)的大小、計(jì)數(shù)器/計(jì)時(shí)器的個(gè)數(shù)。同樣,通訊的資源也有限制,在產(chǎn)品樣本里有CPU的鏈接數(shù)量指標(biāo),這就是CPU 的通信資源。舊版本的S7-300PLC中有動(dòng)態(tài)連接和靜態(tài)連接之分,動(dòng)態(tài)連接是指通過(guò)MPI,PLC與plc通過(guò)調(diào)用SFC通信的通信連接,調(diào)用SFC時(shí)建立連接,停止調(diào)用時(shí)連接仍然維持,通過(guò)調(diào)用斷開(kāi)連接的SFC才能釋放連接資源;靜態(tài)連接指與HMI的通信連接,當(dāng)把OP/TP、WinCC連接到同一CPU時(shí)會(huì)發(fā)生有的OP/TP、WinCC連接不上,這是因?yàn)槭褂玫倪B接數(shù)已經(jīng)超過(guò)了CPU的連接資源限制,此外還有一個(gè)靜態(tài)連接資源保留給編程器用。
PLC與PLC之間的通信也占用這些資源,一個(gè)s7的連接要占用一個(gè)靜態(tài)連接,因?yàn)閟7-300PLC靜態(tài)連接資源較少,所以在profibus總線系統(tǒng)中s7-300系統(tǒng)建議不采用s7連接。同時(shí)s7-300系統(tǒng)之間也不能直接建立s7連接,可以通過(guò)最新版本CP342-5(V5.0以上)、CP343-1擴(kuò)展16個(gè)s7連接而只占用CPU一個(gè)連接資源。S7-300 PLC只能作為通信的Server,s7-300PLC可以通過(guò)CP與s7-300PLC(通過(guò)CP)建立雙邊s7通信,通過(guò)發(fā)送/接收功能塊相互訪問(wèn)對(duì)方數(shù)據(jù)。
2、基于profinet總線協(xié)議的s7通信
隨著profinet技術(shù)的成熟和推廣,profinet IO系統(tǒng)和profinet CBA系統(tǒng)已經(jīng)應(yīng)用在新的生產(chǎn)線上,大量正常運(yùn)行的生產(chǎn)線改造在經(jīng)濟(jì)性考慮無(wú)法大規(guī)模把舊的控制器更換為新的控制器,把profibus總線全部更換為profinet總線也面臨極大的技術(shù)難題,針對(duì)這一現(xiàn)象,新門(mén)子公司推出了集成profinet端口的s7-300 PLC系統(tǒng),上位采用profinet總線協(xié)議,下位采用profibus總線,為技術(shù)改造提供了極大的方便。
由于集成了profinet端口,s7-300 PLC具有更靈活的適應(yīng)性,在通訊資源方面,集成PN端口的s7-300 PLC最大擁有16個(gè)靜態(tài)連接資源,不需要再通過(guò)CP網(wǎng)卡進(jìn)行擴(kuò)展連接資源。而且兩個(gè)集成PN端口的s7-300 PLC之間不僅可以作為通信的Server端,還可以作為Client端。從而使兩個(gè)集成PN端口的s7-300 PLC之間可以直接建立s7連接。
在profibus總線協(xié)議中,兩個(gè)PLC之間建立s7通訊,為了滿足實(shí)時(shí)性的要求,需要在兩個(gè)PLC的DP端口進(jìn)行硬件上的總線直接連接,如果兩個(gè)PLC相距較遠(yuǎn),受到profibus傳輸距離最長(zhǎng)100米的限制,就需要RS485中繼器的支持,給應(yīng)用造成極大的不便。而在profinet總線協(xié)議中,相距較遠(yuǎn)的兩個(gè)PLC之間可以不直接進(jìn)行總線連接,可以借助車(chē)間工業(yè)以太網(wǎng)Scalance交換機(jī)進(jìn)行連接,在技術(shù)上提供了極大的便利。
3、s7通信中三種發(fā)送、接收方法的比較
在進(jìn)行s7通信編程中,可以根據(jù)實(shí)際情況調(diào)用不同的功能塊實(shí)現(xiàn)數(shù)據(jù)發(fā)送和接收,在Libraries子項(xiàng)standard中的communication Blocks內(nèi)可以調(diào)用不同的功能塊進(jìn)行編程。下面對(duì)功能塊進(jìn)行簡(jiǎn)單的介紹:
在s7-300中FB8和FB9、FB12和FB13成對(duì)使用,一端發(fā)送,一端接收。FB14和FB15在單邊使用,其中FB12和FB13 所能傳輸?shù)臄?shù)據(jù)量最大,可達(dá)65534字節(jié)。綜上所述,傳輸數(shù)據(jù)量大并需要對(duì)數(shù)據(jù)進(jìn)行接收確認(rèn)時(shí),采用FB12和FB13功能塊;對(duì)數(shù)據(jù)準(zhǔn)確性要求較低時(shí),可以采用FB8和FB9功能塊;在一個(gè)PLC中進(jìn)行單邊讀寫(xiě)時(shí),可以采用FB14和FB15功能塊。
4、集成PN口的s7-300 PLC之間的s7通信示例
結(jié)合許昌卷煙廠制絲線改造,詳細(xì)講解s7通信的應(yīng)用實(shí)例。在許昌卷煙廠制絲線HXD前喂料機(jī)和電子秤改造中,我們應(yīng)用了集成PN口的s7-300 PLC之間的s7通信進(jìn)行數(shù)據(jù)傳輸。CPU 采用兩個(gè) 315-2PN/DP,使用以太網(wǎng)進(jìn)行通信。
4.1 硬件連接
由于車(chē)間級(jí)由Scalance交換機(jī)組成環(huán)網(wǎng),所以我們采用總線物理連接借助Scalance交換機(jī),節(jié)省總線電纜,連接方便。PLC與最近的Scalance交換機(jī)進(jìn)行總線連接。如果車(chē)間級(jí)沒(méi)有工業(yè)以太網(wǎng),我們可以將兩臺(tái)PLC直接進(jìn)行總線連接。
4.2 網(wǎng)絡(luò)組態(tài)
硬件平臺(tái)建好后,我們需要硬件組態(tài)。在 STEP7 中創(chuàng)建一個(gè)新項(xiàng)目,項(xiàng)目名稱為 PN S7。插入兩個(gè) S7-300 站,在硬件組態(tài)中,分別插入 CPU 315-2 PN/DP。如圖 1所示。
新建以太網(wǎng),打開(kāi)“NetPro”設(shè)置網(wǎng)絡(luò)參數(shù),選中 CPU,在連接列表中建立新的連接。如圖 2 所示。
然后雙擊該連接,設(shè)置連接屬性。在“General”屬性中塊參數(shù) ID = 1,這個(gè)參數(shù)即是下面程序中的參數(shù)“ID”。在 SIMATIC 315PN-1 中激活“Establish an active connection”,作為 Client 端,SIMATIC 315PN-2 作為 Server 端。
4.3 軟件編程
由于此項(xiàng)目中傳輸?shù)臄?shù)據(jù)需要參與控制,必須保障數(shù)據(jù)的準(zhǔn)確性,所以采用FB12和FB13功能塊進(jìn)行確認(rèn)數(shù)據(jù)接收的數(shù)據(jù)傳輸。如果在應(yīng)用中數(shù)據(jù)要求等級(jí)不高,可以采用FB8和FB9功能塊進(jìn)行無(wú)確認(rèn)數(shù)據(jù)接收的數(shù)據(jù)傳輸,減少通訊傳輸負(fù)載。
SFB/FB 12 "BSEND" 向類(lèi)型為“BRCV”的遠(yuǎn)程伙伴 SFB/FB 發(fā)送數(shù)據(jù)。通過(guò)這種類(lèi)型的數(shù)據(jù)傳送,更多的數(shù)據(jù)可以在通訊伙伴之間傳輸,超過(guò)任何其它用于組態(tài)的S7 連接的通訊SFB/FB 所能傳輸?shù)臄?shù)據(jù)量。
要發(fā)送的數(shù)據(jù)區(qū)是分段的。各個(gè)分段單獨(dú)發(fā)送給通訊伙伴。通訊伙伴在接收到最后一個(gè)分段時(shí)對(duì)此分段進(jìn)行確認(rèn),該過(guò)程與相應(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)度??梢酝ㄟ^(guò) 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ù)傳送將被取消。如果傳送成功完成,則通過(guò)將狀態(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)自類(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ù)??梢酝ㄟ^(guò) 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 上完全相同。通過(guò)狀態(tài)參數(shù) NDR 的數(shù)值為 1 來(lái)指示所有數(shù)據(jù)段的無(wú)錯(cuò)接收。接收到的數(shù)據(jù)保持不變,直到通過(guò) EN_R=1 來(lái)重新調(diào)用 SFB/FB 13 為止。如果在數(shù)據(jù)的異步接收期間調(diào)用塊,則將引發(fā)一個(gè)警告,該警告通過(guò) STATUS 參數(shù)輸出;如果當(dāng)控制輸入 EN_R數(shù)值為 0 時(shí)進(jìn)行調(diào)用,則接收將被終止,并且 SFB/FB 將返回到它的初始狀態(tài)。
打開(kāi) SIMATIC 315PN-1 的 OB1,在 OB1 中依次調(diào)用 FB12,F(xiàn)B13 如圖 3、圖 4 所示:
同樣,在 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。如圖 5 所示。
同理,將 SIMATIC 315PN-2 的 MB120-MB129 賦值為 B#16#05,SIMATIC 315PN-1 的MB130-MB139 接收到 B#16#05。如圖 6 所示。
編程完成后,為了防止s7通信連接資源過(guò)少而觸發(fā)PLC通訊故障報(bào)警,在PLC屬性communication中修改s7通信連接資源為10,經(jīng)過(guò)在線監(jiān)測(cè),數(shù)據(jù)傳輸準(zhǔn)確無(wú)誤。
4.4 效果驗(yàn)證
經(jīng)過(guò)編程,建立通訊連接后,我們對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行監(jiān)控,數(shù)據(jù)傳輸迅速準(zhǔn)確,總線網(wǎng)絡(luò)運(yùn)行穩(wěn)定可靠,經(jīng)過(guò)連續(xù)6個(gè)月的運(yùn)行,沒(méi)有出現(xiàn)錯(cuò)誤報(bào)警。
5、結(jié)束語(yǔ)
本文結(jié)合現(xiàn)場(chǎng)實(shí)際情況,具體分析需要采用的技術(shù),為實(shí)際工作提供了一種解決實(shí)際問(wèn)題的思路。通過(guò)本廠的實(shí)踐證明,該s7通訊系統(tǒng)性能穩(wěn)定,運(yùn)行良好,便于調(diào)試和維護(hù),具有很強(qiáng)的實(shí)用性和借鑒性。
參考文獻(xiàn)
[1] 崔堅(jiān) 《西門(mén)子工業(yè)網(wǎng)絡(luò)通訊指南.上冊(cè)》 機(jī)械工業(yè)出版社 2004年9月
[2] 崔堅(jiān) 《西門(mén)子工業(yè)網(wǎng)絡(luò)通訊指南.下冊(cè)》 機(jī)械工業(yè)出版社 2004年9月
[3] 廖常初 《大中型PLC應(yīng)用教程》 機(jī)械工業(yè)出版社 2005年2月