專利名稱:編碼器故障的自動診斷裝置及其診斷求解方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機(jī)技術(shù)領(lǐng)域,涉及基于邏輯相容性的編碼器故障診斷系統(tǒng)及方 法,具體地說是一種編碼器故障的自動診斷裝置及其診斷求解方法。
背景技術(shù):
編碼器是將物理信號或數(shù)據(jù)進(jìn)行編制并轉(zhuǎn)換為可用以通信、傳輸和存儲之形式的 設(shè)備,是一種重要的用于測速和定位用途的傳感產(chǎn)品。編碼器是傳感產(chǎn)品的一大重要分支, 擁有十分廣闊的市場,如機(jī)床工具、航空航天、鐵道交通、新能源及港口機(jī)械等行業(yè),都在使 用著大量的編碼器產(chǎn)品。編碼器是通過“ 1 ”和“0”的二進(jìn)制編碼來將采集來的物理量(角位移或直線位移) 轉(zhuǎn)換為機(jī)器碼可讀取的電信號,用以通訊、傳輸和儲存。按照工作原理可將編碼器可分為增 量式和絕對式兩類增量式編碼器是將位移轉(zhuǎn)換成周期性的電信號,再把這個電信號轉(zhuǎn)變 成計數(shù)脈沖,用脈沖的個數(shù)表示位移的大小;絕對式編碼器的碼盤位置對應(yīng)確定的數(shù)字碼, 它的示值只與測量的起始和終止位置有關(guān),而與測量的中間過程無關(guān)。作為各種各樣的大型復(fù)雜裝備中的一個重要部件,編碼器故障嚴(yán)重影響著這些裝 備的運(yùn)行和維護(hù),甚至于引起設(shè)備故障、導(dǎo)致生命財產(chǎn)損失。所謂編碼器故障診斷是指在一 定工作環(huán)境下查明導(dǎo)致編碼器系統(tǒng)某種功能失常的原因或性質(zhì),判斷劣化狀態(tài)發(fā)生的部位 或部件,避免由于狀態(tài)劣化所造成的損失。編碼器作為一種光電精密儀器,容易受到工作環(huán) 境的影響。由于某些行業(yè)(如冶金、港口機(jī)械、紡織機(jī)械及風(fēng)力發(fā)電等)的工作環(huán)境較為惡 劣,編碼器不免會受到干擾,從而影響處理電路、單片機(jī)板甚至程序邏輯,致使編碼器功能 失常,甚至導(dǎo)致關(guān)聯(lián)設(shè)備的故障。目前編碼器產(chǎn)品普遍缺少甚至是沒有錯誤/故障處理能力。隨著編碼器產(chǎn)品的 應(yīng)用越來越廣泛,客戶已不再滿足于編碼器僅能將物理信號轉(zhuǎn)換為電信號,他們還要求編 碼器具備診斷功能,產(chǎn)品更加智能耐用;還希望編碼器具有更豐富的接口方式,可集成性更 高,使更多的關(guān)聯(lián)設(shè)備實(shí)現(xiàn)智能化,甚至是在編碼器的體積方面上也能有更廣泛的選擇空 間。診斷的目的就是找出有毛病的部件。早期的故障診斷主要依靠個體專家或維修人 員通過感官、經(jīng)驗和簡單儀表進(jìn)行。例如故障樹方法開始于癥狀或測試結(jié)果,再依據(jù)經(jīng)驗性 的決策樹判斷,給出修理建議;對于專家系統(tǒng)來說,也是根據(jù)經(jīng)驗性的知識而設(shè)計的計算機(jī) 程序,——當(dāng)系統(tǒng)發(fā)生故障時,該程序是根據(jù)領(lǐng)域?qū)<议L期的實(shí)踐經(jīng)驗、對系統(tǒng)結(jié)構(gòu)和系統(tǒng) 故障歷史的深刻了解和大量的故障信息知識,來確定故障的原因和位置。這類診斷方法的 難題是知識獲取一方面領(lǐng)域?qū)<倚枰L時間積累才能獲得診斷對象知識(事實(shí)上這些知 識總是不完備的);另一方面,從領(lǐng)域?qū)<夷抢铽@得知識并將之轉(zhuǎn)化成計算機(jī)系統(tǒng)可用的 產(chǎn)生式規(guī)則也是一大問題。專家知識的形成、總結(jié)和積累需要一個較長的過程,等到專家知 識積累起來,再依據(jù)這些知識研制出新的診斷系統(tǒng),所要診斷的產(chǎn)品可能已經(jīng)淘汰了,或者 已經(jīng)過時了。
近年來,基于模型診斷的研究與應(yīng)用是診斷測試領(lǐng)域所關(guān)注的熱點(diǎn),發(fā)展很快,出 現(xiàn)了多種解決方案。相容性診斷是一種典型的基于模型的診斷,其主要思想是根據(jù)系統(tǒng)組 成組件之間的連接關(guān)系建立待診斷系統(tǒng)的模型(如結(jié)構(gòu),功能,行為),這種模型通常用一 階邏輯語句來描述,根據(jù)系統(tǒng)的邏輯模型以及系統(tǒng)的輸入,我們能通過邏輯的推理理論推 導(dǎo)出系統(tǒng)在正常情況下的預(yù)期行為,如果觀測到的系統(tǒng)實(shí)際行為與系統(tǒng)預(yù)期行為有差異, 就說明系統(tǒng)在邏輯上是不相容的,即存在故障組件,利用邏輯的推理理論,我們能夠確定引 發(fā)故障的組件集合。只要模型抽象的正確,就能診斷所有可能的故障,并且不但能處理新故 障(傳統(tǒng)診斷往往無能為力),而且還能給出令人信服的解釋。并且由于它把系統(tǒng)的推理內(nèi) 核與系統(tǒng)模型分開,具有設(shè)備獨(dú)立性——只要更新系統(tǒng)模型就可用于診斷另外一種設(shè)備, 因而可推廣性好
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種編碼器故障的自動診斷裝置及其診斷求解方法。旨在為 編碼器提供故障診斷功能,實(shí)現(xiàn)一種基于邏輯相容性的絕對式編碼器的故障診斷方法和系 統(tǒng)。本發(fā)明所述的編碼器故障自動診斷裝置是由故障診斷系統(tǒng)、編碼器和伺服系統(tǒng)組 成。按照自定義的通訊協(xié)議和命令約定,通過串行接口 RS422,故障診斷系統(tǒng)可以向編碼器 發(fā)送命令幀,設(shè)定編碼器的工作模式、獲得編碼器的運(yùn)行狀態(tài)數(shù)據(jù),而伺服系統(tǒng)可以從編碼 器獲得角度等電信號。編碼器是由單片機(jī)板、高低信號處理電路、高低讀數(shù)頭光電信號、方 位信號處理電路、方位讀數(shù)頭光電信號和機(jī)上時統(tǒng)等六個物理部分組成,其中單片機(jī)板上 實(shí)現(xiàn)了 RS422串行通信模塊、命令執(zhí)行模塊、運(yùn)行狀態(tài)監(jiān)控模塊、格雷碼編制模塊等。故障診斷系統(tǒng)包括用戶界面單元、模型描述單元、語言解析單元、沖突識別單元、 診斷求解單元、故障定位單元和數(shù)字通信單元,其中用戶界面單元用于以圖形化的用戶界 面方式來進(jìn)行輸入模型描述、報告解析錯誤、設(shè)定命令代碼、顯示編碼器運(yùn)行狀態(tài)數(shù)據(jù)、配 置診斷系統(tǒng)運(yùn)行參數(shù)等操作;描述配置單元負(fù)責(zé)用一種模型描述語言建立編碼器的系統(tǒng)模 型并以文件的形式存儲;語言解析單元用于讀取以文件存儲的模型描述文件,經(jīng)過單詞掃 描和語法解析,創(chuàng)建該描述文件的抽象語法樹;沖突識別單元的主要作用是識別系統(tǒng)模型 和編碼器運(yùn)行狀態(tài)數(shù)據(jù)之間的沖突;診斷求解單元主要用于產(chǎn)生診斷候選,對沖突進(jìn)行診 斷;故障定位單元可以定位編碼器系統(tǒng)模型下的可疑組件并突出顯示。本發(fā)明所述的基于邏輯相容性的編碼器故障的自動診斷方法,包括以下基本步 驟1)模型表示用戶通過用戶界面單元為編碼器編寫一個系統(tǒng)模型,該模型描述了 編碼器的組成及其接口關(guān)系,再以文件形式存儲(簡稱系統(tǒng)描述文件);2)系統(tǒng)配置模型描述單元讀取診斷系統(tǒng)的一些運(yùn)行參數(shù)配置,包括設(shè)定的編碼 器輸入值(簡稱系統(tǒng)輸入)、診斷個數(shù)上限、診斷算法選擇以及系統(tǒng)描述文件路徑等;3)解析語言解析單元從模型描述單元獲得系統(tǒng)描述文件的路徑,讀取該系統(tǒng)描 述文件,按照模型描述語言的文法掃描關(guān)鍵詞、解析出一個個的語法單位并創(chuàng)建相應(yīng)的抽 象語法樹,發(fā)現(xiàn)語法錯誤時會報告給用戶界面單元;4)沖突識別沖突識別單元按照系統(tǒng)輸入,通過數(shù)字通信單元設(shè)定編碼器的工作參數(shù),再獲得編碼器的運(yùn)行狀態(tài)數(shù)據(jù)(簡稱觀測值)。把系統(tǒng)輸入/觀測值作為系統(tǒng)模型的 輸入/輸出,執(zhí)行系統(tǒng)模型并傳播這些數(shù)據(jù)到各個組件端口,端口數(shù)據(jù)不一致即沖突時,再 搜索引起矛盾的假說,匯總形成沖突集合;5)候選產(chǎn)生針對得到的沖突集合,由診斷算法單元選用用戶選擇的碰集算法進(jìn) 行診斷求解,計算可能的診斷候選;6)故障定位根據(jù)診 斷結(jié)果突出顯示系統(tǒng)模型下的可疑組件。本發(fā)明從沖突識別到產(chǎn)生候選診斷,整個操作過程簡單、用時短,系統(tǒng)對故障點(diǎn)的 判別定位不依賴于操作人員或?qū)<业慕?jīng)驗,擺脫了傳統(tǒng)診斷方法的局限性。本發(fā)明具有下述有益效果(1)為編碼器提供故障診斷功能。作為各種各樣的大型復(fù)雜裝備中的一個重要部 件,編碼器功能失常嚴(yán)重影響著這些裝備的運(yùn)行和維護(hù)。具有錯誤/故障處理能力的編碼 器可以有效地預(yù)防和控制裝備劣化,減少生命財產(chǎn)損失。使用本發(fā)明的方法,可以提高診斷 測試效率,降低人力資源成本。(2)相比于傳統(tǒng)的診斷方法,近年來發(fā)展起來的基于模型的診斷具有明顯的優(yōu)勢, 即不依賴于經(jīng)驗、獨(dú)立于設(shè)備、模型可以重用。只要更新系統(tǒng)模型就可用于診斷另外一種設(shè) 備,因而具有設(shè)備獨(dú)立性、可推廣性好等優(yōu)點(diǎn)。(3)滿足市場對智能化編碼器的需要。從行業(yè)應(yīng)用的角度來看,不同的行業(yè)對編碼 器的要求不盡相同,例如有的行業(yè)要求編碼器的精度更高,有的要求編碼器具有更強(qiáng)的堅 固防護(hù)性能,有的要求編碼器抗干擾、智能耐用,有的要求編碼器要有很好的集成開放性, 有的則對編碼器的體積要求更小。智能化編碼器響應(yīng)了這種市場需求,功能需求類型的客 戶、安全攸關(guān)的行業(yè)應(yīng)用都需要智能化的編碼器。
圖1是本發(fā)明強(qiáng)調(diào)故障診斷部分的編碼器故障自動診斷裝置的結(jié)構(gòu)示意圖。圖2是本發(fā)明強(qiáng)調(diào)編碼器部分的編碼器故障自動診斷裝置的結(jié)構(gòu)示意圖。圖3是本發(fā)明的故障診斷方法的一個實(shí)施例的流程圖。圖4是本發(fā)明在診斷測試編碼器時所使用的數(shù)據(jù)通信格式的一個實(shí)施例的示意 圖。指定圖3為摘要附圖
具體實(shí)施例方式本發(fā)明所述的編碼器的故障診斷裝置實(shí)現(xiàn)了基于模型的診斷過程,即模型表示、 沖突識別、候選產(chǎn)生、故障定位等內(nèi)容,此外本發(fā)明還給出了具有錯誤/故障處理能力的編 碼器的組成及接口關(guān)系。圖1給出了本發(fā)明編碼器故障自動診斷裝置的結(jié)構(gòu)示意圖,粗略地看它由故障診 斷系統(tǒng)101、編碼器102和伺服系統(tǒng)103組成,物理上故障診斷系統(tǒng)和編碼器之間、伺服系 統(tǒng)和編碼器之間通過串行接口 RS422相連,采用(雙工)異步通訊方式,波特率為230. 4K 位/秒。邏輯上按照自定義的通訊協(xié)議和命令約定,故障診斷系統(tǒng)可以向編碼器發(fā)送命令 幀,設(shè)定編碼器工作模式、獲得編碼器運(yùn)行狀態(tài)數(shù)據(jù),而伺服系統(tǒng)可以從編碼器獲得角度等電信號。這里伺服系統(tǒng)只是一種遵守我們編碼器通信協(xié)議約定的物理系統(tǒng),嚴(yán)格地說不是 本發(fā)明的必選部分,是可選的。
故障診斷系統(tǒng)101包括用戶界面單元101-1,用于以圖形化的用戶界面方式來 進(jìn)行輸入模型描述、報告解析錯誤、設(shè)定命令代碼、顯示編碼器運(yùn)行狀態(tài)數(shù)據(jù)、配置診斷系 統(tǒng)運(yùn)行參數(shù)等操作,由 ModelUI、ErrReporterλ Configurator、Commander、StatusViewer 等類組成。模型描述單元101-2用于以圖形化的方式模型化編碼器系統(tǒng),以文件的形式 存儲所建立的系統(tǒng)模型,由FileAccessor和Component及其子類組成,其中Component 下有 DComponent> DCSubcomponent、DCPort> DCConnection、DCTimer> DCPositionCard、 DCAngleCarcU DCSwitch、DCCircuitGD、DCCircuitFff, DCRS422 類組成,其中每個類都實(shí) 現(xiàn)了標(biāo)準(zhǔn)組件的功能,即正常工作模式下和故障模式下的行為。語言解析單元用于讀 取系統(tǒng)模型描述文件,它包含掃描器和解析器兩部分,其中掃描器由GenericScarmer、 LogicScanner> GenericToken、KeywordToken> EOIToken、ErrorToken> IdToken 類組成,角軍 析器由 LObject、LTruePredicate、LFalsePredicate> LVariable、LFunctor> LPredicate、 LSentence, LSentences類組成。沖突識別單元的主要作用是識別系統(tǒng)模型和編碼器運(yùn) 行狀態(tài)數(shù)據(jù)之間的沖突,它在描述文件的抽象語法樹上實(shí)現(xiàn)了前向式的推導(dǎo)算法和后向 ζ 白勺 _ 帛胃夕去, TPObject、MBDTheoremProver > TPPropos it ion、 TPRul e> TPAssumption 類組成。診斷求解單元主要用于產(chǎn)生診斷候選,對沖突進(jìn)行診斷,由TPDiagnosor、 HSTreeDiagnosor、BHSTreeDiagnosor、BADiagnosor、GADiagnosor、GenericNode>HSNode> BNSNode, GACoder, BADCoder類組成。故障定位單元主要用于定位并高亮顯示編碼器系統(tǒng) 模型下的可疑組件,由Diagnoses、ValueHolder, DiagnosisPlacer類組成,用戶還可對于 診斷進(jìn)行進(jìn)一步的鑒別。編碼器102的組成如圖2所示,它是由單片機(jī)板102-1、高低信號處理電路102_2、 高低讀數(shù)頭光電信號102-3、方位信號處理電路102-4、方位讀數(shù)頭光電信號102-5和機(jī)上 時統(tǒng)102-6等六個物理部分組成。其中單片機(jī)板102-1實(shí)現(xiàn)了 RS422串行通信模塊、命令 執(zhí)行模塊、運(yùn)行狀態(tài)監(jiān)控模塊、格雷碼編制模塊等。實(shí)施例1本發(fā)明的第一優(yōu)選實(shí)施例通過某型編碼器的故障診斷來說明本發(fā)明方法的實(shí)施 應(yīng)用。應(yīng)用本發(fā)明的故障診斷系統(tǒng)通過串口與被測編碼器通訊,該系統(tǒng)發(fā)出命令幀,接受被 測編碼器的相應(yīng)狀態(tài)數(shù)據(jù)和輸出,并與預(yù)期結(jié)果比較。在其它的實(shí)施例中,也可以通過網(wǎng) 線、USB線等接口與被測編碼器連接。圖3給出了實(shí)施應(yīng)用本發(fā)明的故障診斷方法的流程,具體包括1)故障診斷系統(tǒng)啟動后,用戶使用對話框的指定位置打開一個系統(tǒng)描述文件;2)若該位置上不存在一個合法的系統(tǒng)描述,就在指定位置上為用戶新建一個系統(tǒng) 描述。否則,執(zhí)行第5步。3)用戶通過用戶界面單元為編碼器編寫一個系統(tǒng)模型,描述編碼器的組成及其接 口關(guān)系,再設(shè)定該系統(tǒng)模型的輸入值;4)保存系統(tǒng)描述文件。保存的內(nèi)容包括被測編碼器的系統(tǒng)描述文件、系統(tǒng)描述文 件路徑和一些運(yùn)行參數(shù)等;5)選擇系統(tǒng)描述文件、配置運(yùn)行參數(shù)。運(yùn)行參數(shù)配置包括編碼器的輸入值、診斷個數(shù)上限以及診斷算法選擇等;用戶選擇要導(dǎo)入的系統(tǒng)描述文件,系統(tǒng)獲得該文件的存放位 置;6)掃描解析系統(tǒng)描述文件。語言解析單元讀取用戶選擇的系統(tǒng)描述文件,這時系統(tǒng)會掃描文件中關(guān)鍵詞,再解析語言所認(rèn)可的語法單位,創(chuàng)建系統(tǒng)描述文件所對應(yīng)的抽象 語法樹;7)建立與被測編碼器的連接;8)構(gòu)造并發(fā)送診斷命令幀;9)被測編碼器收到診斷命令幀后,經(jīng)過一系列運(yùn)算或操作,返回運(yùn)行狀態(tài)數(shù)據(jù) (包括實(shí)際輸出值和觀測點(diǎn)上的實(shí)際觀測值);10)故障診斷系統(tǒng)獲得編碼器運(yùn)行狀態(tài)數(shù)據(jù),把它們和用戶提供的系統(tǒng)輸入和期 望輸出值一并作為系統(tǒng)模型的輸入/輸出數(shù)據(jù);11)執(zhí)行系統(tǒng)模型,搜索引起矛盾的假說,匯總形成診斷算法所使用的沖突集合;12)針對得到的沖突集合,使用用戶選擇的診斷算法進(jìn)行診斷求解,計算可能的診 斷候選;13)根據(jù)診斷結(jié)果定位電路中的可疑組件,在系統(tǒng)模型上突出顯示可疑組件;14)需要進(jìn)一步對候選診斷鑒別時,為用戶指定進(jìn)一步的觀測點(diǎn),用戶選擇觀測點(diǎn) 并指定期望的觀測值,繼續(xù)第8步;否則執(zhí)行第15步;15)匯總所有的診斷結(jié)果及其相關(guān)說明,并按格式生成一份完整的診斷測試報告。實(shí)施例2本發(fā)明的第二優(yōu)選實(shí)施例通過某24位絕對式編碼器的診斷測試來說明本故障診 斷方法的實(shí)施應(yīng)用。生產(chǎn)現(xiàn)場的各種電磁干擾源以及機(jī)械震動,對編碼器的光電檢測產(chǎn)生 干擾,導(dǎo)致輸出波形發(fā)生畸變失真,導(dǎo)致控制系統(tǒng)不穩(wěn)定或誤動作,甚至引發(fā)事故發(fā)生。例 如;在軋鋼調(diào)速系統(tǒng)中,編碼器是直接固定在電動機(jī)的外殼上。當(dāng)軋機(jī)過鋼時會引起電動機(jī) 轉(zhuǎn)軸和外殼的振動,從而引起編碼器的誤動作,引發(fā)事故。應(yīng)用本發(fā)明的方法對編碼器進(jìn)行 診斷測試和過程控制,提高整機(jī)系統(tǒng)的可靠性。假設(shè)本實(shí)施例有完整的編碼器系統(tǒng)描述文件,于是對編碼器進(jìn)行診斷測試和過程 控制的具體流程包括1)讀取系統(tǒng)描述文件和運(yùn)行參數(shù)。運(yùn)行參數(shù)配置包括編碼器的輸入值、診斷個數(shù) 上限以及診斷算法選擇等;導(dǎo)入系統(tǒng)描述文件,為語言解析單元配置路徑信息;2)掃描解析系統(tǒng)描述文件。讀取該描述文件時,系統(tǒng)會掃描文件中關(guān)鍵詞,再解析 語言所認(rèn)可的語法單位,創(chuàng)建電路描述文件所對應(yīng)的抽象語法樹;3)建立與被控編碼器的連接;4)構(gòu)造并發(fā)送命令幀,以觀察該24位編碼器的運(yùn)行狀態(tài);5)被控編碼器收到命令幀后,經(jīng)過一系列運(yùn)算或操作,返回運(yùn)行狀態(tài)數(shù)據(jù),包括實(shí) 際輸出值和觀測點(diǎn)上的實(shí)際觀測值;6)故障診斷系統(tǒng)獲得編碼器運(yùn)行狀態(tài)數(shù)據(jù),把它們和用戶提供的系統(tǒng)輸入和期望 輸出值一并作為系統(tǒng)模型的輸入/輸出數(shù)據(jù);7)執(zhí)行系統(tǒng)模型,搜索引起矛盾的假說,匯總形成診斷算法所使用的沖突集合;8)針對某個沖突,相關(guān)組件被視為一個新的邏輯組件;
9)使用用戶期望的輸出值構(gòu)造一個命令幀,發(fā)送命令幀以約束邏輯組件的輸出值;10)如果還有沖突,繼續(xù)執(zhí)行第8步,否則執(zhí)行第11步;11)匯總所有的診斷結(jié)果及其相關(guān)說明,并按格式生成一份完整的診斷測試報告。圖4給出了本發(fā)明在對該24位編碼器進(jìn)行診斷測試時所使用的命令幀結(jié)構(gòu)的一 個實(shí)施例的示意圖。該24位編碼器采用直接置數(shù)的電調(diào)零方式,能夠接受數(shù)字通訊系統(tǒng)的 控制命令,提供與采樣脈沖同步的高低方位測角信息。為進(jìn)行診斷測試,首先建立串口連接 (方法是公知的),建立連接后,構(gòu)造并發(fā)送診斷命令幀以觀察該24位編碼器的運(yùn)行狀態(tài), 并獲得觀測點(diǎn)上的實(shí)際運(yùn)行數(shù)值。如圖4所示,本例中采用800Hz的負(fù)脈沖,于下降沿采樣。 結(jié)構(gòu)上命令幀是由幀頭和數(shù)據(jù)區(qū)組成的,其中幀頭長度固定,包含命令字(命令含義,一個 字節(jié))、編碼器參數(shù)(六字節(jié),分別是AH、AM、AL、BH、BM、BL)和數(shù)據(jù)區(qū)長度(一字節(jié)),而數(shù) 據(jù)區(qū)的長度是可變的,由幀頭中的數(shù)據(jù)長度指定。例如,檢查方位進(jìn)位是否正確時,一個命 令幀的命令字字段填上0XC7,AH、AM、AL等處填上編碼器的置數(shù),數(shù)據(jù)區(qū)長度填上0,其它字 節(jié)為空,接著這個命令幀將由故障診斷系統(tǒng)發(fā)送給編碼器;編碼器返回的結(jié)果幀與命令幀 的結(jié)構(gòu)是完全相同的,不同的是數(shù)據(jù)區(qū)返回了編碼器的運(yùn)行狀態(tài)數(shù)據(jù)(包括實(shí)際輸出值和 觀測點(diǎn)上的實(shí)際觀測值),數(shù)據(jù)區(qū)長度也因此設(shè)定。應(yīng)該注意,圖4所示的幀結(jié)構(gòu)可以依據(jù)本發(fā)明的原理對其進(jìn)行修改,這對于本領(lǐng) 域的技術(shù)人員來說都是顯而易見的,因此這里不一一列舉。
權(quán)利要求
一種編碼器故障的自動診斷裝置及其診斷求解方法,由故障診斷系統(tǒng)S101、編碼器S102和伺服系統(tǒng)S103組成,物理上故障診斷系統(tǒng)和編碼器之間、伺服系統(tǒng)和編碼器之間通過串行接口RS422相連,采用雙工異步通訊方式,波特率為230.4K位/秒;邏輯上按照自定義的通訊協(xié)議和命令約定,故障診斷系統(tǒng)向編碼器發(fā)送命令幀,設(shè)定編碼器工作模式、獲得編碼器運(yùn)行狀態(tài)數(shù)據(jù),伺服系統(tǒng)從編碼器獲得角度等電信號;編碼器是由單片機(jī)板、高低信號處理電路、高低讀數(shù)頭光電信號、方位信號處理電路、方位讀數(shù)頭光電信號和機(jī)上時統(tǒng)六個物理部分組成,其特征是基于模型的故障診斷系統(tǒng)及其模型描述語言;該故障診斷系統(tǒng)由用戶界面單元、模型描述單元、語言解析單元、沖突識別單元、診斷求解單元、故障定位單元和數(shù)字通信單元組成,系統(tǒng)的獨(dú)特之處在于根據(jù)編碼器組成原理用模型描述語言說明性地描述編碼器的結(jié)構(gòu)、功能、部件行為,據(jù)此推斷編碼器在正常情況下的預(yù)期行為,故障發(fā)生時預(yù)期行為與實(shí)際觀測有差異,再利用邏輯推理確定引發(fā)故障的元件集合。
2.根據(jù)權(quán)利要求1所述的一種編碼器故障的自動診斷裝置及其診斷求解方法,其特 征是所述的故障診斷系統(tǒng)S101的用戶界面單元S101-1,用于以圖形化的用戶界面方式 來進(jìn)行輸入模型描述、報告解析錯誤、設(shè)定命令代碼、顯示編碼器運(yùn)行狀態(tài)數(shù)據(jù)、配置診斷 系統(tǒng)運(yùn)行參數(shù)等操作,由 ModelUI、ErrReporter、Configurator、Commander、StatusViewer 類組成;模型描述單元S101-2用于以圖形化的方式模型化編碼器系統(tǒng),以文件的形式存 儲所建立的系統(tǒng)模型,由FileAccessor和Component及其子類組成,其中Component下 有 DComponent、DCSubcomponent、DCPort、DCConnection、DCTimer、DCPositionCard、 DCAngleCard、DCSwitch、DCCircuitGD、DCCircuitFff, DCRS422 類組成,其中每個類都實(shí) 現(xiàn)了標(biāo)準(zhǔn)組件的功能,即正常工作模式下和故障模式下的行為;語言解析單元S101-3用 于讀取系統(tǒng)模型描述文件,包含掃描器和解析器兩部分,其中掃描器由GenericScarmer、 LogicScanner、GenericToken、KeywordToken、EOIToken、ErrorToken、IdToken 類組成,角軍 析器由 LObject、LTruePredicate、LFalsePredicate、LVariable、LFunctor、LPredicate、 LSentence, LSentences類組成;沖突識別單元S101-4的主要作用是識別系統(tǒng)模型和編碼 器運(yùn)行狀態(tài)數(shù)據(jù)之間的沖突,在描述文件的抽象語法樹上實(shí)現(xiàn)了前向式的推導(dǎo)算法和后向 $白勺_帛胃夕去,由 TPObject、MBDTheoremProver、TPProposition、 TPRule> TPAssumption 類組成;診斷求解單元S101-6主要用于產(chǎn)生診斷候選,對沖突進(jìn)行診斷,由TPDiagnosor、 HSTreeDiagnosor、BHSTreeDiagnosor、BADiagnosor、GADiagnosor、GenericNode、HSNode、 BNSNode、GACoder、BADCoder類組成;故障定位單元S101-7主要用于定位并高亮顯示編碼 器系統(tǒng)模型下的可疑組件,由Diagnoses、ValueHolder、DiagnosisPlacer類組成;所述的 編碼器S102的單片機(jī)板S102-1實(shí)現(xiàn)了 RS422串行通信模塊、命令執(zhí)行模塊、運(yùn)行狀態(tài)監(jiān)控 模塊、格雷碼編制模塊。
3.根據(jù)權(quán)利要求1所述的一種編碼器故障的自動診斷裝置及其診斷求解方法,其特征是1)模型表示用戶通過用戶界面單元為編碼器編寫一個系統(tǒng)模型,該模型描述了編碼 器的組成及其接口關(guān)系,再以文件形式存儲,簡稱系統(tǒng)描述文件;2)系統(tǒng)配置模型描述單元讀取診斷系統(tǒng)的一些運(yùn)行參數(shù)配置,包括設(shè)定的編碼器輸 入值即系統(tǒng)輸入、診斷個數(shù)上限、診斷算法選擇以及系統(tǒng)描述文件路徑等;3)解析語言解析單元從模型描述單元獲得系統(tǒng)描述文件的路徑,讀取該系統(tǒng)描述文件,按照模型描述語言的文法掃描關(guān)鍵詞、解析出一個個的語法單位并創(chuàng)建相應(yīng)的抽象語 法樹,發(fā)現(xiàn)語法錯誤時會報告給用戶界面單元;4)沖突識別沖突識別單元按照系統(tǒng)輸入,通過數(shù)字通信單元設(shè)定編碼器的工作參 數(shù),再獲得編碼器的運(yùn)行狀態(tài)數(shù)據(jù)即觀測值,把系統(tǒng)輸入/觀測值作為系統(tǒng)模型的輸入/輸 出,執(zhí)行系統(tǒng)模型并傳播這些數(shù)據(jù)到各個組件端口,端口數(shù)據(jù)不一致即沖突時,再搜索引起 矛盾的假說,匯總形成沖突集合;5)候選產(chǎn)生針對得到的沖突集合,由診斷算法單元選用用戶選擇的碰集算法進(jìn)行診 斷求解,計算可能的診斷候選;6)故障定位根據(jù)診斷結(jié)果突出顯示系統(tǒng)模型下的可疑組件。
4.根據(jù)權(quán)利要求3所述的編碼器故障的自動診斷求解方法,其特征是故障診斷系統(tǒng)通 過串口與被測編碼器通訊,故障診斷系統(tǒng)發(fā)出命令幀,接受被測編碼器的相應(yīng)狀態(tài)數(shù)據(jù)和 輸出,并與預(yù)期結(jié)果比較;故障診斷方法的流程具體包括1)故障診斷系統(tǒng)啟動后,用戶使用對話框的指定位置打開一個系統(tǒng)描述文件;2)若該位置上不存在一個合法的系統(tǒng)描述,就在指定位置上為用戶新建一個系統(tǒng)描 述。否則,執(zhí)行第5步。3)用戶通過用戶界面單元為編碼器編寫一個系統(tǒng)模型,描述編碼器的組成及其接口關(guān) 系,再設(shè)定該系統(tǒng)模型的輸入值;4)保存系統(tǒng)描述文件。保存的內(nèi)容包括被測編碼器的系統(tǒng)描述文件、系統(tǒng)描述文件路 徑和一些運(yùn)行參數(shù)等;5)選擇系統(tǒng)描述文件、配置運(yùn)行參數(shù)。運(yùn)行參數(shù)配置包括編碼器的輸入值、診斷個數(shù)上 限以及診斷算法選擇等;用戶選擇要導(dǎo)入的系統(tǒng)描述文件,系統(tǒng)獲得該文件的存放位置;6)掃描解析系統(tǒng)描述文件。語言解析單元讀取用戶選擇的系統(tǒng)描述文件,這時系統(tǒng)會 掃描文件中關(guān)鍵詞,再解析語言所認(rèn)可的語法單位,創(chuàng)建系統(tǒng)描述文件所對應(yīng)的抽象語法 樹;7)建立與被測編碼器的連接;8)構(gòu)造并發(fā)送診斷命令幀;9)被測編碼器收到診斷命令幀后,經(jīng)過一系列運(yùn)算或操作,返回運(yùn)行狀態(tài)數(shù)據(jù)(包括 實(shí)際輸出值和觀測點(diǎn)上的實(shí)際觀測值);10)故障診斷系統(tǒng)獲得編碼器運(yùn)行狀態(tài)數(shù)據(jù),把它們和用戶提供的系統(tǒng)輸入和期望輸 出值一并作為系統(tǒng)模型的輸入/輸出數(shù)據(jù);11)執(zhí)行系統(tǒng)模型,搜索引起矛盾的假說,匯總形成診斷算法所使用的沖突集合;12)針對得到的沖突集合,使用用戶選擇的診斷算法進(jìn)行診斷求解,計算可能的診斷候選;13)根據(jù)診斷結(jié)果定位電路中的可疑組件,在系統(tǒng)模型上突出顯示可疑組件;14)需要進(jìn)一步對候選診斷鑒別時,為用戶指定進(jìn)一步的觀測點(diǎn),用戶選擇觀測點(diǎn)并指 定期望的觀測值,繼續(xù)第8步;否則執(zhí)行第15步;15)匯總所有的診斷結(jié)果及其相關(guān)說明,并按格式生成一份完整的診斷測試報告。
5.根據(jù)權(quán)利要求3所述的編碼器故障的自動診斷求解方法,其特征是在完整的編碼器系統(tǒng)描述文件,對編碼器進(jìn)行診斷測試和過程控制的具體流程包括1)讀取系統(tǒng)描述文件和運(yùn)行參數(shù)。運(yùn)行參數(shù)配置包括編碼器的輸入值、診斷個數(shù)上限 以及診斷算法選擇等;導(dǎo)入系統(tǒng)描述文件,為語言解析單元配置路徑信息;2)掃描解析系統(tǒng)描述文件。讀取該描述文件時,系統(tǒng)會掃描文件中關(guān)鍵詞,再解析語言 所認(rèn)可的語法單位,創(chuàng)建電路描述文件所對應(yīng)的抽象語法樹;3)建立與被控編碼器的連接;4)構(gòu)造并發(fā)送命令幀,以觀察該24位編碼器的運(yùn)行狀態(tài);5)被控編碼器收到命令幀后,經(jīng)過一系列運(yùn)算或操作,返回運(yùn)行狀態(tài)數(shù)據(jù),包括實(shí)際輸 出值和觀測點(diǎn)上的實(shí)際觀測值; 6)故障診斷系統(tǒng)獲得編碼器運(yùn)行狀態(tài)數(shù)據(jù),把它們和用戶提供的系統(tǒng)輸入和期望輸出 值一并作為系統(tǒng)模型的輸入/輸出數(shù)據(jù);7)執(zhí)行系統(tǒng)模型,搜索引起矛盾的假說,匯總形成診斷算法所使用的沖突集合;8)針對某個沖突,相關(guān)組件被視為一個新的邏輯組件;9)使用用戶期望的輸出值構(gòu)造一個命令幀,發(fā)送命令幀以約束邏輯組件的輸出值;10)如果還有沖突,繼續(xù)執(zhí)行第8步,否則執(zhí)行第11步;11)匯總所有的診斷結(jié)果及其相關(guān)說明,并按格式生成一份完整的診斷測試報告。
6.根據(jù)權(quán)利要求3所述的編碼器故障的自動診斷求解方法,其特征是通過網(wǎng)線或USB 線接口與被測編碼器進(jìn)行連接。
全文摘要
本發(fā)明屬于計算機(jī)技術(shù)領(lǐng)域,涉及基于邏輯相容性的編碼器故障診斷系統(tǒng)及方法。本發(fā)明的目的是提供一種編碼器故障的自動診斷裝置及其診斷求解方法。該故障診斷系統(tǒng)由用戶界面單元、模型描述單元、語言解析單元、沖突識別單元、診斷求解單元、故障定位單元和數(shù)字通信單元組成,系統(tǒng)的獨(dú)特之處在于根據(jù)編碼器組成原理用模型描述語言說明性地描述編碼器的結(jié)構(gòu)、功能、部件行為,據(jù)此推斷編碼器在正常情況下的預(yù)期行為,故障發(fā)生時預(yù)期行為與實(shí)際觀測有差異,再利用邏輯推理確定引發(fā)故障的元件集合。本發(fā)明從沖突識別到產(chǎn)生候選診斷,整個操作過程簡單、用時短,系統(tǒng)對故障點(diǎn)的判別定位不依賴于操作人員或?qū)<业慕?jīng)驗,擺脫了傳統(tǒng)診斷方法的局限性。
文檔編號G01D18/00GK101865705SQ20101019038
公開日2010年10月20日 申請日期2010年6月3日 優(yōu)先權(quán)日2010年6月3日
發(fā)明者吳志勇, 徐俊杰, 曹晶, 曹永剛, 李俊義, 陳能, 陳榮, 陳達(dá)文 申請人:長春奧普光電技術(shù)股份有限公司