邵景峰,馬曉紅,黨金房,任克儉
(1.西安工程大學(xué)教務(wù)處,陜西西安710048;2.咸陽華潤紡織有限公司動力與能源部,陜西咸陽712000;3.陜西風(fēng)輪紡織股份有限公司生產(chǎn)技術(shù)部,陜西咸陽712000)
近幾年,LED技術(shù)發(fā)展相對比較成熟,已成功地應(yīng)用于各行各業(yè),得到了用戶的普遍青睞[1-2]。就紡織行業(yè)而言,LED 的應(yīng)用也相對較早,如常州市武進(jìn)五洋紡織機械有限公司、武漢佳德公司等很早就開發(fā)了面向紡織車間的LED顯示屏系統(tǒng)[3],進(jìn)行生產(chǎn)車間制造過程的跟蹤管理。隨著國家科技部“十一五”制造業(yè)信息化工程要點[4],使LED顯示屏監(jiān)控系統(tǒng)在紡織企業(yè)的生產(chǎn)車間得到了大力推廣。目前已成功應(yīng)用的案例有:河南白馬集團(tuán)、陜西五環(huán)集團(tuán)等大型紡織企業(yè),且其使用效果良好,一定程度上促進(jìn)了企業(yè)生產(chǎn)管理信息化的發(fā)展。但是,這兩家企業(yè)將LED顯示屏遠(yuǎn)程監(jiān)控的主要功能嵌套在監(jiān)控系統(tǒng)中,由監(jiān)控系統(tǒng)來驅(qū)動,并沒有開發(fā)獨立的、功能強大的、與監(jiān)控系統(tǒng)能集成的LED顯示屏監(jiān)控系統(tǒng)。鞍山化纖毛紡織總廠使用的織布車間LED顯示系統(tǒng),采取的技術(shù)方案是以W77E58為核心進(jìn)行機臺數(shù)據(jù)的采集,并利用上位機的RS232串口實現(xiàn)LED顯示屏數(shù)據(jù)內(nèi)容的傳輸,鑒于RS232的特點[5],無法實現(xiàn)數(shù)據(jù)內(nèi)容的遠(yuǎn)距離傳輸,且結(jié)構(gòu)復(fù)雜,不利于后期維護(hù)。近幾年,隨著總線技術(shù)、通信技術(shù)的發(fā)展,LED顯示屏的硬件和軟件都得到了升級和優(yōu)化,如文獻(xiàn)[6]所述將SPI總線技術(shù)應(yīng)用到了LED彩屏的硬件設(shè)計中,以及文獻(xiàn)[7]所述將GSM網(wǎng)絡(luò)技術(shù)應(yīng)用于LED顯示屏的數(shù)據(jù)傳輸中,都大力推動了LED控制系統(tǒng)的發(fā)展,即利用LED驅(qū)動提供的控制參數(shù)[8],實現(xiàn)LED顯示屏的遠(yuǎn)程控制。并且,在對多LED顯示屏的遠(yuǎn)程控制中,免去了單片機硬件電路的設(shè)計,直接利用RS232/RS485的轉(zhuǎn)換卡,實現(xiàn)PC與LED的遠(yuǎn)程數(shù)據(jù)傳輸和控制。這對具有多部門、多品種、車間物理位置分布不規(guī)則、數(shù)據(jù)傳輸距離遠(yuǎn)等特點的紡織企業(yè)來說,利用多LED顯示屏對生產(chǎn)過程的管理和系統(tǒng)的實現(xiàn)帶來了有利條件,企業(yè)可利用LED提供的驅(qū)動函數(shù)、RS232/RS485轉(zhuǎn)換卡,直接實現(xiàn)LED顯示屏的遠(yuǎn)程控制和數(shù)據(jù)傳輸。
鑒于此,提出了一種借助LED驅(qū)動函數(shù)和RS232/RS485轉(zhuǎn)換卡,直接控制LED顯示屏的系統(tǒng)設(shè)計思路,對多個顯示屏實現(xiàn)諸如閃動、滾動和打字等多種動態(tài)顯示效果[9],以及動態(tài)顯示速度的調(diào)節(jié),并在PC機上進(jìn)行顯示效果的預(yù)覽和顯示內(nèi)容的隨時修改,避免了硬件電路的設(shè)計過程。
系統(tǒng)體系結(jié)構(gòu)采用二級集散式結(jié)構(gòu),即由各個車間的上位機監(jiān)控系統(tǒng)、底層多個LED顯示屏組成。為了充分利用上位機自帶的RS232串口,利用 RS232/RS485通信轉(zhuǎn)換卡,將上位機的RS232串口轉(zhuǎn)換成RS485接口,使上位機監(jiān)控系統(tǒng)與各顯示屏間經(jīng)RS485總線相連形成主從式結(jié)構(gòu),實現(xiàn)長距離的通信和數(shù)據(jù)交換[10],其體系結(jié)構(gòu)如圖1所示。企業(yè)級信息中心、企管辦、人力資源部等的信息管理系統(tǒng)通過局域網(wǎng)與各個車間的監(jiān)控系統(tǒng)進(jìn)行數(shù)據(jù)交換和數(shù)據(jù)管理,并通過它們向車間發(fā)送各類通知。
圖1 系統(tǒng)的體系結(jié)構(gòu)
根據(jù)系統(tǒng)功能,LED顯示屏的數(shù)據(jù)內(nèi)容主要由實時數(shù)據(jù)、歷史數(shù)據(jù),以及企業(yè)或車間通知(優(yōu)先權(quán)高于前兩者)3部分組成。
按照上述要求,數(shù)據(jù)獲取算法的構(gòu)造過程為:
(1)首先讀取系統(tǒng)時間T1,當(dāng)班班次Sm(m=1,2,3)和通知信息表 Notice中的日期 T2,然后判斷通知時間的有效性T(T=T1-T2),若T的返回值Val為0,則表示該表中企業(yè)或車間需要發(fā)布的通知已過期,程序可跳到步驟(2),直接進(jìn)行數(shù)據(jù)內(nèi)容的輪循顯示;當(dāng)Val>0時,表示日期T2的通知仍需要顯示,其方法是通知與數(shù)據(jù)內(nèi)容交替顯示,這時需要計算通知內(nèi)容的字?jǐn)?shù),其結(jié)果按行動態(tài)存儲在數(shù)組B[i,j]中,且i不能大于顯示屏的寬度,以及需要計算通知內(nèi)容占用的顯示屏面數(shù),其值為j除以顯示屏高度。
(2)根據(jù)用戶預(yù)設(shè)的數(shù)據(jù)顯示內(nèi)容,首先,在數(shù)據(jù)庫的歷史數(shù)據(jù)表中,對時間T1和班次Sm對應(yīng)的歷史數(shù)據(jù)按二次分類原則進(jìn)行分類統(tǒng)計,然后,將數(shù)據(jù)結(jié)果存入預(yù)先設(shè)計好的數(shù)據(jù)顯示臨時表DataTemp中,在每次數(shù)據(jù)顯示時直接從該表按分類存取數(shù)據(jù)。
(3)在車間交接班過程中,上位機系統(tǒng)當(dāng)檢測到LED顯示屏顯示到最后一屏?xí)r,自動給所有顯示屏發(fā)送一個系統(tǒng)消息“系統(tǒng)正在交接班!”。
(4)當(dāng)所有的交接班數(shù)據(jù)已成功轉(zhuǎn)入歷史數(shù)據(jù)表后,上位機系統(tǒng)所對應(yīng)的班次自動跳轉(zhuǎn)到下一班次Sm+1,這時,LED顯示屏系統(tǒng)檢測到班次有變更時,自動清空數(shù)據(jù)顯示臨時表DataTemp中的所有數(shù)據(jù),并且程序自動跳轉(zhuǎn)到步驟(1),重新獲取時間和班次,對下一日期、班次的生產(chǎn)過程進(jìn)行實時跟蹤管理。算法流程圖如圖2所示。
按照用戶需求分析,所采取的顯示屏像素點的直徑φ=5,16×16點陣的單色LED顯示屏,字體大小為122 mm×122 mm,具有屏幕滾動及可以在指定的位置顯示日期、星期和時間功能。因此,對每個顯示屏而言,其數(shù)據(jù)的組織方法都以屏幕左上角為坐標(biāo)原點,如圖3所示。
根據(jù)顯示屏的內(nèi)容顯示方式和數(shù)據(jù)組織方式,設(shè)顯示屏的顯示區(qū)域的寬度為W,高度為H,掃描線數(shù)為Cm,掃描寬度為Ws,顯示區(qū)域的行地址為Ch,列地址為Cv,并設(shè)定顯示存儲器按Cm位進(jìn)行編址。
圖2 數(shù)據(jù)獲取算法流程圖
圖3 顯示屏像素點與掃描線之間的關(guān)系
在系統(tǒng)設(shè)計中,所采取的數(shù)據(jù)掃描算法為:
(1)在上位機與多顯示屏之間建立正常的通信機制之后,首先上位機發(fā)送一幀清屏命令,將所有的顯示屏進(jìn)行初始化,并計算需要顯示的數(shù)據(jù)大小(W×H)字×Cm位,再在系統(tǒng)中判斷是否需要播放通知。若需要播放,則系統(tǒng)首先統(tǒng)計通知內(nèi)容的字?jǐn)?shù)K,并根據(jù)字?jǐn)?shù)K來決定其所占用的頁面 T ,其中 T =K/[(W × H)字 × Cm位],接著判斷每行通知內(nèi)容的行寬度是否大于掃描線指向的顯示區(qū)域行寬度W,以及每頁通知內(nèi)容的高度是否大于顯示區(qū)域高度H,如果一頁的顯示內(nèi)容大于高度H,則需要對H執(zhí)行取模(MOD H)操作,使所有顯示內(nèi)容在顯示屏有效區(qū)域全面顯示;
(2)根據(jù)顯示內(nèi)容的預(yù)設(shè)條件從數(shù)據(jù)源中檢索需要顯示的數(shù)據(jù)信息,并經(jīng)整理、統(tǒng)計和組合后,將其暫存到二維數(shù)組中;
(3)對每個LED顯示屏而言,根據(jù)顯示屏的控制卡號,上位機首先讓Cm條掃描線分別指向顯示區(qū)域的第 0 ,Ws,2Ws,…,(Cm- 1 )Ws行,接著執(zhí)行步驟(1)操作,將顯示區(qū)域中(0,0)、(0,Ws)、(0,2Ws)、…、[0,(Cm-1)Ws]共 Cm個點對應(yīng)的顯示數(shù)據(jù)依次存放到存儲器起始單元的D0、D1、D2、…、DCm-1位中;
(4)首先判斷列地址Cv是否大于顯示區(qū)域列寬 H ,如果 Cv≤H,則 Cv=Cv+1,否則,Cv=(CvMOD H),同樣,將顯示區(qū)域(1,0)、(1,Ws)、(1,2Ws)、…、[1,(Cm-1)Ws]共 Cm個點對應(yīng)的數(shù)據(jù)存放到存儲器的下一個單元,然后重復(fù)上述操作,直到將掃描線當(dāng)前對應(yīng)的Cm行的Ws-1列數(shù)據(jù)全部保存到存儲器中為止;
(5)系統(tǒng)首先判斷行地址Ch是否大于顯示區(qū)域行寬 W ,如果 Ch≤W,則 Ch=Ch+1,否則,Ch=(ChMOD W),然后將Cm條掃描線分別指向顯示區(qū)域的第1、Ws+1、2Ws+1、…、第(Cm-1)Ws+1行,將顯示區(qū)域中(0,1)、(0,Ws+1)、(0,2Ws+1)、…、[0,(Cm-1)Ws+1]共Cm個點對應(yīng)的顯示數(shù)據(jù)依次存放到存儲器的下一個單元。重復(fù)上述步驟,使X=0~(W-1)列對應(yīng)的W個數(shù)據(jù)全部存入到顯示屏的存儲器中;
(6)首先判斷暫存二維數(shù)組中的數(shù)據(jù)是否已全部存放到相應(yīng)顯示屏的存儲器中,若數(shù)組為空,則表示每個掃描線對應(yīng)行的數(shù)據(jù)已全部存放到顯示屏的存儲器中,系統(tǒng)已完成了一個周期的操作;否則,直到掃描線數(shù)Cm指向顯示區(qū)域的第H-1行為止,同樣,表示所有能正常通信的顯示屏將所有顯示區(qū)域中的各點對應(yīng)的顯示數(shù)據(jù)按順序保存到存儲器中,系統(tǒng)就完成了一個周期的操作。
算法的設(shè)計過程為:首先為每個顯示屏的控制單元分配一個唯一的控制卡號 Cno,且 Cno∈(0,255),將控制卡號與每個顯示屏之間一一對應(yīng),然后在系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)表中讀取每個顯示屏的顯示區(qū)域值,對顯示區(qū)域的寬度i,高度j進(jìn)行初始化,再通過總線為每個控制屏選擇通信方式Cwo(1為RS232,2為RS485),接著上位機以一對多的方式向所有的顯示控制屏發(fā)送一幀地址數(shù)據(jù)幀(主要包括控制卡號Cno,通信方式Cwo,顯示區(qū)域(i,j)等),使兩者之間建立正常的通信機制,而顯示屏則回送通信正常與否的應(yīng)答信息,通過定時和計數(shù)程序?qū)崿F(xiàn)被控對象的序號按照一定的時間間隔循環(huán)變化[11]。這樣,對某一個顯示屏而言,首先根據(jù)用戶要求從系統(tǒng)數(shù)據(jù)庫中檢索需要顯示的數(shù)據(jù),并按分組分崗位的原則進(jìn)行數(shù)據(jù)的計算、統(tǒng)計,將其暫存到預(yù)先設(shè)計好的二維數(shù)組A[m,n]中,其中m ≥0,n≥0,然后判斷需要顯示的頁面數(shù)在 A [m,n]中執(zhí)行按行累計操作,使其形成分組輪班產(chǎn)量,并將最終結(jié)果暫存到數(shù)組A[m+k,n]中,再從系統(tǒng)數(shù)據(jù)庫中的歷史數(shù)據(jù)表中按分組分崗位的原則檢索歷史交接班數(shù)據(jù),形成每個崗位的日產(chǎn)量和總產(chǎn)量等,將其暫存到另一個二維數(shù)組B[p,q]中,同樣 p≥0,q≥0,但 0≤m+k < p,并將 B[p,q]中的所有信息按照先分組分崗位合計、后分組小計的原則,使 B[p,q]中的數(shù)值轉(zhuǎn)存到數(shù)組 A[m+k,n]中,即:aij=bpj,最后將數(shù)組 A[m+k,n]變?yōu)?A[m+k+p,n],并將 m+k+p與 i進(jìn)行比較,判斷數(shù)組A[m+k+p,n]中的數(shù)據(jù)所占用的頁面數(shù)k:
這樣,該輪詢顯示方法與傳統(tǒng)的信息顯示方法相比,實現(xiàn)了生產(chǎn)數(shù)據(jù)在各個車間的實時顯示,保證了所有顯示內(nèi)容的正確性。
整個系統(tǒng)的主要功能分為數(shù)據(jù)源信息的獲取,顯示內(nèi)容的數(shù)據(jù)組織,顯示屏的控制與通信3個部分。其中,數(shù)據(jù)源的獲取可通過外部數(shù)據(jù)接口將需要顯示的數(shù)據(jù)信息直接寫入預(yù)先設(shè)計好的系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)表中,或根據(jù)系統(tǒng)提供的外部數(shù)據(jù)接口,實現(xiàn)異構(gòu)數(shù)據(jù)庫的有效集成,在異構(gòu)數(shù)據(jù)庫中實時檢索、統(tǒng)計需要顯示的數(shù)據(jù);數(shù)據(jù)組織形式是系統(tǒng)通過數(shù)據(jù)組織算法,將需要顯示的數(shù)據(jù)進(jìn)行數(shù)據(jù)區(qū)域、顯示數(shù)字大小的判斷和合理組織,使所有數(shù)據(jù)信息顯示在顯示屏的有效區(qū)域,達(dá)到最佳效果[12];顯示屏的控制與通信功能的主要作用是通過系統(tǒng)參數(shù),與遠(yuǎn)程顯示屏建立通信機制,實現(xiàn)通信參數(shù)的讀寫和顯示內(nèi)容的發(fā)送。系統(tǒng)功能中,最主要的是顯示屏的控制和通信功能,其控制界面如圖4所示,采用動態(tài)掃描的方式,實現(xiàn)對顯示屏需要顯示的漢字、圖像和字符等數(shù)據(jù)信息的傳輸控制以及顯示等功能。
圖4 顯示屏控制與通信界面
多LED顯示屏的遠(yuǎn)程監(jiān)控系統(tǒng)的構(gòu)建,以車間的監(jiān)控系統(tǒng)服務(wù)器為上位機,多LED顯示屏作為下位機,借助 LED顯示屏驅(qū)動函數(shù),利用RS232/RS485的轉(zhuǎn)換卡,采用主從式的二級集散式結(jié)構(gòu),實現(xiàn)PC與LED的遠(yuǎn)程數(shù)據(jù)傳輸和控制,免去了單片機硬件電路的設(shè)計,使得系統(tǒng)結(jié)構(gòu)簡單、易維護(hù),所開發(fā)的監(jiān)控系統(tǒng)較好地滿足了紡織車間多部門、多品種、車間物理位置分布不規(guī)則、數(shù)據(jù)傳輸距離遠(yuǎn)等特點的要求,加強了生產(chǎn)產(chǎn)量、質(zhì)量的監(jiān)控,實時反映了車間的生產(chǎn)過程,并且上位機的管理系統(tǒng)軟件具有顯示字符串的修改、顯示方式的設(shè)定、時間的設(shè)置等功能,實現(xiàn)了屏幕顯示內(nèi)容的實時更改,顯示方式采用動態(tài)顯示,以及字符從下往上、從右往左滾動等動態(tài)顯示效果。
[1]張飆,徐和飛,牛秦洲.LVDS接口LED顯示屏數(shù)據(jù)處理系統(tǒng)設(shè)計[J].液晶與顯示,2008,23(6):736 -743.
[2]何偉,俞立,董輝.基于IWT圖像壓縮技術(shù)的LED同步顯示系統(tǒng)設(shè)計[J].液晶與顯示,2009,24(2):262-267.
[3]JIA D.Measurement and control technology LTD:the introduction of control system of LED display screen[EB/OL].[2011 - 02 - 27].http://bbs.ctic.org.cn/dispbbs.asp?Board ID=9&ID=6333.
[4]吳迪,夏雪.紡織行業(yè)現(xiàn)代集成制造系統(tǒng)的發(fā)展戰(zhàn)略研究[J].紡織學(xué)報,2004,25(1):118 -120.
[5]DUAN R,ZHU L,LIU C Y,et a1.Light emitting diode irradiation protect against the amyloid beta 25-35 induced apoptosis of PC12 cell in vitro[J].Lasers Surg Med,2003,33(3):199 -203.
[6]WAN N S,KAMARIA,KOAY Y J.Equilibrium and kinetics studies of adsorption of copper(II)on chitosan and chitosan/PVA beads[J].International Journal of Biological Macromolecules,2004,34(3):155 -161.
[7]齊從謙,甘屹.制造企業(yè)動態(tài)聯(lián)盟合作伙伴組合優(yōu)化方法[J].同濟(jì)大學(xué)學(xué)報:自然科學(xué)版,2007,35(12):1674-1679.
[8]張齊,鄭金輝,李登紅,等.基于FPGA的LED顯示屏逐點檢測系統(tǒng)的設(shè)計與實現(xiàn)[J].液晶與顯示,2008,23(5):605 -610.
[9]朱清慧,王志奎.Proteus在LED點陣滾動顯示屏設(shè)計中的應(yīng)用[J].液晶與顯示,2009,24(2):232-237.
[10]HELIOTOTIS G,STAVRINOUS P N,BRADLEY D C.Spectral conversion of in gan ultravioletmicrocavity light-emitting diodes using fluorine-based red,green,blue and white-light-emitting polymer overlayer films[J].AppL Phys Lett,2005(87):503 -505.
[11]RENW,BEARD R W.Consensus seeking in multiagent systems under dynamically changing interaction topologies[J].IEEE Transactions on Automatic Control,2005,50(5):655 -661.
[12]ZHONGW C,LIU J,XUE MZ,et al.A multiagent genetic algorithm for global numerical optimization[J].IEEE Transactions on Systems,Man and Cybernetics,2004,34(2):1128 -1141.