朱 昊,朱曉春,謝瀟晗
(南京工程學(xué)院 江蘇省先進(jìn)數(shù)控技術(shù)重點(diǎn)實(shí)驗(yàn)室,南京 211167)
車間作為制造業(yè)的基礎(chǔ)單元,是企業(yè)進(jìn)行生產(chǎn)制造的關(guān)鍵場(chǎng)所,如何提高車間的智能化以及信息化,一直是企業(yè)不斷追求的目標(biāo)。隨著工業(yè)4.0和中國(guó)制造2025的相繼提出,智能制造逐漸被公眾所認(rèn)知。制造業(yè)已經(jīng)向智能化發(fā)展,車間的結(jié)構(gòu)越來(lái)越復(fù)雜,信息流層次越來(lái)越多。隨著車間控制與管理系統(tǒng)(Factory Control and Management System,F(xiàn)CMS)中設(shè)備數(shù)量以及種類的日益增多,F(xiàn)CMS系統(tǒng)中用來(lái)傳輸車間控制、故障報(bào)警、生產(chǎn)監(jiān)視、能效管理的車間通信網(wǎng)絡(luò)的帶寬要求也不斷增加。此外,隨著制造業(yè)的不斷發(fā)展,不斷有新的信息流加入到FCMS中。以CAN、Modbus、Lonworks等總線為代表的傳統(tǒng)自動(dòng)化系統(tǒng)中,一個(gè)很大缺陷就是帶寬受限,與此同時(shí),以Ethernet為代表的辦公通信網(wǎng)絡(luò)不斷發(fā)展,因此兼容設(shè)備層的以太網(wǎng)通信已成為一種必然趨勢(shì)。目前,以西門子、三菱等大型制造企業(yè)普遍采取現(xiàn)場(chǎng)總線和工業(yè)以太網(wǎng)相兼容的通信系統(tǒng)[1-4]。為了適應(yīng)這一趨勢(shì),PROFIBUS International制定了PROFINET協(xié)議。PROFINET協(xié)議兼容PROFIBUS總線技術(shù),可以進(jìn)行現(xiàn)場(chǎng)級(jí)、控制級(jí)的數(shù)據(jù)傳輸和通信。然而這種通信通常是非實(shí)時(shí)性的。這種數(shù)據(jù)傳輸并不能滿足設(shè)備層的數(shù)據(jù)尤其是IRT數(shù)據(jù)的實(shí)時(shí)性要求。因此網(wǎng)絡(luò)控制系統(tǒng)中的實(shí)時(shí)通信調(diào)度問(wèn)題一直是學(xué)術(shù)界的研究重點(diǎn)之一[5-6]。為克服傳統(tǒng)車間現(xiàn)場(chǎng)總線傳輸帶寬窄,速率低,智能化程度不高的缺點(diǎn),本文提出一種網(wǎng)絡(luò)化智能車間通信架構(gòu),在此基礎(chǔ)上實(shí)現(xiàn)新型的柔性化生產(chǎn)、任務(wù)重構(gòu)、設(shè)計(jì)、及銷售資源共享,對(duì)原有的單一總線車間進(jìn)行產(chǎn)線升級(jí),以提高其網(wǎng)絡(luò)化、信息化能力。
在現(xiàn)代FCMS系統(tǒng)中,數(shù)據(jù)通常有NRT、RT、IRT三個(gè)部分[7-8]。PROFINETIRT通過(guò)分時(shí)復(fù)用的方式將傳輸周期分成兩個(gè)通道:等時(shí)同步通道(IRT)和開(kāi)放通道,如圖1所示。圖中斜線部分表示同步和IRT數(shù)據(jù)傳輸時(shí)段,網(wǎng)格部分表示RT數(shù)據(jù)傳輸?shù)臅r(shí)段,豎線部分表示NRT數(shù)據(jù)傳輸時(shí)段。優(yōu)先級(jí)順序由高至低依次為IRT、RT、NRT。
圖1 實(shí)時(shí)通信數(shù)據(jù)傳輸方式
PROFINET用作控制網(wǎng)絡(luò)往往采取交換式以太網(wǎng)技術(shù),并且車間通信是由多級(jí)網(wǎng)絡(luò)構(gòu)成。其兼容設(shè)備層總線層以及以太網(wǎng)層。本文以PROFINET為主要控制網(wǎng)絡(luò),設(shè)計(jì)了一個(gè)兩主多從的分層通信網(wǎng)絡(luò)架構(gòu),如圖2所示。
圖2 車間通信系統(tǒng)架構(gòu)
圖中S7-400為主站,其余為從站。其中IE/PB為代理服務(wù)器,用于兼容Profibus總線層。在圖2的基礎(chǔ)上,本文抽象出車間通信的拓?fù)浣Y(jié)構(gòu),IOC1和IOC2為IO控制器,IOD1和IOD2為IO設(shè)備,IOD3和IOD4為IO模塊,通過(guò)代理服務(wù)器接入主網(wǎng),這里視為IO設(shè)備。整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),如圖3所示。
圖3 車間通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
將車間傳輸?shù)臄?shù)據(jù)按照實(shí)時(shí)性要求的高低依次分為過(guò)程數(shù)據(jù)和等時(shí)同步數(shù)據(jù)。假設(shè)M1~M6為6條要傳輸?shù)南ⅲ鶕?jù)源節(jié)點(diǎn)和目的節(jié)點(diǎn),得出可能的數(shù)據(jù)鏈路如表1所示。
表1 消息及任務(wù)傳輸?shù)慕M成
從表中可以看出,存在兩個(gè)任務(wù)使用一條鏈路的情況(例如M4和M6存在共用鏈路(D2-C1),因此需要對(duì)任務(wù)進(jìn)行相應(yīng)的調(diào)度,保證在某一時(shí)刻只能有一個(gè)任務(wù)使用鏈路。在介紹調(diào)度策略之前,先引入三個(gè)約束因子,第i個(gè)消息任務(wù)開(kāi)始時(shí)間si,第i個(gè)消息任務(wù)從發(fā)送端傳輸?shù)浇邮斩说膫鬏敃r(shí)間ei,第i個(gè)消息任務(wù)優(yōu)先級(jí)pi,si和ei組成了某一消息發(fā)送和接受的固定時(shí)間片,p決定了消息的優(yōu)先級(jí)別。
傳統(tǒng)的greedy算法總是在做出當(dāng)前看來(lái)是最好的選擇,不從整體最優(yōu)上來(lái)做出考慮,它得出的是局部的最優(yōu)解[12]。本文提出基于優(yōu)先級(jí)排序的greedy算法,采用兩個(gè)步驟進(jìn)行,先將消息任務(wù)按優(yōu)先級(jí)次序排序再使用貪婪算法對(duì)相同優(yōu)先級(jí)中的消息任務(wù)求解最優(yōu)路徑。
本文采用傳輸時(shí)間最短作為最優(yōu)路徑的選擇標(biāo)準(zhǔn)。即求解出的最優(yōu)路徑保證在單位時(shí)間內(nèi)傳輸?shù)南?shù)最大。以下介紹相關(guān)延時(shí)參數(shù)和調(diào)度模型。
(1)通信時(shí)延參數(shù)
1)發(fā)送延時(shí)(Tsent):設(shè)備從發(fā)送第一幀數(shù)據(jù)的第一個(gè)字節(jié)到發(fā)送完整個(gè)數(shù)據(jù)幀所需要的時(shí)間。
Tsent=L×bTD
(1)
公式(1)中,L表示一個(gè)數(shù)據(jù)幀的字節(jié)數(shù),對(duì)于不同的數(shù)據(jù)幀是不同的,bTD表示單位比特所需的時(shí)間,對(duì)于同一網(wǎng)絡(luò)bTD是一個(gè)定值。對(duì)于100Mbit/s的以太網(wǎng)取值在10ns,結(jié)合車間數(shù)據(jù)的特點(diǎn),假設(shè)M1~M6的數(shù)據(jù)位數(shù)都為最小值46B,再加上幀頭幀尾共64B。這樣計(jì)算M1~M6的發(fā)送延時(shí)則為5120ns。
2)傳輸延時(shí)(Ttrans):數(shù)據(jù)在以太網(wǎng)介質(zhì)中的傳輸時(shí)間,包括交換機(jī)延時(shí)Tswitch、線路延時(shí)Tline、接收延時(shí)Trec和裕量值δ,定義如公式(2)所示:
Ttrans=Tswitch+Tline+δ
(2)
式中,δ表示時(shí)間裕量,用來(lái)彌補(bǔ)有無(wú)交換機(jī)或者不同交換機(jī)帶來(lái)的時(shí)延誤差,Tswitch表示工業(yè)以太網(wǎng)交換機(jī)的存儲(chǔ)轉(zhuǎn)發(fā)延時(shí),對(duì)于同一個(gè)交換機(jī),視其為定值。本文使用西門子的SCALANCE X200交換機(jī),它的存儲(chǔ)轉(zhuǎn)發(fā)延時(shí)則為3275ns。Tline表示線纜延時(shí)。
(2)調(diào)度模型
以表1中的消息和任務(wù)為例,本文從以下兩個(gè)部分闡述調(diào)度模型:
1)數(shù)據(jù)優(yōu)先級(jí)排序:根據(jù)表1的數(shù)據(jù)類型,過(guò)程數(shù)據(jù)為RT數(shù)據(jù),等時(shí)同步數(shù)據(jù)為IRT數(shù)據(jù),由此得出M1~M6的優(yōu)先級(jí)為:
(p2,p5,p6)>(p3,p4)>(p1)
(3)
圖4 任務(wù)調(diào)度有向圖
本文采取線性拓?fù)浣Y(jié)構(gòu)作為工業(yè)以太網(wǎng)的基本結(jié)構(gòu)。其具有結(jié)構(gòu)簡(jiǎn)單、對(duì)實(shí)時(shí)性要求嚴(yán)苛等特性,非常適合本文的測(cè)試平臺(tái)。如圖5所示,本平臺(tái)采用STM32F429作為主控制器,配備有 Siemens公司S7-400系列PLC一個(gè),SCALANCE X200一臺(tái),數(shù)控面板828D一個(gè)(帶Profinet模塊),赫優(yōu)訊公司的PROFINET 從站兩個(gè),PC機(jī)4臺(tái)。由主控制器生成任務(wù)調(diào)度表,再根據(jù)調(diào)度表使用STEP7組態(tài)軟件對(duì)西門子的相關(guān)設(shè)備進(jìn)行配置。4臺(tái)PC機(jī)中,在其中的3臺(tái)上安裝了網(wǎng)絡(luò)發(fā)包軟件HTT、網(wǎng)絡(luò)封包接收軟件Iperf,pc連到相應(yīng)的Profinet設(shè)備和交換機(jī)端口上,用于模擬實(shí)際中的Profinet數(shù)據(jù)流。主PC安裝有STEP7組態(tài)軟件和Wireshark網(wǎng)絡(luò)報(bào)文分析工具。實(shí)物圖如圖5所示。
圖5 系統(tǒng)實(shí)物圖
先根據(jù)具體的消息任務(wù)通過(guò)STM32F429生成任務(wù)調(diào)度表,再通PC機(jī)同步任務(wù)調(diào)度表,最后用STEP7配置西門子相關(guān)設(shè)備進(jìn)行通信。通過(guò)PC機(jī)上的netANALYZER和Wireshark軟件監(jiān)控通信網(wǎng)絡(luò)中的數(shù)據(jù)流量。系統(tǒng)運(yùn)行從t0=0開(kāi)始計(jì)時(shí),把Wireshark抓取到最后一個(gè)數(shù)據(jù)幀所需的時(shí)間作為傳輸完成的時(shí)間。通過(guò)Wireshark分析可得到,傳輸完成M1~M6的消息時(shí),所用時(shí)間為0.53ms,而若采用傳統(tǒng)的西門子S7內(nèi)部調(diào)度器傳輸時(shí),所需要的時(shí)間為18.20ms。當(dāng)任務(wù)數(shù)量不斷的增加至20、30、50、70、100時(shí),采用兩種調(diào)度算法得到的任務(wù)完工時(shí)間如圖6所示。通過(guò)任務(wù)交付時(shí)間曲線的變化趨勢(shì)可以看出:在交換機(jī)一定的情況下,采用greedy算法所得到的任務(wù)完工時(shí)間比采用傳統(tǒng)傳統(tǒng)的西門子S7內(nèi)部調(diào)度器調(diào)度所需的時(shí)間少。當(dāng)任務(wù)為14時(shí),采用greedy算法的任務(wù)交付時(shí)間要比使用傳統(tǒng)的西門子S7內(nèi)部調(diào)度器的任務(wù)交付時(shí)間快4.892ms;同時(shí)任務(wù)量越大,算法優(yōu)勢(shì)越明顯。從實(shí)驗(yàn)數(shù)據(jù)可知,本算法可以有效提高系統(tǒng)傳輸時(shí)間,且當(dāng)任務(wù)量越大時(shí),采用greedy算法的優(yōu)勢(shì)越大。
圖6 兩種調(diào)度算法的任務(wù)交付時(shí)間對(duì)比
本文提出了一種基于實(shí)時(shí)工業(yè)以太網(wǎng)profinet的E-車間通信網(wǎng)絡(luò)解決方案,設(shè)計(jì)了基于改進(jìn)型greedy算法的通信調(diào)度策略,克服了傳統(tǒng)西門子S7內(nèi)部調(diào)度算法耗時(shí)較長(zhǎng)的缺點(diǎn)。通過(guò)對(duì)通信延時(shí)進(jìn)行建模得到了多任務(wù)的任務(wù)調(diào)度表?;赟TM32以及Profinet設(shè)備構(gòu)建了物理測(cè)試平臺(tái),對(duì)算法進(jìn)行了驗(yàn)證。實(shí)驗(yàn)表明本系在智能車間通訊方面有著實(shí)際的意義。
DOI:10.1109/WFCS.2014.6837578.