彭海波,楊 偉,姚志清
(武鋼集團昆明鋼鐵股份有限公司信息中心,云南昆明 650302)
基于模糊規(guī)則庫思想的插件式動態(tài)統(tǒng)計方案
彭海波,楊 偉,姚志清
(武鋼集團昆明鋼鐵股份有限公司信息中心,云南昆明 650302)
借用模糊控制當中的模糊規(guī)則庫思想和當今軟件領(lǐng)域熱門的插件化、模塊化思想,結(jié)合標準的SQL語言和Sql Server數(shù)據(jù)庫,采用與平臺無關(guān)的Java語言并充分利用其面向?qū)ο蟮奶匦?,提出并實現(xiàn)了一種動態(tài)統(tǒng)計系統(tǒng)。該系統(tǒng)的應用,大大減少了系統(tǒng)的維護量,實現(xiàn)了統(tǒng)計系統(tǒng)的動態(tài)性、可配置性和一定的自適應性。
Java;SQL語言;模糊規(guī)則庫;動態(tài)統(tǒng)計;模塊化;插件化
質(zhì)量是企業(yè)的生命,企業(yè)通過對其內(nèi)部的各種數(shù)據(jù)進行統(tǒng)計,從而進行數(shù)據(jù)分析,找出質(zhì)量優(yōu)劣所在的根源是競爭獲勝的一個法寶。通常工廠信息化當中的統(tǒng)計功能都是由系統(tǒng)開發(fā)人員依據(jù)需求采集人員所獲得的需求量身定制的。這種對需求硬編碼的方法,實現(xiàn)簡單、快速,但當企業(yè)用戶的需求變化時,就只能依靠維護人員對系統(tǒng)進行維護升級了,這是相當不便和麻煩的,需要耗費大量的人力與物力資源,而且當企業(yè)用戶的統(tǒng)計需求頻繁變動時(如以天為單位),這種方式將根本不能滿足要求。
在筆者所承擔的昆明某鋼廠的質(zhì)量管理系統(tǒng)中的統(tǒng)計功能就屬于這種情況。統(tǒng)計需求變動頻繁且不可預知,其需要統(tǒng)計的檢驗項、送樣數(shù)量、統(tǒng)計的方式等都存在不確定性。因此,開發(fā)具有一定通用性、動態(tài)性、自適應性的統(tǒng)計系統(tǒng)是必然的選擇。
昆明某鋼廠用戶的統(tǒng)計需求按照時間區(qū)間的不同劃分為日統(tǒng)計、周統(tǒng)計、月統(tǒng)計、年統(tǒng)計4種。每種統(tǒng)計均會有不同的檢驗項和統(tǒng)計方式,但經(jīng)過仔細分析,其統(tǒng)計的工藝流程大致相同,只是其統(tǒng)計檢驗項和實現(xiàn)方式不一,比如日統(tǒng)計可能需要某力學性能的抗振性能指標,而周統(tǒng)計可能需要某力學性能的合格率,但又都可能需要該力學性能的平均值和方差等等,因此按照面向?qū)ο蟮脑O(shè)計思想來設(shè)計該模型是最合適不過的,該模型的統(tǒng)計系統(tǒng)原理如圖1所示。
圖1 系統(tǒng)原理框圖
統(tǒng)計請求由“入口檢驗模塊”接收,經(jīng)過處理后將必要的信息傳遞給“統(tǒng)計總調(diào)度模塊”?!敖y(tǒng)計總調(diào)度模塊”根據(jù)接收的信息動態(tài)調(diào)用各個子統(tǒng)計模塊,從而完成此次統(tǒng)計請求。該動態(tài)統(tǒng)計系統(tǒng)的設(shè)計借用了模糊控制當中的模糊規(guī)則庫思想和當今軟件領(lǐng)域熱門的插件及模塊化思想[1],結(jié)合標準的SQL語言和Sql Server數(shù)據(jù)庫,采用與平臺無關(guān)的Java語言并充分利用面向?qū)ο螅?]的思想來實現(xiàn)。其中模糊規(guī)則庫思想來源于控制領(lǐng)域的模糊控制理論,它是一組規(guī)則集合,決定著控制系統(tǒng)的控制策略,圖2和圖3為本文的規(guī)則庫示例,不同的統(tǒng)計模塊根據(jù)需求調(diào)用各種規(guī)則庫。
2.1 數(shù)據(jù)庫表
圖1中的框圖為數(shù)據(jù)庫表,其中“源數(shù)據(jù)表”和“統(tǒng)計結(jié)果表”各自均為多張數(shù)據(jù)庫表,為了描述的需要對二者進行了簡化,前者存放統(tǒng)計需要的、已由其他系統(tǒng)產(chǎn)生的源數(shù)據(jù),后者則存放最終的統(tǒng)計結(jié)果數(shù)據(jù)(其中的某些數(shù)據(jù)也可能成為數(shù)據(jù)源)。
圖2 規(guī)則庫示例1
圖3 規(guī)則庫示例2
“統(tǒng)計條目表”和各“規(guī)則庫”表均為單張的可配置表,其中前者存放需要統(tǒng)計的產(chǎn)品條目信息,該表中的信息描述了細分后的產(chǎn)品條目,統(tǒng)計將以此表中的信息條目為單位進行統(tǒng)計,如圖4所示。
圖4 統(tǒng)計條目信息示例
后者則定義了每種產(chǎn)品條目下某個統(tǒng)計項目的數(shù)據(jù)來源、統(tǒng)計方法、統(tǒng)計結(jié)果存放目的地等信息,如圖2、圖3所示。
2.2 模塊功能
圖1中的中等深度顏色的矩形框圖為各個功能模塊,其各自功能如下。
a.入口檢驗模塊。此模塊接受統(tǒng)計請求,獲得請求的時間區(qū)間,確認請求的統(tǒng)計方式(日、周、月、年中的一種),此外,還需要完成2個功能:(1)根據(jù)“統(tǒng)計結(jié)果”表確認是否已存在該時間區(qū)間的統(tǒng)計,如果已存在,則不做統(tǒng)計,轉(zhuǎn)向其他功能模塊(圖1中未給出);如果不存在,則進行第二步。(2)根據(jù)源數(shù)據(jù)表校驗是否有該時間區(qū)間的源數(shù)據(jù)存在,若不存在,返回并給出提示信息;若存在,則轉(zhuǎn)向“統(tǒng)計總調(diào)度模塊”。
b.統(tǒng)計總調(diào)度模塊。此模塊相當于一個母體框架,如同 Java的 Eclipse集成開發(fā)環(huán)境[2],其功能需要各個“插件”(各種方式的統(tǒng)計模塊)來補充。其功能是:根據(jù)“統(tǒng)計條目表”動態(tài)獲取需要統(tǒng)計的產(chǎn)品種類,結(jié)合“入口檢驗模塊”傳遞過來的時間區(qū)間、統(tǒng)計方式等必要信息來調(diào)用各個統(tǒng)計模塊進行統(tǒng)計,并將最終統(tǒng)計出來的結(jié)果存入“統(tǒng)計結(jié)果表”。
c.其他子統(tǒng)計模塊:這些模塊以“插件”的形式存在,類似用Eclipse集成開發(fā)環(huán)境開發(fā)J2EE時需要的Lomboz、XMLBuddy等插件。主要就是實現(xiàn)各種類型的統(tǒng)計。
3.1 集成框架類
系統(tǒng)充分利用面向?qū)ο蟮奶匦詠韺崿F(xiàn),如圖5所示。圖5給出的CheckStatistic部分屬性、方法為所有統(tǒng)計類的基類,處于最頂層,其他統(tǒng)計類均繼承該基類而來,根據(jù)統(tǒng)計方式的不同來繼承和實現(xiàn)不同的方法。它及其下級子類主要專注于集成框架的實現(xiàn),提供與各“插件”類的接口,而復雜的數(shù)據(jù)統(tǒng)計工作則通過最底層的統(tǒng)計“插件”類來實現(xiàn)。
圖5 CheckStatistic抽象類
比如圖6中:qssj與zzsj2個屬性為統(tǒng)計的起始時間和終止時間;a1為數(shù)據(jù)庫連接對象,并在checkSyd()這個構(gòu)造函數(shù)中實例化;conDestroyed()方法用于斷開數(shù)據(jù)庫連接。
3.2 “插件”類
下面將以圖2和圖3所示的2類規(guī)則庫為例,詳述這2類動態(tài)統(tǒng)計在“插件”類中的實現(xiàn)原理。
圖2是某雙樣產(chǎn)品的某類型的部分規(guī)則庫數(shù) 據(jù),舊的VFP硬編碼如圖6所示。
圖6 某數(shù)量型統(tǒng)計VFP硬編碼
分析圖6可知,其功能為統(tǒng)計某種力學檢驗性能指標在設(shè)定范圍內(nèi)的數(shù)量,并且有規(guī)律可尋。由于檢驗項的數(shù)量最多為5樣,因而設(shè)計的規(guī)則庫就如圖 2 所示,其中[ItemName1]、[ItemName2]、[ItemName3]、[ItemName4]、[ItemName5]對應某種力學性能(如ReL)的1~5樣,程序?qū)⒏鶕?jù)表中配置的情況自動識別檢驗項送樣數(shù)量,并構(gòu)建相應的SQL條件語句。其數(shù)據(jù)來源為“源數(shù)據(jù)表”中的字段名;4字段則詳細描述了其相應的上下限符號及對應的值;Destination則指明了其在“統(tǒng)計結(jié)果表”中的位置。下面給出截取的由系統(tǒng)自動生成的部分SQL語句:
對于圖3,也是某雙樣產(chǎn)品的某類型的部分規(guī)則庫數(shù)據(jù),舊的VFP硬編碼如圖7所示。
圖7 某公式型統(tǒng)計VFP硬編碼
3.3 規(guī)則庫配置
該統(tǒng)計系統(tǒng)的動態(tài)性、可配置性還有賴于一個強大且方便的配置系統(tǒng),配置系統(tǒng)提供新增、編輯、刪除規(guī)則庫數(shù)據(jù)的功能,如圖8所示。
圖8 某規(guī)則庫配置界面
基于模糊規(guī)則庫思想的插件式動態(tài)統(tǒng)計系統(tǒng)已成功應用于昆明某鋼廠的質(zhì)量管理系統(tǒng),與現(xiàn)有大多數(shù)的硬編碼統(tǒng)計系統(tǒng)相比,該統(tǒng)計系統(tǒng)具有動態(tài)、可配置和可擴展的特性,因而系統(tǒng)的靈活性大大提高,不必跟著用戶需求的變化而變化,達到了自適應用戶需求變化的效果,降低了開發(fā)成本和后續(xù)的維護成本,提高了系統(tǒng)的通用性、靈活性。文中以Java和Sql Server為示例,介紹了動態(tài)統(tǒng)計方案的具體實現(xiàn),其思想、原理還可以推廣至任何開發(fā)語言及數(shù)據(jù)庫。
[1]周競濤.Eclipse完全手冊——基礎(chǔ)·進階·高級[M].北京:電子工業(yè)出版社,2006.
[2]江義華.Java完美經(jīng)典[M].北京:中國鐵道出版社,2004.
名詞解釋:組合機床
組合機床是以通用部件為基礎(chǔ),配以按工件特定形狀和加工工藝設(shè)計的專用部件和夾具,組成的半自動或自動專用機床。
組合機床一般采用多軸、多刀、多序、多面或多工位同時加工的方式,生產(chǎn)效率比通用機床高幾倍至幾十倍。由于通用部件已經(jīng)標準化和系列化,可根據(jù)需要靈活配置,能縮短設(shè)計和制造周期。因此,組合機床兼有低成本和高效率的優(yōu)點,在大批、大量生產(chǎn)中得到廣泛應用,并可用以組成自動生產(chǎn)線。
組合機床一般用于加工箱體類或特殊形狀的零件。加工時,工件一般不旋轉(zhuǎn),由刀具的旋轉(zhuǎn)運動和刀具與工件的相對進給運動,來實現(xiàn)鉆孔、擴孔、锪孔、鉸孔、鏜孔、銑削平面、切削內(nèi)外螺紋以及加工外圓和端面等。有的組合機床采用車削頭夾持工件使之旋轉(zhuǎn),由刀具作進給運動,也可實現(xiàn)某些回轉(zhuǎn)體類零件(如飛輪、汽車后橋半軸等)的外圓和端面加工。
二十世紀70年代以來,隨著可轉(zhuǎn)位刀具、密齒銑刀、鏜孔尺寸自動檢測和刀具自動補償技術(shù)的發(fā)展,組合機床的加工精度也有所提高。銑削平面的平面度可達0.05毫米/1000毫米,表面粗糙度可低達2.5~0.63微米;鏜孔精度可達IT7~6級,孔距精度可達O.03~O.02微米。
專用機床是隨著汽車工業(yè)的興起而發(fā)展起來的。在專用機床中某些部件因重復使用,逐步發(fā)展成為通用部件,因而產(chǎn)生了組合機床。
最早的組合機床是1911年在美國制成的,用于加工汽車零件。初期,各機床制造廠都有各自的通用部件標準。為了提高不同制造廠的通用部件的互換性,便于用戶使用和維修,1953年美國福特汽車公司和通用汽車公司與美國機床制造廠協(xié)商,確定了組合機床通用部件標準化的原則,即嚴格規(guī)定各部件間的聯(lián)系尺寸,但對部件結(jié)構(gòu)未作規(guī)定。
通用部件按功能可分為動力部件、支承部件、輸送部件、控制部件和輔助部件五類。動力部件是為組合機床提供主運動和進給運動的部件。主要有動力箱、切削頭和動力滑臺。
支承部件是用以安裝動力滑臺、帶有進給機構(gòu)的切削頭或夾具等的部件,有側(cè)底座、中間底座、支架、可調(diào)支架、立柱和立柱底座等。
輸送部件是用以輸送工件或主軸箱至加工工位的部件,主要有分度回轉(zhuǎn)工作臺、環(huán)形分度回轉(zhuǎn)工作臺、分度鼓輪和往復移動工作臺等。
控制部件是用以控制機床的自動工作循環(huán)的部件,有液壓站、電氣柜和操縱臺等。輔助部件有潤滑裝置、冷卻裝置和排屑裝置等。
為了使組合機床能在中小批量生產(chǎn)中得到應用,往往需要應用成組技術(shù),把結(jié)構(gòu)和工藝相似的零件集中在一臺組合機床上加工,以提高機床的利用率。這類機床常見的有兩種,可換主軸箱式組合機床和轉(zhuǎn)塔式組合機床。
組合機床未來的發(fā)展將更多的采用調(diào)速電動機和滾珠絲杠等傳動,以簡化結(jié)構(gòu)、縮短生產(chǎn)節(jié)拍;采用數(shù)字控制系統(tǒng)和主軸箱、夾具自動更換系統(tǒng),以提高工藝可調(diào)性;以及納入柔性制造。
Plug-in Dynamic Statistic Solution Based on Fuzzy Rules-Base Method
PENG Haibo,YANG Wie,YAO Zhiqing
(Wisco Group Kunming Iron and Steel Co.,ltd.information Center,Yunnan Kunming,650302,China)
This paper puts forward and establishes a dynamic statistic system by utilizing the fuzzy rules-base method of fuzzy control domain and modularization、plug-in method of software domain,associating SQL language and Sql Server database,and fully adopting the object-oriented feature of Java language.In the application of the system,the maintenance work is cut down a lot,and the system's dynamic characteristic,configurability and adaptivity are realized.
Java;SQL Language;Fuzzy Rules-Base;Dynamic Statistic;Modularization;Plug-in
TP311
A
2095-509X(2013)02-0036-04
10.3969/j.issn.2095 -509X.2013.02.010
2012-10-17
彭海波(1982—),男,云南昆明人,武鋼集團昆明鋼鐵股份有限公司信息系統(tǒng)項目管理師,碩士,主要研究方向為企業(yè)綜合信息化。