朱肖謠 范秋華 黃凡
摘要:針對(duì)傳統(tǒng)的印刷電路板組裝件檢測(cè)流水線存在的問(wèn)題,設(shè)計(jì)了一種電表PCBA模塊功能檢測(cè)的監(jiān)控系統(tǒng)。該系統(tǒng)利用WinCC內(nèi)置的全局腳本編輯器對(duì)MSComm控件進(jìn)行編程,實(shí)現(xiàn)對(duì)下位機(jī)的控制和上行數(shù)據(jù)的讀取,并將讀取的數(shù)據(jù)存放在WinCC內(nèi)部變量中,進(jìn)行數(shù)據(jù)解析、判斷、歸檔、導(dǎo)出等操作,提高了WinCC的組態(tài)效率。該系統(tǒng)解決了WinCC沒(méi)有集成串口通訊驅(qū)動(dòng)的缺陷,實(shí)現(xiàn)了WinCC與具有串行通訊接口的智能儀器儀表直接通訊,在PCBA模塊功能檢測(cè)方面具有廣闊的應(yīng)用前景。該系統(tǒng)已在實(shí)際項(xiàng)目中正常運(yùn)行,運(yùn)行穩(wěn)定,能夠?qū)崿F(xiàn)對(duì)檢測(cè)過(guò)程的監(jiān)控和控制,滿(mǎn)足企業(yè)對(duì)生產(chǎn)效率和準(zhǔn)確度的要求。
關(guān)鍵詞:印刷電路板組裝件; 監(jiān)控系統(tǒng); 視窗控制中心; 全局腳本編輯器; 串口通訊
隨著國(guó)家智能電網(wǎng)的發(fā)展,為了滿(mǎn)足智能電網(wǎng)發(fā)展的需求,智能電表的功能越來(lái)越多樣化[1-3]。電表中印刷電路板組裝件(printed circuit board assembly,PCBA)的精度和復(fù)雜度也不斷隨之提高。因此,為了保證智能電表的功能性完備,在智能電表PCBA模塊批量生產(chǎn)過(guò)程中,根據(jù)最初設(shè)計(jì)的功能和要求,對(duì)PCBA模塊進(jìn)行功能測(cè)試[4-5]十分必要,而傳統(tǒng)的檢測(cè)流水線主要靠人工操作檢測(cè)裝置,并需要人工目檢[6]來(lái)判斷模塊電源指示燈的狀態(tài),不僅消耗人力,效率低,而且會(huì)隨著人眼的疲勞導(dǎo)致誤判率升高。尋求一種能夠代替人工目檢的方法,減少對(duì)勞動(dòng)力的需求,降低誤判率,實(shí)現(xiàn)檢測(cè)過(guò)程的自動(dòng)化、可視化是目前最重要的研究?jī)?nèi)容之一。為解決人工目檢的問(wèn)題,閆夢(mèng)濤等人[7]基于機(jī)械視覺(jué),實(shí)現(xiàn)對(duì)PCBA元器件的實(shí)時(shí)檢測(cè);陳臣[8]利用自動(dòng)光學(xué)檢測(cè)系統(tǒng),通過(guò)元器件的顏色特征,準(zhǔn)確判定是否存在插件錯(cuò)誤,降低了誤判率;倪晨鴻等人[9]利用光敏電阻,實(shí)現(xiàn)對(duì)發(fā)光二極管(light emitting diode,LED)指示燈的檢測(cè)。但考慮模塊電源指示燈處于不停閃爍的工作狀態(tài),通常是10塊模塊一起檢測(cè),存在電源指示燈閃爍不統(tǒng)一,檢測(cè)難度高等問(wèn)題。目前,尚未見(jiàn)到多塊PCBA模塊同步識(shí)別檢測(cè)的文獻(xiàn)?;诖?,本文以星瞳OpenMV3 CamM7作為視覺(jué)識(shí)別裝置,采用顏色識(shí)別的方式來(lái)捕捉閃爍的紅綠電源指示燈,能夠在模塊進(jìn)行功能測(cè)試的時(shí)間段內(nèi)對(duì)所有模塊的電源指示燈進(jìn)行檢測(cè),并利用WinCC組態(tài)軟件內(nèi)置腳本編程調(diào)用MSComm控件,實(shí)現(xiàn)串口通訊,對(duì)檢測(cè)過(guò)程中的上行數(shù)據(jù)進(jìn)行讀取、解析、存儲(chǔ),并建立人機(jī)交互界面。該研究滿(mǎn)足企業(yè)對(duì)生產(chǎn)效率和準(zhǔn)確度的要求。
1 系統(tǒng)總體設(shè)計(jì)方案
本系統(tǒng)以裝有WinCC的研華工控機(jī)為主站,以視覺(jué)識(shí)別裝置和功能檢測(cè)裝置為從站。視覺(jué)識(shí)別裝置負(fù)責(zé)識(shí)別測(cè)試過(guò)程中紅綠LED指示燈是否正常;功能測(cè)試裝置用來(lái)檢測(cè)PCBA的靜態(tài)電源、載波抄表、靜態(tài)弱電引腳等是否存在異常;下位機(jī)接受到上位機(jī)指令對(duì)模塊進(jìn)行檢測(cè)、測(cè)試,完成后將得到的數(shù)據(jù)通過(guò)串行接口上傳至計(jì)算機(jī)。通過(guò)西門(mén)子WinCC組態(tài)軟件開(kāi)發(fā)上位監(jiān)控系統(tǒng),可實(shí)現(xiàn)實(shí)時(shí)監(jiān)控、數(shù)據(jù)處理歸檔、報(bào)警記錄等功能。上位系統(tǒng)作為系統(tǒng)的數(shù)據(jù)處理核心,對(duì)上傳的結(jié)果進(jìn)行解析、判斷完成模塊是否存在不良,對(duì)判斷結(jié)果進(jìn)行存儲(chǔ),并通過(guò)人機(jī)界面進(jìn)行展示。系統(tǒng)硬件基本結(jié)構(gòu)如圖1所示。
2 硬件組成
2.1 視覺(jué)識(shí)別裝置
選用深圳市星瞳科技有限公司的OpenMV3CamM7,處理器為ARM32bitCortexM7,鏡頭焦距為28 mm,視野角度為115°,具有紅外濾光功能,檢測(cè)范圍足夠覆蓋所有PCBA模塊,且在光照條件下仍可正常運(yùn)行?,F(xiàn)場(chǎng)調(diào)試捕捉的畫(huà)面如圖2所示。接收到PC端的指令后,OpenMV通過(guò)顏色追蹤,確定PCBA模塊在功能測(cè)試過(guò)程中LED指示燈產(chǎn)生的色塊中心坐標(biāo),待功能測(cè)試結(jié)束,PC端發(fā)送停止檢測(cè)上傳指令,然后將檢測(cè)的坐標(biāo)上傳至PC端,PC端將坐標(biāo)與坐標(biāo)庫(kù)中的值進(jìn)行比對(duì),確定指示燈異常的模塊。
2.2 功能測(cè)試裝置
該裝置主控單片機(jī)選擇基于ARMCortexTMM3為核心的STM32F101微控制器。STM32F101包含帶高80 KB的SRAM、高達(dá)1 MB的閃存及36 MHz的中央處理器(central processing unit,CPU)。STM32 ARM CortexM332位閃存的低密度系列MCU產(chǎn)生的低功率和低電壓相結(jié)合,具有實(shí)時(shí)功能的可靠性能。該裝置能夠?qū)CBA模塊進(jìn)行功能測(cè)試(functionalcircuit test,F(xiàn)CT),即模擬正常投入使用時(shí)的工作環(huán)境,讓測(cè)試目標(biāo)板(unit under test,UUT)正常運(yùn)行從運(yùn)行狀態(tài)的參數(shù)中判斷測(cè)試目標(biāo)板的狀態(tài)是否存在功能缺陷[10-11]。功能檢測(cè)裝置的命令提示符(Command,CMD)定義如表1所示。
機(jī)和下位機(jī)之間通過(guò)RS 232串行通訊接口連接,采用串口通訊的方式實(shí)現(xiàn)數(shù)據(jù)的傳輸,將大量的數(shù)據(jù)傳輸?shù)絇C機(jī),有利于對(duì)現(xiàn)場(chǎng)數(shù)據(jù)的實(shí)時(shí)采集、處理和監(jiān)控,并可充分利用PC機(jī)強(qiáng)大的計(jì)算能力[12-15]。系統(tǒng)硬件設(shè)備通訊協(xié)議基本參數(shù)設(shè)置如表2所示。
3.1 基于MSCOMM控件的串口通訊
Microsoft公司提供的ActiveX控件MSComm,為應(yīng)用程序提供了通過(guò)串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法[16-18]。因此,本文通過(guò)組態(tài)軟件內(nèi)置腳本編輯器,編寫(xiě)串口通訊程序,調(diào)用MSComm控件實(shí)現(xiàn)對(duì)串口的訪問(wèn)。該方法不僅解決了WinCC組態(tài)軟件沒(méi)有集成串口通訊控件的缺點(diǎn),還能夠減少對(duì)WinCC外部變量的占用,能夠有效提高WinCC的運(yùn)行效率。
3.2 串口通訊編程實(shí)現(xiàn)
1) 初始化打開(kāi)串口。為確保建立的連接能夠正常通訊,通訊兩端的參數(shù)設(shè)置必須保持完全一致,因此要根據(jù)下位機(jī)的串口號(hào)、波特率、停止位、奇偶校驗(yàn)等串口參數(shù),設(shè)置控件的相應(yīng)參數(shù),并對(duì)串口觸發(fā)事件(OnComm事件)和讀取緩沖區(qū)數(shù)據(jù)的方式進(jìn)行設(shè)置。串口初始化程序如下:
4 WinCC人機(jī)界面的設(shè)計(jì)
設(shè)計(jì)一種具有實(shí)際應(yīng)用價(jià)值的監(jiān)控系統(tǒng),在擁有人性化人機(jī)界面的同時(shí),還應(yīng)具備合適的硬件和軟件程序。而視窗控制中心(windows control center,WinCC)[19-20],作為一個(gè)功能強(qiáng)大全面開(kāi)放的上位機(jī)監(jiān)控系統(tǒng),能夠很好的實(shí)現(xiàn)上述要求。操作工人可以通過(guò)人機(jī)界面隨時(shí)了解和掌握整個(gè)系統(tǒng)的工作狀態(tài),并可根據(jù)實(shí)際的工作要求對(duì)其進(jìn)行人工干預(yù)。本文利用WinCC組態(tài)軟件功能編輯器主要實(shí)現(xiàn)以下功能。
1) 圖形設(shè)計(jì)編輯器。根據(jù)該系統(tǒng)功能設(shè)計(jì)了不同的界面,包括主界面、手動(dòng)界面、監(jiān)控界面、報(bào)警記錄界面、檢測(cè)結(jié)果界面和數(shù)據(jù)歸檔界面。能夠展示現(xiàn)場(chǎng)工作狀態(tài),工人也可通過(guò)人機(jī)界面進(jìn)行人工干預(yù)。
2) 全局腳本編輯器。通過(guò)VBS編程實(shí)現(xiàn)數(shù)據(jù)的發(fā)送讀取、報(bào)警、變量歸檔、圖形動(dòng)態(tài)化等控制。
3) 報(bào)警存檔編輯器。監(jiān)控系統(tǒng)中的各項(xiàng)數(shù)據(jù)是否在正常的范圍內(nèi),可以將錯(cuò)誤點(diǎn)顯示在報(bào)警記錄界面,待工作人員查看處理。
4) 變量存檔編輯器。將檢測(cè)結(jié)果和下位機(jī)上傳的數(shù)據(jù)進(jìn)行歸檔,可供工作人員進(jìn)行查看審核是否存在誤報(bào),實(shí)現(xiàn)產(chǎn)品的信息化管理。
5) 用戶(hù)管理和項(xiàng)目安全編輯器。設(shè)置不同的用戶(hù),操作人員具有操作和查看等權(quán)限;瀏覽用戶(hù)僅可進(jìn)行查看運(yùn)行狀態(tài);管理員能夠?qū)Σ僮魅藛T、瀏覽用戶(hù)進(jìn)行增加刪除。
4.1 系統(tǒng)串口通訊測(cè)試
在圖形界面中加入2個(gè)裝置的串口操作按鈕,將32章對(duì)應(yīng)的代碼按照表2中的參數(shù)進(jìn)行設(shè)置,實(shí)現(xiàn)點(diǎn)擊按鈕控制對(duì)應(yīng)動(dòng)作。接收數(shù)據(jù)程序?qū)懺贛SComm控件OnComm事件中,當(dāng)緩沖區(qū)字符達(dá)到“RThreshold”接收屬性設(shè)置的數(shù)值時(shí),產(chǎn)生OnComm事件讀取數(shù)據(jù)。通訊測(cè)試及數(shù)據(jù)顯示畫(huà)面如圖4所示。
4.2 系統(tǒng)報(bào)警組態(tài)測(cè)試
通過(guò)在界面中加入I/O輸入輸出域,并連接需要監(jiān)控的變量,通過(guò)手動(dòng)修改變量數(shù)值來(lái)模擬正常運(yùn)行方式,觀察當(dāng)數(shù)值發(fā)生改變時(shí)是否會(huì)產(chǎn)生報(bào)警,再將數(shù)值改回報(bào)警是否會(huì)自動(dòng)解除。報(bào)警記錄界面如圖5所示,圖5中紅色為產(chǎn)生的報(bào)警點(diǎn),綠色為解除的報(bào)警點(diǎn)。
5 結(jié)束語(yǔ)
本文運(yùn)用WinCC組態(tài)軟件,設(shè)計(jì)了上位監(jiān)控系統(tǒng),結(jié)合視覺(jué)識(shí)別裝置和功能測(cè)試裝置,實(shí)現(xiàn)對(duì)電源指示燈的檢測(cè)和模塊功能的測(cè)試。上位機(jī)調(diào)用MSComm控件實(shí)現(xiàn)與智能儀器的通訊,解決了WinCC組態(tài)軟件沒(méi)有集成串口通訊控件的缺點(diǎn),該方法在其它具有智能儀器儀表的監(jiān)控系統(tǒng)中同樣適用。利用OpenMV檢測(cè)電源指示燈的異常,在提高效率的同時(shí),還能減少資金的投入,OpenMV還支持紅外熱成像等功能,可在識(shí)別人和動(dòng)物、夜晚視覺(jué)、檢測(cè)溫度熱量等方面應(yīng)用。該研究具有一定的實(shí)際工程意義。
參考文獻(xiàn):
[1] 賈海波, 王帥. 智能電網(wǎng)對(duì)智能電表的發(fā)展需求探析[J]. 通訊世界, 2018 (1): 245.
[2] 康琰, 李潔. 智能電表在智能電網(wǎng)中的作用與應(yīng)用前景分析[J]. 技術(shù)與市場(chǎng), 2015, 22(8): 190-191.
[3] 王曉霞. 智能電表在智能電網(wǎng)中的應(yīng)用分析[J]. 通訊世界, 2015(1): 164-165.
[4] 梁向飛. 一種用于測(cè)試PCBA的功能測(cè)試裝置[J]. 自動(dòng)化應(yīng)用, 2017(5): 45-46.
[5] 王瑩. PCBA自動(dòng)測(cè)試平臺(tái)研究與軟件系統(tǒng)設(shè)計(jì)[D]. 成都: 成都理工大學(xué), 2014.
[6] 黃楠, 劉光昌. 基于LabVIEW的PCBA計(jì)算機(jī)視覺(jué)檢測(cè)系統(tǒng)[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2005, 26(10): 2783-2784, 2807.
[7] 閆夢(mèng)濤, 蘇瑋, 冉海周. 基于機(jī)器視覺(jué)的PCBA元器件實(shí)時(shí)檢測(cè)系統(tǒng)[J]. 無(wú)線電工程, 2018, 48(4): 272-277.
[8] 陳臣. 印刷電路板的自動(dòng)光學(xué)檢測(cè)系統(tǒng)的設(shè)計(jì)與研究[D]. 南京: 南京航天航空大學(xué), 2010.
[9] 倪晨鴻, 宋春偉. 智能電表PCBA模塊的功能性測(cè)試設(shè)備[J]. 電子測(cè)試, 2016(21): 150-151, 147.
[10] 李鵬, 王勝勇, 盧家斌, 等. 模塊化的開(kāi)放性PCBA功能測(cè)試平臺(tái)[J]. 企業(yè)導(dǎo)報(bào), 2013(4): 261-263.
[11] 王晏斌. 基于單片機(jī)的PCBA測(cè)試系統(tǒng)研究[J]. 科技資訊, 2011(3): 76, 78.
[12] 潘方. RS 232串口通信在PC機(jī)與單片機(jī)通信中的應(yīng)用[J]. 現(xiàn)代電子技術(shù), 2012, 35(13): 69-71.
[13] 邢庭煒. RS232串口通信在PC機(jī)與單片機(jī)通信中的應(yīng)用[J]. 信息系統(tǒng)工程, 2016(8): 110-111.
[14] 王青. 單片機(jī)與PC機(jī)通信的設(shè)計(jì)與仿真[J]. 實(shí)驗(yàn)室研究與探索, 2016, 35(12): 100-103.
[15] 張杰. 單片機(jī)與PC串口通訊的實(shí)現(xiàn)[J]. 科技信息, 2010(19): 84, 89.
[16] 董紅政, 王忠勇, 史曉鵬. 基于MSComm控件實(shí)現(xiàn)串行通信的方法[J]. 微計(jì)算機(jī)信息, 2007, 23(27): 145-147.
[17] 李現(xiàn)勇. Visual C++串口通信技術(shù)與工程實(shí)踐[M]. 2版. 北京: 人民郵電出版社, 2004.
[18] 李江全. Visual Basic串口通信及測(cè)控應(yīng)用實(shí)例詳解[M]. 北京: 電子工業(yè)出版社, 2014.
[19] 蘇昆哲. 深入淺出西門(mén)子WinCC V6[M]. 2版. 北京: 北京航空航天大學(xué)出版社, 2004.
[20] 武朝. 基于PLC與WINCC的轉(zhuǎn)運(yùn)小車(chē)及其控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 武漢: 武漢理工大學(xué), 2011.