浙江中煙工業(yè)有限責(zé)任公司杭州卷煙廠 張弛,范禮峰中科院合肥物質(zhì)研究院常州先進(jìn)所 王玉
西門子PLC I-Device Connection與S7 Connection在條煙與煙箱輸送線中的應(yīng)用
浙江中煙工業(yè)有限責(zé)任公司杭州卷煙廠 張弛,范禮峰
中科院合肥物質(zhì)研究院常州先進(jìn)所 王玉
杭州卷煙廠卷包車間條煙與煙箱輸送線是條煙運(yùn)輸及件煙送入高架庫的重要樞紐橋梁,它每天都承擔(dān)著繁重的運(yùn)輸任務(wù),一旦出現(xiàn)停機(jī),就需要大量的人力投入才能保證產(chǎn)品順利地進(jìn)入下一環(huán)節(jié)。由于條煙與煙箱輸送線連接了超高速包裝機(jī)、國產(chǎn)高速包裝機(jī)、中速包裝機(jī)、條煙收集機(jī)、封箱機(jī)等諸多機(jī)型,節(jié)點(diǎn)組成復(fù)雜,上下游配合密切,因此它的電控設(shè)計(jì)要求網(wǎng)絡(luò)通信能力強(qiáng),實(shí)時(shí)傳輸數(shù)據(jù)速度快,既能夠集中控制管理也能分流水線控制管理,且系統(tǒng)可靠性高。
條煙與煙箱輸送線涉及到卷包車間的諸多環(huán)節(jié),車間有三條生產(chǎn)線,每條生產(chǎn)線有8~12臺(tái)生產(chǎn)設(shè)備,它們生產(chǎn)出的產(chǎn)品需要送到封箱機(jī)進(jìn)行箱裝打包,然后送入碼垛區(qū)進(jìn)行碼垛。從控制學(xué)角度來說,應(yīng)有一個(gè)可控制三條生產(chǎn)線和煙箱輸送線的設(shè)備,而且每條生產(chǎn)線要有一個(gè)可整體控制輸送線啟停設(shè)備,每條生產(chǎn)線的各臺(tái)生產(chǎn)設(shè)備可以獨(dú)自控制產(chǎn)品是否通過輸送線運(yùn)送。因此設(shè)計(jì)上應(yīng)該有一個(gè)主控制柜,可整體控制三條條煙輸送線和煙箱輸送線。三條流水線各有一個(gè)分控柜。還包括了條煙提升、條煙收集機(jī)、條煙輸送動(dòng)力頭、箱裝輸送、箱裝稱重、箱裝提升等64個(gè)子站。
當(dāng)前西門子PLC基于工業(yè)以太網(wǎng)的通信方式有“S7 Connection”、“UDP Connection”、“PROFINET IO”、“ISO on TCP Connection”、“PROFINET IO I-Device Connection”等等?,F(xiàn)在大多數(shù)系統(tǒng)都使用“S7 Connection”通信,而在實(shí)際應(yīng)用中,我們選擇了S7 Connection與PROFINET IO I-Device Connection的混合連接方法,如圖1所示?,F(xiàn)場有一個(gè)總電控柜(使用S7-400 PLC),三條條煙輸送線和兩條件煙輸送線,每條條煙輸送線有1個(gè)分控柜(使用S7-300 PLC),28臺(tái)提升機(jī)、13臺(tái)收集機(jī)、19個(gè)動(dòng)力頭,在手動(dòng)狀態(tài)下可以單獨(dú)控制,自動(dòng)狀態(tài)下通過網(wǎng)絡(luò)給予的條件控制自動(dòng)運(yùn)行(為滿足此條件,特選型IM151-8 PN/DP CPU)。在這樣一個(gè)龐大的系統(tǒng)里,將3個(gè)分控柜的S7-300PLC和總電柜里的S7-400PLC通過“S7 Connection”連接通信,子站與分控柜之間的通信就使用PROFINET IO I-Device Connection的方法,方便快捷實(shí)時(shí)。這樣的設(shè)計(jì)方案,已經(jīng)應(yīng)用在實(shí)際生產(chǎn)中,達(dá)到預(yù)期效果。下面就簡單介紹一下這種混合連接的組態(tài)與編程方法。
圖1 現(xiàn)場設(shè)備站點(diǎn)通信圖
主控柜掛一個(gè)414-3PN/DP CPU,每條流水線分控柜掛一個(gè)315-2PN/DP CPU,主控柜與每個(gè)流水線的分控柜走“S7 connection”通信,每條流水線的分控柜下掛自己流水線內(nèi)的帶CPU的PROFINET IO子站(IM151-8 PN/DP CPU),PROFINET IO子站下還掛了一系列走PROFIBUS-DP的變頻器從站,分控柜通過PROFINET IO I-Device Connection連接方式與下掛子站實(shí)時(shí)通信,從分控柜觸摸屏就可以設(shè)置自己流水線內(nèi)子站的班次、牌號(hào)等數(shù)據(jù),并且能得到來自子站的故障信號(hào)和產(chǎn)量數(shù)據(jù)等,還可以改變子站下從站變頻器的參數(shù),控制子站下電機(jī)的運(yùn)行狀態(tài)。系統(tǒng)連接示意圖,如圖2所示。
圖2 整體設(shè)備系統(tǒng)連接示意圖
2.1主控柜PLC
硬件配置:S7-400 PLC ,CPU:414-3PN/DP。
硬件組態(tài)如圖3所示。
圖3 S7-400 PLC硬件組態(tài)
2.2分控柜PLC
硬件配置: S7-300 PLC,CPU:315-2PN/DP。
硬件組態(tài)如圖4所示。
圖4 S7-300 PLC硬件組態(tài)
2.3子站PLC
硬件配置:ET200S,CPU:IM151-8 PN/DP。
硬件組態(tài)如圖5所示。
圖5 IM151-8 PN/DP CPU硬件組態(tài)
3.1S7連接的網(wǎng)絡(luò)組態(tài)
打開SIMATIC MANAGER,選中自己設(shè)定的項(xiàng)目,在右邊項(xiàng)目欄里雙擊“Ethernet(1)”選項(xiàng)(圖6)。
圖6 SIMATIC MANAGER窗口
在打開的”NetPro”窗口中,右擊CPU 414-3pn/dp,選中“Insert New Connection”,在彈開的窗口中選擇三個(gè)分控柜的PLC項(xiàng)目,在Type欄選擇“S7 Connection”(圖7)。
圖7 Insert New Connection
3.2PROFINET IO I-Device的網(wǎng)絡(luò)組態(tài)
以A1提升機(jī)子站為例來說:首先在A1子站的硬件組態(tài)里的網(wǎng)絡(luò)屬性中選擇I-Device,然后勾選“I-Device mode”,并勾選第二個(gè)選項(xiàng)作為較高級設(shè)備共享,如圖8所示。
圖8 I-Device設(shè)備共享設(shè)置
然后點(diǎn)擊下方“NEW”選項(xiàng),增加需要進(jìn)行網(wǎng)絡(luò)交換的IO點(diǎn)數(shù)和長度,這里需要在“Transfer area type”一欄中選擇“Application”,然后選擇32位長度的INPUT和OUTPUT點(diǎn),如圖9所示。
圖9 Transfer area type
設(shè)置完畢后,點(diǎn)擊Options選項(xiàng)里的Create GSD file for I-Device創(chuàng)建一個(gè)它特有的I-Device網(wǎng)絡(luò)交換設(shè)備的GSD文件以便分控柜組態(tài)使用。如圖10所示。
圖10 創(chuàng)建GSD文件
創(chuàng)建完成后,回到分控柜S7-300 PLC里的硬件組態(tài),完成最關(guān)鍵的一步,就是把剛才創(chuàng)建的GSD文件添加到PROFINET IO SYSTEM里,如圖11所示。
圖11 添加GSD文件至PROFINET IO SYSTEM
依次把各條流水線內(nèi)的子站全部掛入PROFINET IO SYSTEM里,在S7-300主站里得到了每個(gè)子站的I address和Q address。這個(gè)地址就是分控柜與子站通信的識(shí)別地址,有了這個(gè)地址,只要在程序里將這些I地址的內(nèi)容傳遞到自己的DB塊里,或者將自己的數(shù)據(jù)如牌號(hào)班次等傳遞到Q地址里去。需要注意的是,因?yàn)樵赟7-300 PLC組態(tài)里每個(gè)子站的I address和Q address是相對于主站來說的,也就是說可以把這些I address當(dāng)作是主站的輸入點(diǎn),把Q address當(dāng)作是主站的輸出點(diǎn)。所以當(dāng)主站做通信編程的時(shí)候,要以這個(gè)為基礎(chǔ)。而在子站做通信編程的時(shí)候,就是以子站為主體,上文提到的做I-Device通信組態(tài)的時(shí)候的I點(diǎn)和Q點(diǎn),這時(shí)候就是子站的I和Q,與主站通信得到的內(nèi)容應(yīng)該寫在I點(diǎn)里,發(fā)給主站的內(nèi)容應(yīng)該寫在Q點(diǎn)里。
通信程序的編寫分兩大塊,一方面是S7通信的程序編寫,另一方面是PROFINET IO I-Device Connection的通信程序編寫。因?yàn)橥ㄐ攀侵髡九c子站、子站與主站的自由實(shí)時(shí)通信,所以我們既要在主站里寫傳遞語句,也要在子站里寫傳遞語句。
4.1S7通信程序編寫
S7通信是雙邊進(jìn)行的,因此需要在主控柜S7-400 PLC里和分控柜S7-300 PLC里編寫通信程序。但好處在于S7通信有標(biāo)準(zhǔn)的功能塊SFB12和SFB13,只需要調(diào)用便可。以主控柜和A分控柜通信為例說明。下面是主控柜里的程序:
第一段:主控柜數(shù)據(jù)到A分控柜(圖12)
圖12 S7-400主控柜數(shù)據(jù)到A分控柜程序
第二段:A分控柜數(shù)據(jù)到主控柜(圖13)
圖13 S7-400 A分控柜數(shù)據(jù)到主控柜程序
A分控柜里的程序,第一段:主控柜數(shù)據(jù)到A分控柜(圖14)
第二段:A分控柜數(shù)據(jù)到主控柜(圖15)
圖14 S7-300主控柜數(shù)據(jù)到A分控柜程序
圖15 S7-300 A分控柜數(shù)據(jù)到主控柜程序
由于都是常見的S7通信,有很多關(guān)于S7通信的教程,所以本文就不展開了,在此主要介紹PROFINET IO I-Device Connection的語句編寫。
4.2主站通信語句的編寫
由于主站網(wǎng)絡(luò)組態(tài)下掛的子站與子站的I address地址和Qaddress地址是默認(rèn)設(shè)置為連續(xù)的,因此給編寫程序帶來了極大的方便,只要用到一個(gè)簡單的指針尋址和循環(huán)就可以把雙邊的數(shù)據(jù)進(jìn)行傳遞,大大減少了工作量。下面是A分控柜的通信塊程序FC1:
第一段:提升機(jī)數(shù)據(jù)到分控柜
OPN DB 8
LAR1 P#832.0
LAR2 P#0.0
L 72
_001: T #times_1
L PID [AR1,P#0.0]
T DBD [AR2,P#0.0]
+AR1 P#4.0
+AR2 P#4.0
L #times_1
LOOP _001
第二段:分控柜數(shù)據(jù)到提升機(jī)
OPN DB9
LAR1 P#0.0
LAR2 P#880.0
L 72
_003: T #times_2
L DBD [AR1,P#0.0]
T PQD [AR2,P#0.0]
+AR1 P#4.0
+AR2 P#4.0
L #times_2
LOOP _003
這兩段程序都是通過執(zhí)行72次循環(huán),每1次循環(huán)中地址指針向后移4個(gè)字節(jié),也就是說主站向子站傳遞了288字節(jié)的數(shù)據(jù),子站也向主站傳遞了288字節(jié)的數(shù)據(jù)。在OB1主程序里調(diào)用FC1通信塊程序,只要上電后,網(wǎng)絡(luò)組態(tài)內(nèi)的子站便和分控柜S7-300 PLC實(shí)時(shí)做數(shù)據(jù)交互。不論數(shù)據(jù)如何改變,只要主站和子站都在網(wǎng)絡(luò)里,都在運(yùn)行狀態(tài),數(shù)據(jù)便實(shí)時(shí)交互。
4.3子站通信語句的編寫
子站通信塊程序與主站的通信塊程序類似,只要遵循3.2節(jié)中所說的特別要注意的規(guī)則,就下面以A1提升機(jī)子站為例,子站的通信程序塊FC1如下:
第一段:分控柜數(shù)據(jù)到提升機(jī)
OPN DB5
LAR1 P#256.0
LAR2 P#32.0
L 8
_001: T #times_1
L PID [AR1,P#0.0]
T DBD [AR2,P#0.0]
+AR1 P#4.0
+AR2 P#4.0
L #times_1
LOOP _001
第二段:提升機(jī)數(shù)據(jù)到分控柜
OPN DB5
LAR1 P#256.0
LAR2 P#0.0
L 8
_002: T #times_2
L DBD [AR2,P#0.0]
T PQD [AR1,P#0.0]
+AR1 P#4.0
+AR2 P#4.0
L #times_2
LOOP _002
這兩段程序主站和子站之間互相傳遞了32字節(jié)的數(shù)據(jù),上電后便不斷跟主站做著交互,這樣A分控柜主站與A1提升機(jī)子站之間的雙邊通信都已經(jīng)完成。按照相同編程的思路,把其他子站統(tǒng)統(tǒng)寫好通信塊,這樣PROFINET IO I-Device Connection的架構(gòu)已經(jīng)完成。接下來,就可以寫每臺(tái)設(shè)備各自的程序了。
S7 Connection與PROFINET IO I-Device Connection的混合連接雖然要求通信的雙方都要進(jìn)行組態(tài)和編程,但是它的組態(tài)和編程都極其方便,而且當(dāng)出現(xiàn)其中一個(gè)子站或多個(gè)子站掉站的情況,也不會(huì)對其他子站與主站的通信有影響。因此,系統(tǒng)具有穩(wěn)定的狀態(tài)和可靠的網(wǎng)絡(luò)成了它最大的優(yōu)點(diǎn)。對于工控編程者來說,在實(shí)際應(yīng)用中,遇到有多個(gè)子站而且既要可以遠(yuǎn)程集中控制又可以本地控制的時(shí)候,就可以采用PROFINET IO I-Device Connection方法來組態(tài)和編程。如果需要多個(gè)遠(yuǎn)程點(diǎn)控制,那就可以使用本文所說的S7 Connection與PROFINET IO I-Device Connection混合連接的方法。
[1] 西門子公司. SIEMENS. S7 - 400可編程序控制器產(chǎn)品目錄[Z].2003.
[2] 西門子公司. SIEMENS. S7 - 300可編程序控制器產(chǎn)品目錄[Z].2003.
[3] 西門子公司. SIMATIC自動(dòng)化系統(tǒng) S7 - 300入門指南[Z]. 2006.
張弛(1987-),現(xiàn)任浙江中煙工業(yè)有限責(zé)任公司杭州卷煙廠卷包車間電氣保養(yǎng)工。曾作為主要參與人開發(fā)的項(xiàng)目《基于PROFINET協(xié)議條煙輸送線故障統(tǒng)計(jì)分析系統(tǒng)的設(shè)計(jì)》獲得2014年全國設(shè)備管理一等獎(jiǎng)。主要研究方向?yàn)槲鏖T子PLC自動(dòng)控制、自動(dòng)化生產(chǎn)線系統(tǒng)的開發(fā)和優(yōu)化。
Application of Siemens PLC's I-Device Connection and S7 Connection in the Conveying Line of Cigarette Box and Carton
本文詳細(xì)介紹了基于工業(yè)以太網(wǎng)的西門子PLC中PROFINET IO IDevice Connection與S7 Connection混合連接的組態(tài)與編程方法,并成功應(yīng)用于杭州卷煙廠條煙與煙箱輸送線,實(shí)現(xiàn)了既能在子站獨(dú)立控制,又能在主站集中控制管理的模式,較好地適用于車間生產(chǎn)流水線。該系統(tǒng)具有實(shí)時(shí)交互能力強(qiáng),投入管理時(shí)間少,系統(tǒng)可靠性高的特點(diǎn),在其中某一個(gè)子站或多個(gè)子站掉站的情況下,系統(tǒng)還能保證其他節(jié)點(diǎn)正常運(yùn)行。
PLC;PROFINET IO I-Device Connection;S7 Connection;
This paper provides a detailed introduction for the configuration and programming method for the hybrid junction between Siemens PCL's PROFINET IO I-Device Connection and S7 Connection based on Industrial Ethernet. This system, which has been successfully applied to the conveying line of cigarette box and carton in HangZhou cigarette factory, is able not only to realize independent control in substation but also to adopt the centralized control management mode in master station. Thus, it can be effectively utilized for the production line in workshop. Characterized by strong real-time interactivity, little management time, and high reliability, this system can still ensure the normal operation of other nodes despite the failures of one or more substations..
PLC; PROFINET IO I-Device Connection; S7 Connection;