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