李冀明,劉 超
(1.重慶工程學(xué)院軟件與計算機學(xué)院,重慶 401320;2.貴州航天電器股份有限公司,貴州貴陽 550009)
超小型密封繼電器是一種廣泛應(yīng)用于航空航天領(lǐng)域的電器元件。接觸系統(tǒng)(包括觸點和簧片)是電磁繼電器的執(zhí)行部件,直接影響繼電器整機的質(zhì)量與可靠性[1-2]?;善佑|力過小,將增大接觸電阻,進而導(dǎo)致接觸失效?;善慕佑|力是影響其觸點接觸可靠性的主要因素之一,在接觸系統(tǒng)生產(chǎn)過程中需要對簧片接觸力進行狀態(tài)監(jiān)測,以提升繼電器的質(zhì)量與可靠性。
簧片接觸力較小,一般mN級,生產(chǎn)過程中需要對基板上的4個簧片的接觸力進行監(jiān)測,挑選出簧片接觸力在允許范圍內(nèi)的接觸系統(tǒng)。常規(guī)的人工測量難以保證測量精度、重復(fù)測量穩(wěn)定性較差,因此,開發(fā)設(shè)計一種基于虛擬儀器的微力監(jiān)測系統(tǒng)以解決人工測量的不足。LabVIEW是一種基于圖像化G語言編程風(fēng)格的虛擬儀器[3-4]。LabVIEW具有豐富的開發(fā)包以及大量的專業(yè)化控件,用連線表示數(shù)據(jù)流向,能夠快速開發(fā)各種測量系統(tǒng)[5-7]。因此,本文以LabVIEW為開發(fā)平臺,通過串口通信采集測力計中的微力;此外,開發(fā)設(shè)計了一種基于串口的PLC與LabVIEW消息隊列通信機制。由于航天電磁繼電器結(jié)構(gòu)微小,在動態(tài)過程中簧片撥開長度為μm級,設(shè)計采用PLC作為機構(gòu)的運動控制系統(tǒng),以實現(xiàn)機構(gòu)的準(zhǔn)確運動?,F(xiàn)場使用表明設(shè)計的系統(tǒng)穩(wěn)定性較好、可重復(fù)精度高,滿足現(xiàn)場需求。
微力監(jiān)測系統(tǒng)中測力計是0~500 mN懸臂梁式微力測力計,測力計與被測部分構(gòu)成一回路,實時進行微力檢測。測力計系統(tǒng)結(jié)構(gòu)如圖1所示。當(dāng)測力計檢測到微小外力時,輸出0~5 V的模擬電壓信號,采用A/D轉(zhuǎn)換芯片,將模擬信號轉(zhuǎn)化為數(shù)字信號,當(dāng)外部電路斷開時觸發(fā)芯片將微力瞬時值寫入到輸入寄存器。LabVIEW通過串口將數(shù)據(jù)采集到上位機中進行分析處理、顯示、異常產(chǎn)品挑選等動作。串口通信模塊是通過MAX232和DB9實現(xiàn)數(shù)據(jù)與上位機通信。MAX232包含兩路驅(qū)動和接收器的RS-232轉(zhuǎn)換芯片。DB9為9針串口,設(shè)計采用2針腳接收數(shù)據(jù),第3針腳發(fā)生數(shù)據(jù)端口,第5針腳是信號接地端。
圖1 微力測力計系統(tǒng)結(jié)構(gòu)
圖2為微力監(jiān)測系統(tǒng)的整體控制框圖,由微力測量模塊、上位機數(shù)據(jù)采集處理與監(jiān)視模塊、PLC運動控制模塊組成。監(jiān)測系統(tǒng)運行時,PLC控制模塊進行精確定位運動,當(dāng)測力計探針撥開簧片瞬間,外部觸發(fā)電路斷開,下降沿將觸發(fā)測力計將瞬時值寫入輸入寄存器;此時,PLC將觸發(fā)上位機讀取測力計輸入寄存器中的微力值;計算機系統(tǒng)通過RS232串口讀出微力,根據(jù)預(yù)設(shè)允許度輸出簧片合格/不合格結(jié)果,并將其上報PLC系統(tǒng);PLC控制系統(tǒng)根據(jù)結(jié)果將簧片進行分類。
圖2 微力監(jiān)測控制框圖
LabVIEW在數(shù)據(jù)采集與儀器控制方法具有顯著優(yōu)勢。虛擬儀器架構(gòu)(virtual instrument software architecture,VISA)實現(xiàn)了I/O接口的無關(guān)性需求,通過調(diào)用相同的VISA庫函數(shù)并配置不同的設(shè)備參數(shù),就可以實現(xiàn)各種I/O接口儀器通用程序的設(shè)計[8-10]。
文中設(shè)計一種基于串口通信的消息隊列機制,實現(xiàn)了PLC與LabVIEW之間的有效通信,見圖3。該機制采用隊列函數(shù)實現(xiàn)隊列元素的入列、出列操作和狀態(tài)序列變化。通信模塊設(shè)置了PLC通信成功狀態(tài)指示燈(bsPLCComm控件),初始值為False,該值使用移位寄存器傳遞以便于在各個狀態(tài)case分支中共享和使用,當(dāng)值為1時,表示通信成功。程序開始運行時,先進入Initial狀態(tài),完成初始化操作。在空閑或默認情況下,LabVIEW上位機將實時讀取PLC發(fā)送的控制命令。
圖3 PLC與LabVIEW串口通信模塊
while循環(huán)里的出隊列函數(shù)就是用來從消息隊列里取出一條消息,然后通過case結(jié)構(gòu)進行處理。在Read分支中,實時監(jiān)控PLC發(fā)送的命令。例如當(dāng)讀取測點1的微力時,PLC將5002.00置位為True;LabVIEW檢測到上升沿時,將向CL隊列發(fā)送ReadCL1消息。LabVIEW微力采集模塊(如圖4)接收到ReadCL1消息后,將解析從COM3采集到的微力數(shù)據(jù),并根據(jù)微力允許上下限判斷該測點是否合格。LabVIEW向PLCComm隊列發(fā)送WriteFin_CL1和WriteRst消息。LabVIEW通信模塊檢測到上述兩條消息后,向PLC發(fā)送測力完成并上報測量結(jié)果。至此,完成簧片的一個測點的微力測量任務(wù)。
圖4 微力采集程序框圖
本文設(shè)計的監(jiān)測系統(tǒng)主要基于串口采集測力計檢測的微力,如圖4所示。該模塊包括兩個While循環(huán):“串口讀取測力計數(shù)據(jù)”、“PLC控制采集數(shù)據(jù)”。該模塊的串口為COM3,波特率為9 600,數(shù)據(jù)位為8。當(dāng)下降沿觸發(fā)測力計將瞬時值寫入輸入寄存器中,LabVIEW讀取輸入寄存器的微力并將其值向所在通知器上等待的函數(shù)發(fā)送通知消息。“PLC控制采集數(shù)據(jù)”While循環(huán)中當(dāng)接收到ReadCL1或ReadCL2或ReadCL3或ReadCL4消息時,獲取通知器狀態(tài)函數(shù)將發(fā)送給通知器的最近一次未取數(shù)據(jù)讀出并在對應(yīng)的消息分支中進行處理,處理結(jié)束后向PLC反饋該測點測量結(jié)果。由于通知器操作函數(shù)不緩沖已發(fā)送的消息,即消息被發(fā)送后沒有任何節(jié)點在等待,則當(dāng)另一消息被發(fā)送后數(shù)據(jù)將丟失,通知器的使用將避免多次觸發(fā)測力計而讀到多個異常值,保證了虛擬儀器微力監(jiān)測系統(tǒng)的可靠性。
操作人員通過前面板對整個微力監(jiān)測系統(tǒng)進行操作、控制,前面板如圖5所示,主要包括:4個測點微力顯示窗口、微力是否合格指示燈、歷史數(shù)據(jù)記錄表、PLC與儀表通信狀態(tài)指示燈、消息提示框、生產(chǎn)數(shù)據(jù)統(tǒng)計區(qū)等部分。主界面上設(shè)置相應(yīng)指示燈,方便生產(chǎn)人員及時了解系統(tǒng)當(dāng)前工作情況。
圖5 上位機界面
利用虛擬儀器微力測量系統(tǒng)對20個產(chǎn)品進行測量,測量結(jié)果如圖5所示。測量位置記錄當(dāng)次產(chǎn)品4個測點的測量值;根據(jù)允許范圍判斷測量結(jié)果是否合格;消息提示框顯示本次測量結(jié)果,并用指示燈進行直觀顯示。對20個產(chǎn)品進行測試,測量出合格產(chǎn)品數(shù)量為18,合格率為90%。
為測試系統(tǒng)的穩(wěn)定性,對某產(chǎn)品獨立重復(fù)測量10次,表1記錄了4個測點獨立10次測量結(jié)果。表1顯示系統(tǒng)測量4個測點的最大相對誤差分別為1.37%、1.24%、1.82%和1.48%,波動范圍較小,表明設(shè)計的系統(tǒng)可重復(fù)精度高,滿足現(xiàn)場需求。
表1 某工件獨立10次測量結(jié)果
為解決電磁繼電器簧片接觸力測量數(shù)據(jù)的可查詢、可追溯的問題,設(shè)計一種基于LabVIEW的微力監(jiān)測系統(tǒng)。詳細闡述了測力計數(shù)據(jù)采集系統(tǒng)原理、PLC與LabVIEW之間基于串口通信的消息收發(fā)機制、LabVIEW與測力計之間微力采集過程?,F(xiàn)場測試顯示監(jiān)測系統(tǒng)微力采集數(shù)據(jù)結(jié)果正常;單產(chǎn)品獨立測試10次的最大相對誤差為1.82%,系統(tǒng)性能穩(wěn)定;監(jiān)測界面簡潔、可擴展性強。