亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CLIPS橋機(jī)起升機(jī)構(gòu)設(shè)計(jì)型專家系統(tǒng)

        2013-07-25 04:36:50寧志強(qiáng)陶元芳楊家威
        關(guān)鍵詞:卷筒聯(lián)軸器減速器

        寧志強(qiáng),陶元芳,楊家威

        (1.山推工程機(jī)械股份有限公司,山東 濟(jì)寧 272073;2.太原科技大學(xué) 機(jī)械工程學(xué)院,山西 太原 030024)

        已有的起重機(jī)設(shè)計(jì)型專家系統(tǒng),流行于20世紀(jì)90年代,其特點(diǎn)是產(chǎn)生式規(guī)則的運(yùn)用,集成有限元、優(yōu)化方法、繪圖和評(píng)價(jià)體系.與故障診斷專家系統(tǒng)相比,起重機(jī)設(shè)計(jì)專家系統(tǒng)發(fā)展緩慢,因其多以prolog語(yǔ)言實(shí)現(xiàn),接口不方便,而VC++與其他語(yǔ)言接口方便,且易于擴(kuò)展,其MFC(Microsoft Foundation Classes),比較適合工程應(yīng)用,但用來(lái)實(shí)現(xiàn)專家系統(tǒng)比較困難.CLIPS的出現(xiàn)對(duì)于設(shè)計(jì)型專家系統(tǒng)有優(yōu)勢(shì).但CLIPS界面不友好,無(wú)法滿足工程計(jì)算時(shí)以編輯框?qū)崿F(xiàn)數(shù)值輸入和輸出的要求.而優(yōu)化設(shè)計(jì)在機(jī)械領(lǐng)域應(yīng)用非常廣泛,以VC++編寫的優(yōu)化程序較多.為了共享優(yōu)化代碼,把VC++和CLIPS融合可以優(yōu)勢(shì)互補(bǔ).

        CLIPS優(yōu)點(diǎn)在于良好的可移植性和高效模式匹配算法[1],CLIPS采用的Rete算法可以用于機(jī)械設(shè)計(jì)中的案例檢索和零部件的選取.CLIPS基于規(guī)則的專家系統(tǒng)的結(jié)構(gòu)如圖1所示.

        圖1 CLIPS結(jié)構(gòu)圖解Fig.1 Structure of CLIPS

        推理機(jī)是通過(guò)決定規(guī)則滿足事實(shí)或目標(biāo),并授予規(guī)則優(yōu)先級(jí),然后執(zhí)行最高優(yōu)先級(jí)規(guī)則進(jìn)行推理.推理機(jī)包括推理方式和推理策略兩個(gè)部分,推理方法就是對(duì)知識(shí)的運(yùn)用過(guò)程,推理策略就是對(duì)知識(shí)的選擇過(guò)程.

        1 機(jī)械設(shè)計(jì)型專家系統(tǒng)應(yīng)有的功能

        在機(jī)械設(shè)計(jì)中,通常的設(shè)計(jì)過(guò)程是:首先,根據(jù)機(jī)械用途、目的,確定機(jī)械的動(dòng)力方案、傳動(dòng)方案、機(jī)構(gòu)形式、零部件等,不通過(guò)計(jì)算而參考以往的設(shè)計(jì)方案;其次,采用基于實(shí)例的檢索,借鑒以往產(chǎn)品的設(shè)計(jì)經(jīng)驗(yàn),通過(guò)適當(dāng)修改過(guò)去成熟產(chǎn)品案例的方法來(lái)設(shè)計(jì)新產(chǎn)品.例如,通過(guò)檢索存儲(chǔ)在知識(shí)庫(kù)中的成熟的起重機(jī)案例,根據(jù)最相近案例選取某些設(shè)計(jì)參數(shù),如吊具總質(zhì)量、滑輪組倍率、卷筒材料、卷筒機(jī)械效率、減速器傳動(dòng)效率;然后通過(guò)計(jì)算確定方案中的具體參數(shù),包括電動(dòng)機(jī)的功率、轉(zhuǎn)速,減速比;最后,經(jīng)過(guò)推理確定設(shè)計(jì)方案和通過(guò)計(jì)算確定計(jì)算數(shù)值,把以上3部分的結(jié)果導(dǎo)入推理機(jī)中,觸發(fā)規(guī)則,以選取合適的零部件,如電動(dòng)機(jī)、減速器等.

        結(jié)構(gòu)設(shè)計(jì)專家系統(tǒng)應(yīng)有的結(jié)構(gòu)形式,如圖2所示.

        圖2 設(shè)計(jì)專家系統(tǒng)的結(jié)構(gòu)Fig.2 Structure of designing expert system

        2 CLIPS對(duì)機(jī)械設(shè)計(jì)選型樹的應(yīng)用

        選型樹表示法:機(jī)械設(shè)計(jì)中,方案從動(dòng)力方案、傳動(dòng)方案、零件種類等根據(jù)不同的情況會(huì)有不同選擇方案.用樹狀樹圖來(lái)表示這種復(fù)雜的關(guān)系比較方便.如圖3所示,以橋式起重機(jī)的設(shè)計(jì)方案選型為例.

        圖3 設(shè)計(jì)選型樹Fig.3 Tree of design selection

        設(shè)計(jì)選型專家系統(tǒng)是計(jì)算機(jī)程序模仿人類專家的思維推理策略,利用儲(chǔ)存在知識(shí)庫(kù)中的專業(yè)知識(shí),來(lái)實(shí)現(xiàn)待設(shè)計(jì)產(chǎn)品的方案選型.確定選型方案是一個(gè)具有層次性的復(fù)雜過(guò)程,可以理解為逐步判定的過(guò)程.首先提供初始推理?xiàng)l件,推理機(jī)根據(jù)初始推理?xiàng)l件和知識(shí)庫(kù)中的選型樹,得到推理結(jié)果和供用戶選擇的新推理?xiàng)l件.若當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)有除當(dāng)前節(jié)點(diǎn)以外的父節(jié)點(diǎn),如節(jié)點(diǎn)“傳動(dòng)方案”的2個(gè)子節(jié)點(diǎn)“閉式傳動(dòng)”、“開(kāi)式傳動(dòng)”有“中小噸位”、“大噸位”2個(gè)父節(jié)點(diǎn),則優(yōu)先提取這些父節(jié)點(diǎn)供用戶下一步選擇的輔助推理?xiàng)l件;否則,如節(jié)點(diǎn)“起升機(jī)構(gòu)”,其2個(gè)子節(jié)點(diǎn)沒(méi)有其他父節(jié)點(diǎn),直接輸出子節(jié)點(diǎn)到界面.

        對(duì)選型樹搜索推理是指在直觀的選型樹圖形下,按照一定控制策略的推理機(jī)制,對(duì)樹進(jìn)行搜索推理的方法.以廣度優(yōu)先搜索為主,按照樹的層次逐層進(jìn)行搜索.對(duì)樹的每一層進(jìn)行廣度優(yōu)先搜索,該層的每一節(jié)點(diǎn)都分別與推理?xiàng)l件作正反向推理匹配,判斷該節(jié)點(diǎn)是否為目標(biāo)節(jié)點(diǎn).如該層的某些節(jié)點(diǎn)與推理?xiàng)l件相匹配,就這些節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),生成下一層子節(jié)點(diǎn),作深度優(yōu)先搜索[2].CLIPS中事實(shí)表示法是框架式的,可以方便地表示選型樹.

        以圖3選型樹為例.選擇“橋式起重機(jī)”,經(jīng)推理得到3個(gè)路徑,輸出到輔助列表框,以供用戶從中選擇,即“小車運(yùn)行機(jī)構(gòu)”、“大車運(yùn)行機(jī)構(gòu)”“起升機(jī)構(gòu)”.如用戶選擇了“起升機(jī)構(gòu)”,點(diǎn)擊推理按鈕,經(jīng)推理得到2個(gè)推理結(jié)果,輸出到輔助列表框,以供用戶從中選擇,即“傳動(dòng)方案”和“部件選取”.假如用戶選擇了“傳動(dòng)方案”,點(diǎn)擊推理按鈕,經(jīng)推理得到2個(gè)推理結(jié)果,輸出到輔助列表框,以供用戶從中選擇,即“中小噸位”和“大噸位”.假如用戶選擇了“中小噸位”,點(diǎn)擊推理按鈕,經(jīng)推理得到一個(gè)推理結(jié)果“閉式傳動(dòng)”,同時(shí)輸出“卷筒和減速器連接”、“電動(dòng)機(jī)和減速器連接”到輔助列表框以供用戶選擇.圖4為設(shè)計(jì)選型板塊的界面.

        圖4 橋機(jī)設(shè)計(jì)選型專家系統(tǒng)界面Fig.4 Interface for crane expert for design and selection

        3 實(shí)例的檢索

        基于實(shí)例的設(shè)計(jì)方法 CBD(Case-Based Design)是近年來(lái)人工智能領(lǐng)域中興起的一項(xiàng)重要的設(shè)計(jì)技術(shù).實(shí)例的表達(dá)是把存在的成熟設(shè)計(jì)事例表達(dá)成為計(jì)算機(jī)可以識(shí)別和利用的信息.實(shí)例的表示有二部分內(nèi)容:一是實(shí)例的內(nèi)容,事例的屬性描述和事例的解決方案;二是實(shí)例的索引,它和實(shí)例的組織結(jié)構(gòu)以及檢索有關(guān),反映了不同實(shí)例間的區(qū)別.

        實(shí)例的數(shù)學(xué)模型為

        式中:C表示實(shí)例函數(shù);F=(f1,f2,…,fn),fi(i=1,2,3,…,n)為索引結(jié)構(gòu);H=(h1,h2,…,hm),hj(j=1,2,3…,m)為實(shí)例答案[3].

        本文采用實(shí)例檢索的最常采用的方法——最相鄰近策略.最近相鄰策略是以實(shí)例之間的某種距離作為標(biāo)準(zhǔn)來(lái)判斷實(shí)例的相似程度.在此方法中,屬性對(duì)應(yīng)實(shí)例中的特征項(xiàng).計(jì)算新舊實(shí)例之間的相似度,據(jù)此確定最接近設(shè)計(jì)參數(shù)的實(shí)例[3].

        最相鄰近策略的相似度計(jì)算為

        S的定量計(jì)算方法為

        起重機(jī)以往設(shè)計(jì)實(shí)例分為索引結(jié)構(gòu)和實(shí)例答案兩部分.索引結(jié)構(gòu)為設(shè)計(jì)主參數(shù),包括起重量、起升速度、起升高度、起升機(jī)構(gòu)工作級(jí)別.實(shí)例答案為:機(jī)構(gòu)布置形式、吊具總質(zhì)量、滑輪組倍率、卷筒材料、卷筒機(jī)械效率、減速器傳動(dòng)效率、穩(wěn)態(tài)負(fù)載平均系數(shù)、減速器生產(chǎn)廠家和制動(dòng)器類型.案例檢索板塊界面如圖5所示.

        圖5 起重機(jī)案例檢索板塊界面Fig.5 Case retrieval interface for crane

        4 用優(yōu)化方法實(shí)現(xiàn)隨意參數(shù)調(diào)整

        在機(jī)械設(shè)計(jì)時(shí),由于設(shè)計(jì)方案多樣而復(fù)雜,設(shè)計(jì)人員?;ㄙM(fèi)大量的精力憑借實(shí)際經(jīng)驗(yàn)進(jìn)行選型設(shè)計(jì)和參數(shù)調(diào)整,以確定較合理的設(shè)計(jì)方案.針對(duì)具體情況有些參數(shù)要被保留,有些參數(shù)要進(jìn)行再設(shè)計(jì).

        機(jī)械設(shè)計(jì)中往往需要多個(gè)數(shù)學(xué)公式嵌套,一個(gè)公式計(jì)算出的結(jié)果,是另外一個(gè)公式的輸入.由此可見(jiàn),機(jī)械設(shè)計(jì)數(shù)學(xué)公式具有網(wǎng)狀聯(lián)系.在實(shí)際計(jì)算中,設(shè)計(jì)人員為了能使計(jì)算關(guān)系網(wǎng)中的中間結(jié)果或者最后結(jié)果達(dá)到某個(gè)數(shù)值,必須要對(duì)前部設(shè)計(jì)參數(shù)進(jìn)行不斷調(diào)整,要借助反函數(shù)倒著往回算,只有一個(gè)計(jì)算公式還可以,如果在計(jì)算網(wǎng)中要隨意指定其中一個(gè)參數(shù),要通過(guò)改變其他計(jì)算參數(shù)以滿足整個(gè)關(guān)系網(wǎng),則會(huì)非常復(fù)雜.

        設(shè)計(jì)專家系統(tǒng)過(guò)對(duì)計(jì)算參數(shù)的輸入順序、個(gè)數(shù)都無(wú)限制,可以正著計(jì)算也可以倒著算.如在起重機(jī)設(shè)計(jì)過(guò)程中,起重量、吊具質(zhì)量、起升速度、穩(wěn)態(tài)系數(shù)、電動(dòng)機(jī)計(jì)算功率、電機(jī)轉(zhuǎn)速、卷筒直徑、吊鉤組倍率、減速比、卷筒轉(zhuǎn)速,這些參數(shù)可以隨意指定或者不指定.識(shí)別是否指定了其中的某一個(gè)方法是通過(guò)檢測(cè)該編輯框是否為0.如果編輯框?yàn)?,使用一個(gè)結(jié)構(gòu)體數(shù)組,向坐標(biāo)輪換法所在的函數(shù)中傳遞信息.

        要實(shí)現(xiàn)這樣一個(gè)要求,借助優(yōu)化方法對(duì)變量的搜索相對(duì)容易實(shí)現(xiàn).優(yōu)化問(wèn)題的模型[4]:求n維設(shè)計(jì)變量x=[x1x2…xn]T使目標(biāo)函數(shù)f(x)→min,且滿足一定的約束條件a≤xi≤b.函數(shù)z=f(x,y),當(dāng)給定x,z時(shí),要求解y可以先表示成的反函數(shù)形式再求解.而當(dāng)用優(yōu)化方法求解時(shí),求變量x,y,z使[f(x,y)-z]2→0,等同于滿足z=f(x,y)的等式關(guān)系,避開(kāi)求解反函數(shù)的復(fù)雜變形是該方法的優(yōu)點(diǎn)[4].當(dāng)要限定某幾個(gè)變量時(shí),要把該變量的上下限同時(shí)定義為要指定的那個(gè)數(shù),要給定z=a時(shí),約束條件設(shè)為a≤z≤a.當(dāng)沒(méi)有指定值時(shí)則用黃金分割法和進(jìn)退法結(jié)合搜索.這種方法的前提是必須要使目標(biāo)函數(shù)最小值為0.

        用優(yōu)化中的坐標(biāo)輪換法實(shí)現(xiàn)這種功能,目標(biāo)函數(shù)定義為

        式中:Q為起升載荷;G為吊具載荷;v為起升速度;p0為穩(wěn)態(tài)平均功率系數(shù);m為吊具倍率;η為傳動(dòng)效率;P為計(jì)算功率;n0為電機(jī)功率,n為卷筒轉(zhuǎn)速;i為減速比;D為卷筒直徑.

        圖6 起升機(jī)構(gòu)設(shè)計(jì)專家系統(tǒng)框圖Fig.6 Diagram of expert system for design of hoisting mechanism

        5 CLIPS在機(jī)械零部件選取時(shí)的數(shù)值型應(yīng)用

        5.1 用模糊數(shù)學(xué)決策選取多屬性部件

        選取一個(gè)部件時(shí),對(duì)這個(gè)部件和對(duì)這個(gè)部件參數(shù)要求的匹配程度,用一個(gè)有大小的隸屬度值來(lái)衡量.模糊命題“x近似γ”的隸屬函數(shù)為

        式中:β為系數(shù).

        如圖7所示,該隸屬函數(shù)可以表達(dá)所有近似于某個(gè)特定值γ的數(shù),β對(duì)應(yīng)著交叉點(diǎn)0.5,由用戶根據(jù)自己由經(jīng)驗(yàn)定義.

        圖7 模糊命題“x近似于γ”的隸屬函數(shù)Fig.7 Membership function of fuzzy proposition“x is onγ”

        當(dāng)存在多個(gè)評(píng)價(jià)指標(biāo)時(shí),用權(quán)系數(shù)來(lái)描述各個(gè)方面重要程度.加權(quán)之后得到一個(gè)0到1之間分?jǐn)?shù).例如電動(dòng)機(jī)選擇有兩個(gè)方面輸入轉(zhuǎn)速、許用功率,每個(gè)存儲(chǔ)的電動(dòng)機(jī)型號(hào)都包含這兩個(gè)參數(shù),規(guī)則會(huì)自動(dòng)逐個(gè)計(jì)算各個(gè)電動(dòng)機(jī)事實(shí)的加權(quán)隸屬度,最大者即最符合要求的.這種方法可以用來(lái)選取電機(jī)、減速器、聯(lián)軸器等部件.

        電動(dòng)機(jī)隸屬度為

        式中:x,y分別為各個(gè)電動(dòng)機(jī)的額定輸入轉(zhuǎn)速、許用功率;x1,y1為實(shí)際需要的輸入轉(zhuǎn)速、許用功率.β1,β2為對(duì)應(yīng)隸屬函數(shù)交叉點(diǎn)0.5.

        5.2 用條件測(cè)試同時(shí)選取多個(gè)相關(guān)零部件

        在部件選取時(shí)會(huì)遇到選擇多個(gè)部件的情況.這些部件之間的關(guān)系多且雜.傳統(tǒng)程序設(shè)計(jì)方法,是將所有零部件的數(shù)據(jù)事先保存在數(shù)據(jù)庫(kù)中,在需要選用多個(gè)部件時(shí),循環(huán)讀取數(shù)據(jù)庫(kù).但一次只能讀取一個(gè)部件,不能利用多個(gè)部件之間的相互關(guān)系來(lái)選取[5].

        在專家系統(tǒng)工具CLIPS中,所有零部件的數(shù)據(jù)是被存儲(chǔ)在工作內(nèi)存中,而不是數(shù)據(jù)庫(kù)中.對(duì)于部件的選取采用測(cè)試條件元素法,可以同時(shí)測(cè)試多個(gè)零部件事實(shí)之間的關(guān)系.

        以聯(lián)軸器、浮動(dòng)軸、制動(dòng)器的選取為例.在橋式和門式起重機(jī)起升機(jī)構(gòu)的設(shè)計(jì)中,電動(dòng)機(jī)和減速器高速軸連接,通常采用齒輪聯(lián)軸器制成2個(gè)半齒聯(lián)軸器,中間用一段軸連起來(lái),這根軸稱為浮動(dòng)軸.如圖7所示.在連接高速軸和聯(lián)軸器時(shí),采用帶制動(dòng)輪半齒聯(lián)軸器,聯(lián)軸器的輸入軸和輸出軸的軸孔直徑及所帶的制動(dòng)輪直徑是標(biāo)準(zhǔn)的.在選擇聯(lián)軸器、浮動(dòng)軸、制動(dòng)器時(shí),要考慮電動(dòng)機(jī)的輸出軸直徑必須與聯(lián)軸器相等,聯(lián)軸器的許用扭矩要合適,浮動(dòng)軸的直徑與聯(lián)軸器的輸出端直徑有關(guān),且浮動(dòng)軸要滿足應(yīng)力要求,制動(dòng)輪直徑被聯(lián)軸器限定,制動(dòng)器選擇也被制動(dòng)輪直徑限定了,并要求滿足制動(dòng)力矩要求.

        6 改進(jìn)的CLIPS和VC++交互技術(shù)

        現(xiàn)有的CLIPS和VC++的交互方法分為直接嵌入法和包裝類法.這兩種交互方法都必須通過(guò)文本文件作為中介.文本文件作為交互中介對(duì)樹搜索有局限性.推理?xiàng)l件向CLIPS輸入和推理結(jié)果從CLIPS中導(dǎo)出都必須先保存在文本文件中.向文本中介文件輸出一個(gè)事實(shí)比較合適,而當(dāng)連續(xù)輸出不同的幾個(gè)事實(shí)時(shí),后一個(gè)輸出會(huì)把文本文件中的前一個(gè)事實(shí)覆蓋.在這種情況下,專家系統(tǒng)只能根據(jù)現(xiàn)有的條件進(jìn)行一次性推理,不能從樹中提取多個(gè)啟發(fā)性的事實(shí).

        專家系統(tǒng)開(kāi)發(fā)工具CLIPS是用C語(yǔ)言設(shè)計(jì)的,把CLIPS的源代碼(為C語(yǔ)言)制作成動(dòng)態(tài)鏈接庫(kù),得到CLIPS.dll和CLIPS.lib兩個(gè)文件.用VC++6.0調(diào)用CLIPS動(dòng)態(tài)鏈接庫(kù)可以使CLIPS兼具M(jìn)FC可視化界面和專家系統(tǒng)工具的功能.為避開(kāi)中介文本文件的交互,可以采用從動(dòng)態(tài)鏈接庫(kù)中調(diào)用事實(shí)添加函數(shù)和事實(shí)槽值讀取函數(shù)的交互方法.借助改進(jìn)的交互方法容易實(shí)現(xiàn)向MFC同時(shí)輸出多個(gè)事實(shí).

        要從CLIPS中提取事實(shí)時(shí),首先對(duì)用來(lái)指向新事實(shí)的指針newFact賦初值0(NULL),用指針new-Fact循環(huán)指向CLIPS內(nèi)部的事實(shí),當(dāng)指針再次為NULL時(shí),說(shuō)明指針就已經(jīng)對(duì)所有事實(shí)的指向過(guò),不必使指針再移動(dòng).讀取指向CLIPS中某個(gè)事實(shí),用函數(shù)GetFactSlot(newFact,"x",&theValue)的值判斷該事實(shí)是否有槽名為x.GetFactSlot返回值為1時(shí),表示有名為x的槽,用槽值提取函數(shù)“DOToString”,讀取字符型槽值,然后把指針移動(dòng)到下一個(gè)事實(shí);Get-FactSlot返回值為0時(shí),表示不是要尋找的事實(shí),指針移動(dòng)到下一個(gè)事實(shí).簡(jiǎn)要代碼如下:

        CLIPS推理機(jī)的推理步驟[6-7]:

        (1)調(diào)用CLIPS初始化函數(shù)InitializeEnvironment().

        (2)用載入事實(shí)庫(kù)和知識(shí)庫(kù)函數(shù)Load(<filename.clp>).

        (3)調(diào)用添加事實(shí)函數(shù)AssertString(char*temp[100]),該函數(shù)參數(shù)是字符串指針類型.

        (4)運(yùn)行推理函數(shù):Run().

        (5)得到下一個(gè)事實(shí)地址,因?yàn)橛?jì)算結(jié)果都要以存儲(chǔ)在事實(shí)的槽中,要得到槽值必須要得到指向該事實(shí)的指針,Void* GetNextFact(newFact)[7].

        (6)根據(jù)指向事實(shí)的指針newFact與槽名x,取得槽名為x的事實(shí)中的槽值,并把它存在結(jié)構(gòu)體DATA_OBJECT theValue中.

        7 基于CLIPS的起重機(jī)零部件知識(shí)庫(kù)

        用CLIPS軟件本身來(lái)實(shí)現(xiàn)對(duì)零部件數(shù)據(jù)的存儲(chǔ),同時(shí)要在VC++對(duì)話框界面實(shí)現(xiàn)數(shù)據(jù)的添加和刪除數(shù)據(jù).將所有的零部件數(shù)據(jù)存儲(chǔ)在一個(gè)后綴名為clp的文件中,clp文件為CLIPS規(guī)則與事實(shí)的特定存儲(chǔ)方式.數(shù)據(jù)的存儲(chǔ)獨(dú)立于使用它的程序.對(duì)于新數(shù)據(jù)的插入和對(duì)于原有數(shù)據(jù)的修改與檢索均能按一種公用的和可控制的方式進(jìn)行.零部件相關(guān)樣本主要包括:鋼絲繩、電機(jī)、卷筒、減速器、聯(lián)軸器、制動(dòng)器等.

        基于CLIPS零部件數(shù)據(jù)庫(kù)中的知識(shí)以框架式來(lái)表達(dá).框架是描述對(duì)象(事物,事件或概念)屬性的一種數(shù)據(jù)結(jié)構(gòu).框架的基本形式:一個(gè)框架由若干個(gè)被稱為“槽”的結(jié)構(gòu)組成.槽用于描述對(duì)象的某一方面的屬性.

        以減速器模板為例:

        Jiansuqi槽用來(lái)表示減速器的參數(shù):e1為輸入軸轉(zhuǎn)速,e2為名義中心距,e3為許用輸出扭矩,e4為傳動(dòng)比,e5為高速軸輸出功率.

        新建名為Engine.clp的文件,用于保存推理機(jī)程序;新建名為part.clp的文件,用于保存零部件信息.定義兩個(gè)不同的文件,實(shí)現(xiàn)程序與數(shù)據(jù)的分離.

        在part.clp文件中保存零部件數(shù)據(jù)(jiansuqi(e1 1000.0)(e2 500.0)(e3 42500.0)(e4 16.0)(e5 259.0)):

        (1)載入保存在part.clp中的數(shù)據(jù).在VC++中FILEVIEW中,調(diào)用CLIPS初始化函數(shù):InitializeEnvironment();調(diào)用 CLIPS載入函數(shù):Load(Engine.clp);運(yùn)行推理函數(shù):Run(-1l),此時(shí)規(guī)則defrule load會(huì)被激發(fā),執(zhí)行載入事實(shí)庫(kù)part.clp,減速器數(shù)據(jù)將會(huì)被載入到推理機(jī)事實(shí)列表中.調(diào)用函數(shù)Void*GetNextFact(newFact),得到指向某個(gè)事實(shí)的指針.調(diào)用函數(shù)int GetFactSlot(new-Fact,"e1",&theValue),根據(jù)指向事實(shí)的指針new-Fact,槽名為e1,e2,e3,e4,e5,取得槽值并把它存在結(jié)構(gòu)體DATA_OBJECT theValue中.函數(shù)double DOToFloat(theValue)用來(lái)讀取事實(shí)中的浮點(diǎn)類型的槽值,并傳遞到VC++,輸出到對(duì)話框列表框.CLIPS命令load-facts"文件.clp"用來(lái)載入保存在另一個(gè)文件中的數(shù)據(jù).

        在CLIPS中,每一個(gè)事實(shí)都有一個(gè)特定的事實(shí)號(hào).當(dāng)?shù)玫侥硞€(gè)事實(shí)的事實(shí)號(hào)時(shí),就可以對(duì)該事實(shí)進(jìn)行操作,如修改或刪除.要得到事實(shí)號(hào)需從CLIPS動(dòng)態(tài)鏈接庫(kù)中調(diào)用int FactIndex函數(shù),參數(shù)為事實(shí)指針.當(dāng)每次向列表框輸出事實(shí)時(shí),每一項(xiàng)都有唯一的列表框索引號(hào),同時(shí)建立一個(gè)整型數(shù)組int w1[100].將事實(shí)號(hào)保存在整型數(shù)組int w1[100]中,列表框項(xiàng)的索引號(hào)就是保存在整型數(shù)組int w1[100]中的地址.

        圖8 刪除零部件信息框圖Fig.8 Diagram of deletinging parts information

        (2)從MFC界面保存零部件到part.clp文件中,此時(shí)需要用到CLIPS的一個(gè)函數(shù)save-facts"文件名.clp".該函數(shù)被調(diào)用后,會(huì)保存所有事實(shí)列表中的事實(shí)到某一個(gè)文件中.

        (3)從MFC列表框刪除零部件數(shù)據(jù).圖8為刪除數(shù)據(jù)框圖.在Engine.clp中定義刪除規(guī)則defrule retract,CLIPS語(yǔ)言中用retract來(lái)刪除事實(shí),函數(shù)retract(int i)的參數(shù)為事實(shí)號(hào),調(diào)用retract命令可以刪除某個(gè)事實(shí).事實(shí)(M1?a)用來(lái)從對(duì)話框向CLIPS推理機(jī)傳遞待刪除的事實(shí)號(hào),k為列表框中選擇項(xiàng)的索引號(hào),w1[k]為選中的事實(shí)的事實(shí)號(hào),w1[k]賦值給?a,通過(guò)(M1?a)傳遞到CLIPS中.

        (retract?a)用來(lái)執(zhí)行刪除命令.?f為事實(shí)指針,用來(lái)指向事實(shí)(M1?a)、刪除(M1?a)事實(shí).當(dāng)刪除命令結(jié)束后函數(shù)save-facts保存現(xiàn)有的事實(shí).

        規(guī)則(defrule retract

        8 橋機(jī)起升機(jī)構(gòu)設(shè)計(jì)型專家系統(tǒng)

        該軟件基于CLIPS專家系統(tǒng)工具,由4部分功能構(gòu)成:

        (1)根據(jù)保存在知識(shí)庫(kù)中的橋式起重機(jī)起升機(jī)構(gòu)的選型樹,采用符號(hào)推理的方法,從用途和噸位等具體情況來(lái)確定動(dòng)力方案、傳動(dòng)方案、零件種類,得到的推理結(jié)果以事實(shí)的形式輸入到推理機(jī)中,根據(jù)不同的推理結(jié)果觸發(fā)不同的規(guī)則.選型樹的添加和修改可以通過(guò)MFC來(lái)實(shí)現(xiàn),且不必進(jìn)行再次編譯.算法和數(shù)據(jù)實(shí)現(xiàn)了分離.

        (2)在起重機(jī)設(shè)計(jì)過(guò)程中,起重量、吊具質(zhì)量、起升速度、穩(wěn)態(tài)系數(shù)、電動(dòng)機(jī)計(jì)算功率、電動(dòng)機(jī)轉(zhuǎn)速、卷筒直徑、吊鉤組倍率、減速比、卷筒轉(zhuǎn)速,這些參數(shù)可以隨意指定或者不指定.不指定就是編輯框?yàn)?,指定就是給編輯框一個(gè)非0的數(shù),讓軟件改變編輯框?yàn)?的參數(shù),而不改變編輯框非0的參數(shù),自動(dòng)去尋找一組滿足既定數(shù)學(xué)關(guān)系的參數(shù),代替了人工試湊,方便了設(shè)計(jì)計(jì)算.把參數(shù)計(jì)算結(jié)果也按事實(shí)形式輸入到推理機(jī)中以供零部件的選取.

        (3)根據(jù)索引參數(shù)(起重量、起升速度、起升高度、工作級(jí)別)檢索最相近實(shí)例得到實(shí)例答案,如機(jī)構(gòu)布置形式、吊具總質(zhì)量、滑輪組倍率、卷筒材料、卷筒機(jī)械效率、減速器傳動(dòng)效率、穩(wěn)態(tài)負(fù)載平均系數(shù)、減速器生產(chǎn)廠家、制動(dòng)器類型.

        (4)根據(jù)以上3個(gè)部分的推理結(jié)果,觸發(fā)相應(yīng)規(guī)則,采用模糊數(shù)學(xué)的方法來(lái)選取零部件,如電動(dòng)機(jī)、減速器、聯(lián)軸器、制動(dòng)器、鋼絲繩等.這些零部件以事實(shí)的形式保存在知識(shí)庫(kù)中,通過(guò)定義CLIPS專家系統(tǒng)中的條件測(cè)試元素,可以自動(dòng)選擇所需的零部件.與傳統(tǒng)的數(shù)據(jù)庫(kù)保存零部件的方法相比,知識(shí)庫(kù)更方便.圖9為起重機(jī)起升機(jī)構(gòu)設(shè)計(jì)型專家系統(tǒng)的主界面.

        9 結(jié)語(yǔ)

        圖9 橋式起重機(jī)起升機(jī)構(gòu)設(shè)計(jì)型專家系統(tǒng)界面Fig.9 Interface for hoisting mechanism of overhead travelling crane design expert system

        本文針對(duì)橋式起重機(jī)傳統(tǒng)設(shè)計(jì)方法參數(shù)選取繁瑣、數(shù)據(jù)管理困難、難以借鑒以往資料指導(dǎo)后續(xù)設(shè)計(jì)等問(wèn)題進(jìn)行研究.利用完全由C語(yǔ)言編寫的專家系統(tǒng)工具CLIPS,編寫可移植性較好橋式起重機(jī)設(shè)計(jì)專家系統(tǒng).通過(guò)此系統(tǒng)可以借鑒以往設(shè)計(jì)選型經(jīng)驗(yàn),有望提升產(chǎn)品的設(shè)計(jì)效率和縮短設(shè)計(jì)周期.

        [1]JOSEPH C,GIARRATANC G,RILEY D.專家系統(tǒng)原理和編程[M].北京:機(jī)械工業(yè)出版社,2010.

        JOSEPH C,GIARRATANC G,RILEY D.Expert system of principle and programming[M].Beijing:China Machine Press,2010.

        [2]吳堅(jiān).基于CLIPS的數(shù)控機(jī)床故障診斷專家系統(tǒng)[D].南寧:廣西大學(xué),2008.

        WU Jian.The CNC machine faults diagnosis expert system base on CLIPS[D].Nanning:Guangxi University,2008.

        [3]郭智春.鑄造起重機(jī)起升機(jī)構(gòu)CAD系統(tǒng)研究與開(kāi)發(fā)[D].大連:大連理工大學(xué),2008.

        GUO Zhichun.Research and development of CAD system for hoisting mechanism design of ladle crane[D].Dalian:Dalian U-niversity of Technology,2008.

        [4]王國(guó)強(qiáng).機(jī)械優(yōu)化設(shè)計(jì)[M].北京:機(jī)械工業(yè)出社,2009.

        WANG Guoqiang.Mechanical optimum design[M].Beijing:China Machine Press,2009.

        [5]寧志強(qiáng),陶元芳,劉曉蓮.CLIPS數(shù)值應(yīng)用及與VC++交互[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(4):226-229.

        NING Zhiqiang,TAO Yuanfang,LIU Xiaolian.Numerical application of CLIPS and interoperation between CLIPS and VC++[J].Computer Technology And Development,2013,23(4):226-229.

        [6]National Aeronautics and Space Administration.CLIPS advanced programming guide[M/OL].[2008-03-22].http://www.ghgcorp.com/clips/CLIPS.html.

        [7]National Aeronautics and Space Administration.CLIPSbasic programming guide[M/OL].[2008-03-22].http://www.ghgcorp.com/clips/CLIPS.html.

        猜你喜歡
        卷筒聯(lián)軸器減速器
        一起起重機(jī)聯(lián)軸器斷裂事故的警示
        1450卷取機(jī)卷筒的優(yōu)化改進(jìn)
        駝峰第三制動(dòng)位減速器夾停鉤車問(wèn)題的改進(jìn)
        低密度超音速減速器
        軍事文摘(2018年24期)2018-12-26 00:57:40
        GⅡCL型齒式聯(lián)軸器失效分析及改進(jìn)
        基于ANSYS Workbench 的ATB260 減速器箱體模態(tài)分析
        卷筒花
        高爐主卷?yè)P(yáng)柱銷聯(lián)軸器的改造
        新疆鋼鐵(2015年3期)2015-11-08 01:59:45
        梅花形彈性聯(lián)軸器的匹配
        汽車科技(2015年1期)2015-02-28 12:14:45
        卷取機(jī)卷筒徑向壓力的研究
        青青草手机免费播放视频| 鸭子tv国产在线永久播放| 洗澡被公强奷30分钟视频| 亚州无线国产2021| 日本红怡院东京热加勒比| 日本不卡一区二区三区在线视频| 私人vps一夜爽毛片免费| 国产精品国产三级国产av中文| 日韩大片高清播放器大全| 精品无码久久久久成人漫画| 欧美亚洲高清日韩成人| 亚洲精品在线观看一区二区| 国产毛女同一区二区三区| 国产精品乱码一区二区三区| 性导航app精品视频| 日韩国产精品一本一区馆/在线| 极品人妻少妇一区二区| 亚洲国产免费不卡视频| 色婷婷五月综合久久| 少妇高潮喷水正在播放| 最新福利姬在线视频国产观看| 国产三级精品三级在线专区2| 67194熟妇人妻欧美日韩| 免费人成黄页在线观看视频国产| 男女上床视频在线观看| 亚洲二区精品婷婷久久精品| 日本道色综合久久影院| 性生交大片免费看淑女出招| 国产精品天天看大片特色视频 | 国内精品久久人妻性色av| 亚洲精品粉嫩美女一区| 东京无码熟妇人妻av在线网址| 国产无码十八禁| 日本二区三区在线免费| 国产欧美亚洲精品第一页| 国产做无码视频在线观看浪潮| 天天干夜夜躁| 国产丝袜美腿一区二区三区| 正在播放强揉爆乳女教师| 久久国产精品不只是精品| 成人免费播放片高清在线观看|