張成俊, 左小艷, 張 弛, 吳曉光
(武漢紡織大學 機械工程與自動化學院, 湖北 武漢 430073)
采用網絡控制的電腦橫機CAN總線調度仿真
張成俊, 左小艷, 張 弛, 吳曉光
(武漢紡織大學 機械工程與自動化學院, 湖北 武漢 430073)
為滿足電腦橫機控制器網絡化發展方向的要求,在分析傳統電腦橫機單機控制器的基礎上,提出了基于雙電腦橫機控制器的CAN總線的調度仿真方法,并設計了1臺電腦控制器同時控制2臺電腦橫機的“PC+節點”的網絡控制結構。通過將電腦橫機控制系統中的電動機、電磁控制器和傳感器等部件等效為網絡控制系統中的網絡節點,并利用MatLab數學軟件中的Truetime工具箱,按照雙電腦控制器的網絡結構,建立基于CAN總線的網絡化電腦橫機的仿真模型。并對CAN總線的動態調度算法和混合調度算法性能進行仿真對比,得出混合調度算法可滿足網絡化電腦橫機控制系統要求的結論,驗證了利用CAN總線構成的網絡化電腦橫機控制器的可行性。
電腦橫機; 網絡控制系統; CAN總線; 調度算法
電腦橫機利用主伺服電動機帶動機頭在針板上往復移動,完成對織針上升高度的控制,實現毛衫編織。由于傳統的電腦橫機主控制器與機頭位置分離,二者之間的連線需要盡可能的少,文獻[1-2]通過研究對比工業標準體系結構總線 (industrial standard architecture, ISA)、外設部件互連標準總線 (peripheral component interconnect, PCI)、串行RS232、RS485和控制器局域網絡總線(controller area network, CAN),選擇了通信速度高達1 Mbps的CAN總線作為電腦橫機主控制與機頭控制器之間的通信總線,并根據毛衫編織花型的特點,對CAN總線的通信數據進行了管理[3]。
由于橫機機頭的傳感和執行元件包含CAN總線通信模塊、機頭零位傳感器檢測模塊、電動機驅動模塊、電磁鐵驅動模塊、選針器驅動模塊和IO擴展模塊等。電腦橫機的控制系統數據準備[3]由電腦利用花型處理軟件生成多個控制數據文件,然后利用U盤將數據拷貝至電腦橫機的主控制器。在電腦橫機運行的過程中,橫機的編織動作需要根據機頭的位置,主控制器利用CAN總線向機頭控制器發送控制命令和控制數據,驅動機頭上各執行元件。為實現電腦橫機高速編織,大多數的電腦橫機主控制器采用高級精簡指令處理器 (advanced RISC machines, ARM)[4-5]實現,有的主控制系統為追求高速性和高效性,其控制器采用ARM、數字信號處理器 (digital signal processing, DSP)和現場可編程門陣列(field programmable gate array, FPGA)組合的架構方式[6-7],從而增加其控制系統的計算能力、通信能力和數據采集與控制能力,但該電腦橫機控
制器也增加了設備的制造成本。
隨電子計算機制造水平的日益進步和發展,電子計算機的數據處理和數據通信能力均高于市場上主流的DSP和ARM芯片的處理和通信能力,因此,本文提出利用電子計算機做電腦橫機上位機,并利用PCI-CAN的數據通信接口直接與1臺或者多臺電腦橫機機頭控制器相連,形成“PC+節點”的網絡橫機控制系統。與傳統單機系統相比,采用“PC+節點”網絡橫機控制系統可增強上位機數據的處理和通信能力,省掉主控制器的系統電路板,降低電腦橫機后期的維護成本。
1.1 傳統電腦橫機控制系統結構
傳統的電腦橫機采用主控制器、機頭控制器和人機界面的三模塊結構,其結構如圖1所示[1]。
主控制器主要擔負電腦橫機主伺服電動機、搖床伺服電動機、力矩電動機和羅拉電動機的驅動任務,管理與人機界面的485通信和與機頭控制器的CAN總線通信任務,并完成橫機工作狀態的指示與傳感器的采集任務。由于主控制器的任務繁重,處理速度快,一般都采用DSP器件或者ARM器件作為其核心處理器。人機界面主要完成花型數據的存取工作和與主控制器的交互任務。機頭控制器利用FPGA完成多個元件的驅動工作,由于FPGA編程靈活,可擴展性強,適用于不同機型的驅動工作,簡化了橫機控制器的設計和開發工作量。
1.2 基于網絡控制的電腦橫機系統結構
由于CAN總線的近距傳輸速度快,最多支持110個節點,傳輸介質可為雙絞線或者光纖,適合于工業自動化、工業設備、醫療設備等領域。本文研究在傳統電腦橫機CAN總線通信的基礎上,提出利用CAN總線構成“PC+節點”的網絡控制橫機系統的思想。
利用CAN總線構成的“PC+節點”網絡控制橫機系統結構如圖2所示。每臺電腦橫機的傳感和執行元件均為網絡化橫機控制器的1個節點,每個結點均通過CAN總線與PC內部的PCI-CAN控制板卡直接相連,實現1臺PC主機同時控制多臺橫機進行編織操作。

圖2 網絡化電腦橫機控制系統結構Fig.2 Computerized flat knitter network control system
將圖2所示網絡控制的2臺電腦橫機系統等效為7個節點,節點的類型及驅動方式如表1所示。節點1和節點5分別為2臺橫機的電動控制器,負責接收電腦控制器發送的電動機的控制數據,并通過內部端口送出直接控制伺服電動機,使得電腦控制器通過網絡對伺服電動機進行控制和調節;只要接收控制器發送的電動機控制數據,電動機便開始動作,故此節點采用事件驅動方式。節點2和節點6分別為2臺橫機的電磁鐵和選針器控制器,電磁鐵和選針器控制器只負責接收控制器的電磁鐵和選針器控制數據,并利用內部的電磁鐵驅動器件對各類電磁鐵元件的動作驅動,采用事件驅動方式。節點3和節點7分別為2臺橫機的傳感器節點,為保證傳感器實時地采集到當前橫機機頭的位置信息,需要周期性地從編碼器采集數據,并將數據計算、處理后發送給電腦控制器,采用周期時鐘驅動方式,另外傳感器節點還需要負責對突發信息進行處理,如機頭極限位置和斷紗警告,此時傳感器節點在實時內向控制器傳輸警告信息,此時采用非周期事件驅動方式。節點4為電腦控制器,負責接收節點3和節點7的傳感器數據信息,一旦接收到傳感器數據,控制器便立即進行運算,并以最快的速度向節點1、節點2、節點5和節點6發送控制信息,為提高系統的處理速度,采用事件驅動方式。
利用CAN總線構成的“PC+節點”的橫機系統具有抗干擾能力強、實時性強、節點數眾多和維護方便等優點,但整個系統中信息源較多,其傳輸過程會占用網絡通信線路的帶寬,造成信息傳輸過程中不可避免地出現丟包、延時等現象。為解決此現象,需要對網絡系統進行調度研究,分析調度算法對網絡控制系統的影響,從而使分布式網絡控制系統取得較為理想的控制效果。
2.1 固定優先級調度算法
固定優先級調度算法是一種靜態調度算法,在程序設計時按照消息的周期和截止期給每個消息安排優先級,在數據傳輸過程中,優先級高的消息會搶占總線,從而保證其最先傳輸。
固定優先級調度算法包括了比例單調算法和截止期單調算法2類,比例單調算法是按消息的周期進行設定優先級,消息周期越小,其優先級越高;截止期單調算法是按消息截止期進行設定優先級,截止期越短,優先級越高[8]。
2.2 動態優先級算法
動態優先級算法是一種隨時間推移動態調整各站點優先級的算法,每個節點訪問總線的權力相同,可避免高優先級的消息始終占用通信總線,保證各類消息傳輸的實時性。其思想為:初始化為每個節點擁有不同的優先級,若消息傳輸過程中沒有發生沖突,則按原有的優先級進行消息傳輸;若傳輸過程發生沖突,優先級高的節點在總線競爭中會獲得優先傳輸的權力,并把總線競爭失敗的節點的優先級提高一個等級,以提高沖突發生時的數據傳輸的概率。若下次該節點的總線競爭仍然失敗,則其傳輸的優先級進一步提高,從而進一步提高數據傳輸的概率,以動態保證低優先級節點數據傳輸的概率,保證數據傳輸的實時性[9]。
2.3 混合調度算法
電腦橫機網絡化控制系統的消息有周期性非實時消息、周期性實時消息、非周期實時消息和非周期非實時消息。對于電腦橫機控制器而言,伺服電動機驅動消息為周期性實時消息;極限位、斷紗和斷針的警告消息為非周期實時消息;其他控制消息為非實時消息。對于采用網絡控制的橫機控制系統,CAN總線上傳輸的數據信息很多,采用固定優先級算法,會使得優先級低的消息經常處理等待狀態,無法保證數據的傳輸;采用動態優先級算法,可減少低優先級消息的等待狀態,提高總線的利用率,但在消息傳輸的優先級修改的過程中,會加重系統的資源消耗。混合調度算法是一種集固定優先級算法和動態優先級算法優點的混合算法,既可保證低優先級消息的正常傳輸,也可提高網絡控制系統帶寬的利用率[10]。混合調度算法的流程圖如圖3所示。

圖3 混合調度算法流程圖Fig.3 Hybrid scheduling algorithm flow chart
將網絡消息的最高兩位用于消息類型標識,最高位標識為1,說明該消息為非周期非實時消息,其優先級最高,但多臺橫機同時有多個同樣高優先級的消息到達時,確保其最快的時間內獲得消息的發送權,故此消息的調度采用動態優先級實現。網絡消息的次高位為1時表示消息為周期實時消息,否則為非實時消息,對于周期性的實時消息,按照消息的固定優先級進行固定優先級調試;對于非實時消息,可根據數據消息的性質,采用固定或者動態優先級的消息調度。采用上述的混合調度算法可保證消息有實時傳輸和處理,避免了固定優先級和動態優先級調度方法存在的不足。
為驗證電腦橫機數據信息調度策略的合理性,利用基于MatLab的Truetime工具箱[11]對上述的電腦橫機網絡化控制系統進行仿真驗證。
3.1 網絡化橫機模型
利用Truetime工具箱的7個內核模塊分別模擬2個電動機模塊、2個傳感器模塊、2個電磁驅動器模塊和1個控制器模塊,1個Network模塊的CSMA/AMP來模擬CAN總線網絡,基于1臺電腦控制器的網絡化電腦橫機模型如圖4所示。

圖4 電腦橫機網絡化仿真模型Fig.4 Simulation model for computerized flat knitter network
圖4中CAN總線網絡類型為CSMA/AMP,網絡節點數為7,數據傳輸速率為25×104bits/s,數據大小為40字節,數據丟包率為0。電動機驅動模塊負責伺服電動機控制信息的接收和電動機的驅動,接收端接收控制器模塊送至的消息,伺服電動機的位置信息采集由傳感器模塊完成,因此在電動機驅動模塊中并示向控制器的輸入接口回送消息。電磁驅動器模塊采用開環控制,只接收控制器的控制消息和驅動電磁閥的動作,并示向控制器回送消息。控制器輸入端接收傳感器送入的消息,同時對控制數據進行運算,同時還需要通過輸出端接口向電動機和電磁控制器送出控制消息,任務較為繁重。為保證橫機控制器消息不發生沖突,CAN總線網絡需要對其各類消息進行調度,從而保證消息及時的到達,減少消息之間的沖突。
3.2 傳感器的采樣周期計算
假設電腦橫機的最快移動速度為Vmax,電腦橫機的針距為E。為保證電腦橫機的正常運行和控制,即傳感器需要準確地識別機頭移動1枚織針的距離,根據采樣定理可確定在機頭移動1枚織針距離的時候,傳感器需要對其進行2次采樣和網絡數據的傳輸,因此傳感器的采樣周期Tsample的計算式為
(1)
利用上式,對于機頭最高移動速度Vmax=2 m/s,織針間距E=4.72 針/cm的電腦橫機,可計算出其傳感器的采樣周期Tsample=0.002 1 s。
3.3 調度算法仿真與比較
由于1臺控制器同時控制2臺電腦橫機,控制器與電腦橫機的位置可能會有一定的距離,為保證CAN總線數據傳輸的準確性,采用250 kbps的通信波特率,分別用動態優先級調度算法和混合優先級調度算法對于圖4所示的網絡化電腦橫機模型進行仿真,其調度算法的仿真結果如圖5所示。圖中當水平線條處于較高的位置,說明此節點正在向網絡傳輸消息;當水平線條處于較低的位置,說明此節點處理空閑狀態;當水平線條處于中間位置,說明此時節點發送的消息被網絡上其他的消息阻隔,處于等待調度狀態。

圖5 采用網絡控制電腦橫機調度算法仿真Fig.5 Scheduling algorithm simulation for computerized flat knitter network. (a) Dynamic priority scheduling algorithm (b) Hybrid scheduling algorithm
由圖5可看出,無論哪種調度算法,電動機節點(節點1和節點5)和電磁控制節點(節點2和節點6)只接收控制器的控制信號,并不向整個網絡回送消息,故無消息的調度。利用動態優先級調度算法的網絡系統,傳感器節點(節點3和節點7)和電腦控制器節點(節點4)的信號發送需要等待較長的時間,甚至出現了信號無法送出的情況,產生了信號的死鎖現象。而在混合調度算法中,整個電腦橫機網絡化控制系統中的各節點信號傳輸正常,任何節點的信號均可順利送出,消除了網絡節點信號的死鎖現象,增強了系統的穩定性。
本文在分析傳統電腦橫機單機控制的基礎上,提出了網絡化電腦橫機控制器的控制方法,即利用一臺電腦控制器同時控制兩臺及以上的電腦橫機編織動作。為驗證網絡化電腦橫機的可行性,利用Truetime工具箱對網絡化電腦橫機調度方法進行建模和仿真,通過對網絡化電腦橫機的調度算法進行仿真對比,得出了混合調度算法可滿足電腦橫機控制器網絡化要求的結論。
相比于傳統的電腦橫機控制器,基于CAN總線的網絡化電腦橫機具有上位機處理能力和通信能力強的特點。網絡化控制器的研究為我國電腦橫機控制器的研究提出新的研究方向,為電腦橫機控制器向著互聯網絡控制方向的發展提供了切實可行的解決方案。
FZXB
[ 1] 張成俊, 張弛, 左小艷, 等. CAN總線在電腦橫機上的實現 [J]. 針織工業, 2013(9): 24-27. ZHANG Chengjun, ZHANG Chi, ZUO Xiaoyan, et al. CAN bus realized on flat knitting machine [J]. Knitting Industries, 2013(9): 24-27.
[ 2] 張弛, 張成俊,吳曉光. 基于CAN總線的電腦橫機機頭控制器的開發 [J]. 針織工業, 2012(11): 18-21,70. ZHANG Chi, ZHANG Chengjun, WU Xiaoguang. Development of carriage controller of computer-based flat knitting machine based on CAN bus [J]. Knitting Industries, 2012(11): 18-21, 70.
[ 3] 張弛, 張成俊,吳曉光. 電腦橫機控制系統數據準備 [J]. 紡織學報, 2012, 33(8): 124-129. ZHANG Chi, ZHANG Chengjun, WU Xiaoguang. Control system data of computer flat knitting machine [J]. Journal of Textile Research, 2012, 33(8): 124-129.
[ 4] 李鵬飛,賀青. 基于嵌入式系統的電腦橫機上位機的設計 [J]. 針織工業, 2013(2): 20-23. LI Pengfei, HE Qing. Embedded system based on computerized flat knitting machine used upper-computer design [J]. Knitting Industries, 2013(2): 20-23.
[ 5] 莫易敏,陳彪,金昌. 基于ARM的嵌入式電腦橫機控制器設計 [J]. 武漢理工大學學報, 2006(10): 121-124.
MO Yimin, CHEN Biao, JIN Chang. Design of embedded control system in computerized flat knitter based on ARM [J]. Journal of Wuhan University of Technology, 2006(10): 121-124.
[ 6] 白洪金,胡旭東. 電腦橫機三級遞階控制系統結構設計 [J]. 針織工業, 2013(9): 28-30. BAI Hongjin, HU Xudong. Structure design of three-level hierarchical control system of computerized flat knitting machine [J]. Knitting Industries, 2013(9): 28-30.
[ 7] 項賢軍,韓強. 基于ARM 9電腦橫機數據處理的CAN通訊設計 [J]. 針織工業, 2013(7): 61-64. XIANG Xianjun, HAN Qiang. CAN communication design of data processing system of computerized flat knitting machine based on ARM9 [J]. Knitting Industries, 2013(7):61-64.
[ 8] 劉魯源, 王曉欣,呂偉杰. CAN總線固定優先級可調度分析與設計方法及其在純電動汽車中的應用 [J]. 制造業自動化, 2005(4): 56-59. LIU Luyuan, WANG Xiaoxin, Lü Weijie. A schedulable analysis and design and design method for fixed priority based on can and application in electric vehicle [J]. Manufacturing Automation, 2005(4): 56-59.
[ 9] 袁遠,李紅信. CAN網絡實時性分析及改進 [J]. 電子設計工程, 2010,18(6): 110-112. YUAN yuan, LI Hongxin. Analysis and improvement of real time in can net [J]. Electronic Design Engineering, 2010, 18(6): 110-112.
[10] 尹安東, 朱云驍, 江昊, 等. CAN總線混合調度算法在HEV控制系統中的應用 [J]. 電子測量與儀器學報, 2012, 26(1): 31-36. YIN Andong, ZHU Yunxiao, JIANG Hao, et al. Application of can bus hybrid scheduling algorithm in HEV control system [J]. Journal of Electronic Measurement and Instrument, 2012, 26(1): 31-36.
[11] CERVIN A D, HENRIKSSON D, LINCOLN B, et al. How does control timing affect performance analysis and simulation of timing using jitterbug and truetime [J]. Control Systems, IEEE, 2003, 23(3): 16 - 30.
CAN bus scheduling simulation for computerized flat knitting machine based on network control
ZHANG Chengjun, ZUO Xiaoyan, ZHANG Chi, WU Xiaoguang
(SchoolofMechanicalEngineeringandAutomation,WuhanTextileUniversity,Wuhan,Hubei430073,China)
In order to meet the development requirements of the network control of computerized flat knitting machine, a high-speed CAN bus network control system for the computerized flat knitter is proposed based on the conventional stand-alone controller, and a network control structure of the “PC+ nodes” is designed to use in the computer controller, which can control two flat knitting machines at the same time. The components of flat knitting machine, including motors, electromagnetic controllers and sensors are equivalent to the network nodes. According to the network structure of two machine's controllers, the simulation model of the network computer flat knitting machine based on CAN bus is established by TrueTime toolbox in Matlab software. Based on the model, by simulating and comparing the dynamic priority scheduling algorithm and hybrid scheduling algorithm, it concludes that the hybrid scheduling algorithm fits the computerized flat knitter network control system, which verifies the feasibility of the network controller of the computerized flat knitting machine based on CAN bus.
computerized flat knitting machine; network control system; CAN bus; scheduling algorithm
10.13475/j.fzxb.20150100606
2015-01-05
2016-04-28
國家自然科學基金項目(51175384,51305309);湖北省自然科學基金重點項目(2014CFA099)
張成俊(1979—),男,副教授,博士。主要研究方向為針織裝備設計與控制。E-mail:zchengj_wuse@163.com。
TP 311; TS 132
A