肖志斌
(北京中冶設(shè)備研究設(shè)計(jì)總院有限公司,北京 100029)
邯鋼電鍍鋅生產(chǎn)線原為邯鋼冷軋廠彩圖生產(chǎn)線,由北京中冶設(shè)備研究設(shè)計(jì)總院負(fù)責(zé)全線的改造工程,將原彩圖工藝改造成電鍍鋅的工藝,冶金設(shè)備院自動(dòng)化部負(fù)責(zé)全線的電氣改造任務(wù),包括控制系統(tǒng)設(shè)計(jì)、軟件編程及調(diào)試。原彩圖生產(chǎn)線控制系統(tǒng)為羅克韋爾的Contrologix 1756L55控制器,采用ControlNet網(wǎng)絡(luò),改造后的電鍍鋅生產(chǎn)線控制系統(tǒng)升級(jí)到Contrologix 1756L62,并增加一個(gè)控制器負(fù)責(zé)新工藝的控制。
全線控制系統(tǒng)被劃分為四個(gè)控制機(jī)架,總共由10個(gè)1756L62控制器組成,入口段的機(jī)架配置3個(gè)1756L62控制器,工藝1段配置4個(gè)1756L62控制器,工藝2段配置1個(gè)1756L62控制器,出口段配置2個(gè)1756L62控制器,每個(gè)控制器承擔(dān)不同的任務(wù),各個(gè)機(jī)架通過(guò)ControlNet網(wǎng)絡(luò)連接,控制器之間有大量的數(shù)據(jù)通訊,包括布爾量、整型、實(shí)型、字符串等數(shù)據(jù)。通過(guò)生產(chǎn)者/消費(fèi)者通信模式,各個(gè)控制器之間、控制器與ControlNet網(wǎng)絡(luò)上的節(jié)點(diǎn)之間能高速高效的傳送各種數(shù)據(jù)類型的數(shù)據(jù),硬件組態(tài)簡(jiǎn)單,無(wú)需進(jìn)行網(wǎng)絡(luò)編程。但是在硬件組態(tài)和ControlNet網(wǎng)絡(luò)組態(tài)過(guò)程中,如何設(shè)置好RPI時(shí)間與NUT時(shí)間,是網(wǎng)絡(luò)組態(tài)成功及網(wǎng)絡(luò)數(shù)據(jù)傳輸速度、所傳輸數(shù)據(jù)流量大小的關(guān)鍵。
ControlNet網(wǎng)絡(luò)是一種高速且時(shí)間確定性的網(wǎng)絡(luò),它為對(duì)等通信提供實(shí)時(shí)控制和報(bào)文傳送服務(wù),又可作為為控制器和I/O設(shè)備之間的一條高速通信鏈路,它在同一鏈路上滿足I/O數(shù)據(jù)實(shí)時(shí)互鎖、端到端報(bào)文傳輸和編程/組態(tài) ,且允許多個(gè)控制器同時(shí)并存,允許輸入數(shù)據(jù)和端到端數(shù)據(jù)的多路組播。
ControlNet 最重要的功能是從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)傳送時(shí)間確定性的控制信息(如IO狀態(tài)信息),也叫做預(yù)定信息,它也傳送其他信息(非時(shí)間確定性信息,如程序上傳和下載),也叫非預(yù)定信息。ControlNet控制網(wǎng)采用時(shí)間限制存取算法控制網(wǎng)絡(luò)上各個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)刷新時(shí)間(Network Update Time,NUT),以實(shí)現(xiàn)網(wǎng)絡(luò)上預(yù)定信息和非預(yù)定信息的正常傳送。
NUT時(shí)間是一種可重復(fù)的時(shí)基,可以在2~100ms范圍內(nèi)調(diào)整,其默認(rèn)值為5ms。每一個(gè)NUT時(shí)間主要被劃分為三個(gè)部分:預(yù)定信息、非預(yù)定信息和網(wǎng)絡(luò)維護(hù)信息。在預(yù)定信息傳送時(shí)間內(nèi),網(wǎng)絡(luò)保證每一個(gè)節(jié)點(diǎn)有機(jī)會(huì)傳送信息,時(shí)間確定性信息在預(yù)定信息傳送時(shí)間內(nèi)傳送;在非預(yù)定信息傳送時(shí)間內(nèi),控制網(wǎng)允許所有節(jié)點(diǎn)傳送數(shù)據(jù),直至分配給此部分的時(shí)間用完為止,傳送非預(yù)定信息的時(shí)間分配取決于預(yù)定信息的通訊量,但是控制網(wǎng)能保證有至少一個(gè)節(jié)點(diǎn)有機(jī)會(huì)傳送非預(yù)定信息;在網(wǎng)絡(luò)維護(hù)時(shí)間內(nèi),控制網(wǎng)讓地址最小的節(jié)點(diǎn)傳送信息來(lái)保持與其他的節(jié)點(diǎn)同步,網(wǎng)絡(luò)維護(hù)時(shí)間由控制網(wǎng)自動(dòng)從NUT時(shí)間里扣除[1]。
RPI(Requested Packet Interval)時(shí)間是控制器的數(shù)據(jù)采樣間隔時(shí)間,實(shí)際上也就是采樣時(shí)間限幅值,控制器周期性的采樣控制網(wǎng)絡(luò)上節(jié)點(diǎn)的數(shù)據(jù)包,而實(shí)際采樣周期(實(shí)際數(shù)據(jù)包間隔)稱為API(Actual Packet Interval),API時(shí)間總是小于或等于RPI時(shí)間,它是由控制網(wǎng)根據(jù)所傳送數(shù)據(jù)包的大小及傳送速度來(lái)自動(dòng)選取的。
NUT設(shè)定可以通過(guò)運(yùn)行RSNetWorx for ControlNet,在菜單Network /Properties/Network Paramerters中修改Network Update Time的值;RPI設(shè)定可以通過(guò)RSLogix5000編程軟件,在I/O Configuration展開所有已經(jīng)組態(tài)的模塊,右鍵點(diǎn)擊適配器選擇Properties/Connection修改Requested Paket Interval值(RPI),而對(duì)于消費(fèi)者標(biāo)簽的RPI值設(shè)定,打開Controller Tags后,從中選擇消費(fèi)者標(biāo)簽,在Properties/Connection修改Requested Paket Interval(RPI)值。
在RSNetWorx for ControlNet軟件中進(jìn)行網(wǎng)絡(luò)組態(tài)時(shí),當(dāng)操作完“Edits Enable”后選擇save edits時(shí),將會(huì)彈出一個(gè)對(duì)話框提示“if you want to optimize or possibly merge edits”。這就意味著預(yù)定的算法將處理所有的數(shù)據(jù)請(qǐng)求并為每一個(gè)節(jié)點(diǎn)設(shè)備定義起始NUT號(hào)碼及API。當(dāng)選擇“optimize or merge”時(shí),RSNC掃描每一個(gè)節(jié)點(diǎn)設(shè)備,讀取設(shè)備上的所有數(shù)據(jù)請(qǐng)求,并為這些數(shù)據(jù)做好傳送安排。算法為每一個(gè)設(shè)備計(jì)算的請(qǐng)求時(shí)間(API)必須小于或等于RPI,并且每一個(gè)API必須是NUT的2n倍,如果所有混合型的數(shù)據(jù)包不能在網(wǎng)絡(luò)所限定的條件下嚴(yán)格按照時(shí)間排定好,RSNC將會(huì)提示出哪個(gè)限定條件沒(méi)有被滿足。
3.2.1 NUT與RPI值的選擇
NUT是最小的采樣間隔周期(最大的采樣頻率),當(dāng)控制器采樣離散變量時(shí),必須使離散變量的特性與NUT一致。假設(shè)某個(gè)已經(jīng)開啟的離散變量的脈沖長(zhǎng)度為20ms,如果設(shè)置的NUT大大超過(guò)20ms,那么控制器就可能丟失這個(gè)脈沖,因?yàn)椴蓸拥念l率不能足以保證每次都能捕捉到這個(gè)脈沖;和NUT的定義一樣,RPI同樣也可以稱為采樣間隔周期,上述API時(shí)間總是小于或等于RPI,RPI限制著API值的大小,因此,RPI相當(dāng)于最大的采樣間隔周期或最小的采樣頻率。
RPI的選擇類似于前述NUT值的選擇,對(duì)于其他設(shè)備的RPI值的選取高于NUT值的基于這些數(shù)據(jù)的要求。假設(shè)采樣一個(gè)水壩的液位數(shù)據(jù),那就不需要設(shè)置5ms采樣一次,因?yàn)橐何徊粫?huì)變化的那么快,而如果要采樣一條高速罐裝生產(chǎn)線,那么RPI需要設(shè)置得盡可能的小。
NUT也限制著網(wǎng)絡(luò)的整體數(shù)據(jù)流,ControlNet網(wǎng)以5Mbits/s或 625bits/ms的速度通訊,因此在一個(gè)NUT內(nèi)能傳送的最大字節(jié)是625乘以NUT值,假設(shè)一個(gè)NUT值為2ms,那么在一個(gè)NUT內(nèi)最大能傳送1250字節(jié)數(shù)。但是所有這些字節(jié)不都是用于控制信息的,在這1250字節(jié)中,由于網(wǎng)絡(luò)維護(hù)也是需要125字節(jié)的流量。在一個(gè)NUT內(nèi),任何一個(gè)節(jié)點(diǎn)能傳送的最大的預(yù)定通訊信息是521字節(jié),在這521字節(jié)之外,44字節(jié)用于系統(tǒng)開銷,系統(tǒng)開銷減小了每一個(gè)節(jié)點(diǎn)的可用控制信息的余量。另外,ControlNet網(wǎng)還為非預(yù)定信息保留了最大521字節(jié)的流量,所以,在每一個(gè)NUT內(nèi)能傳送的最大的控制數(shù)據(jù)是:[625×NUT (in ms) – (125 + 521)]bytes。例如NUT為2ms時(shí),僅有604字節(jié)(包含每一個(gè)節(jié)點(diǎn)的系統(tǒng)開銷)能用于傳送控制數(shù)據(jù),所以不能在一個(gè)NUT內(nèi)讓兩個(gè)節(jié)點(diǎn)同時(shí)傳送他們最大的數(shù)據(jù)量,而如果NUT設(shè)置為100ms時(shí),可以傳送61854字節(jié)的控制數(shù)據(jù),但是更高的NUT會(huì)降低你想采樣數(shù)據(jù)的采樣速度,這里面存在一個(gè)平衡,那就是所選擇的NUT必須在數(shù)據(jù)流與采樣要求之間保持一個(gè)平衡[2]。
3.2.2 NUT與RPI值的選擇對(duì)網(wǎng)絡(luò)的影響
使用ControlNet網(wǎng)進(jìn)行上傳/下載時(shí)、在線監(jiān)控、使用HMI或MSG通訊指令時(shí),需要為非預(yù)訂任務(wù)安排足夠的時(shí)間,RSNC顯示了平均帶寬使用率和峰值帶寬使用率,并且列出了在每一秒中能用于非預(yù)定性的通信類型的非預(yù)定字節(jié)數(shù)。如果在非預(yù)訂性信息的運(yùn)行上有問(wèn)題,必須檢查帶寬使用率,根據(jù)經(jīng)驗(yàn),帶寬的使用率最好別超過(guò)50%~60%。尤其是HMI通信消費(fèi)了大量的非預(yù)訂帶寬,如果遇到超時(shí)問(wèn)題,那么可以考慮降低HMI數(shù)據(jù)的輪詢率,也可以考慮將HMI數(shù)據(jù)通訊移到Ethernet,或者,當(dāng)使用Logix系統(tǒng)時(shí),再增加一個(gè)適配器使用另一個(gè)ControlNet連接專門用于控制HMI數(shù)據(jù)及其他的非預(yù)訂信息的通訊。為了讓非預(yù)訂性帶寬盡可能大,也可以盡可能高的選擇RPI。
原系統(tǒng)中有大量的生產(chǎn)者/消費(fèi)者通訊,改造后的邯鋼電鍍鋅電氣控制系統(tǒng),由于新增了一個(gè)控制器,并且全線工藝發(fā)生了變化,因此新增的控制器與其他控制器之間新增大量的通訊數(shù)據(jù),在組態(tài)ControlNet網(wǎng)絡(luò)時(shí),出現(xiàn)錯(cuò)誤“Transmitted Scheduled Data Exceeds the Maximum Allowed for a Node”,這個(gè)錯(cuò)誤的含義是“所傳送的預(yù)定性數(shù)據(jù)超過(guò)了節(jié)點(diǎn)所容許的最大值”,根據(jù)上文分析,故障原因是因?yàn)镽PI時(shí)間過(guò)小,系統(tǒng)請(qǐng)求數(shù)據(jù)過(guò)于頻繁,或者是ControlNet網(wǎng)絡(luò)刷新頻率不足以滿足系統(tǒng)請(qǐng)求數(shù)據(jù)的頻率,因此增加RPI值或減半NUT值就可以解決這個(gè)問(wèn)題。
[1] 黃向明.ControlNet網(wǎng)絡(luò)技術(shù)在寶鋼3群彩涂機(jī)組的應(yīng)用與實(shí)踐[J].2005.6.
[2] RsnetWorx for ControlNet Online Help