朱肖謠 范秋華 黃凡



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