999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VB.NET的生產線測試管理系統

2019-07-20 08:21:14王春艷
數字通信世界 2019年6期
關鍵詞:數據庫

王春艷

(東莞搜路研電子有限公司天津分公司,天津 300450)

1 引言

為了確保產品質量,一臺制品會在生產線上多個工位進行各種性能測試,由于操作人員長時間勞作會產生身體疲勞或精神不集中等問題,造成產品在本工位未測試就流向下一個工位,或將本工位的不良品當成良品直接流向下一個工位,從而使不良品流向市場,給公司帶來重大損失。為了解決此問題,我們在VB.NET的環境下,結合WINDOWS API函數和ACCESS數據庫,利用公司的局域網絡開發了此生產線測試管理系統。經過一段時間的使用證明此系統不僅有效的防止人員誤操作造成的不良品流出,還可方便的對制品測試數據進行查詢追溯,加強了企業的管理。

2 測試管理系統工作原理

測試系統通過掃描每個制品的ID來識別制品,并通過制品ID在ACESS數據庫中查詢相應的信息判斷制品的測試狀態。

2.1 制品ID

為了區分每一臺制品,需要給每臺制品一個身份識別ID,此ID可通過條形碼或二維碼的形式打印在標簽上,并將其帖附在制品上。ID的組成可自己命名,但每一個ID必須惟一,不重復。

筆者所用的ID命名規則如下:制品名+生產日期+六位十六進制流水號。制品ID標簽圖片見圖1。

圖1 制品ID標簽

2.2 系統工作原理

測試管理軟件安裝在生產線的測試電腦上,同時每臺電腦配備一個掃描槍用于掃描制品ID。使用時首先選擇當前工位,掃描制品ID。若當前工位為第一工位,測試管理軟件向測試程序發送一個開始信號,測試程序接收到信號后,開啟測試程序,測試結束后向測試管理軟件發送一個測試結束信號,測試管理軟件收到測試結束信號后,開始讀取測試結果并將其存入ACCESS數據庫,等待掃描新的ID。若當前工位不是第一工位,則掃描完制品ID后,測試管理軟件通過制品ID在ACCESS數據庫中進行信息檢索,根據檢索的信息判斷前一工位是否測試過并且結果OK,若未測試過或結果NG,則在程序界面上顯示NG及NG原因,提示操作者將該制品在前一工位重新投入測試或送去維修;若前一工位已測試并且結果OK,則接下來的流程同第一工位。此部分測試管理軟件的流程見圖2。

由上述原理可知,前一工位測試情況可由本工位進行檢查,那么最后一個工位如何進行檢測呢,為此在最后一工位增加了產品數量管理流程,通常生產線最后工位為外觀檢查或包裝,外觀檢查OK后,掃描ID,測試管理軟件根據制品ID找到其測試信息,判斷該制品的測試情況,若為OK,程序界面制品數量加一,若為NG,制品數量不變。當制品數量達到設定的包裝數量時,測試管理軟件自動清零,操作者可根據測試管理軟件顯示數量與實際數量對比來判斷該批制品里是否含有不良或漏測制品,從而阻止不良的流出。最后一工位的流程如圖3所示。

圖2 系統流程圖

圖3 最后工位系統流程圖

3 生產測試管理軟件實現

VB.NET是微軟公司推出的開發平臺,由于其具有易學易用、開發迅速的優點,已受到越來越多企業的青睞。[1]本測試管理軟件采用VB.NET平臺,結合API函數可實時讀取測試程序結果,并通過ACCESS數據庫進行數據保存,信息共享。

3.1 API函數在VB.NET中的應用

為實時獲取測試程序的測試數據和結果,采用了直接調用WINDOWS API函數的方法。API(Application Programming Interface)函數,是操作系統為程序開發人員提供的一組函數庫,通常包含在名為.DLL(Dynamic Link Library)的動態連接庫文件中[2]。雖然微軟不提倡在.Net平臺調用Windows API函數,但是在開發語言使用自帶函數或類庫不能解決問題時,調用Windows API函數往往是一種非常直接有效的解決方法。

調用API最常用的方法是通過使用Declare語句。使用時首先要確定調用的函數名稱及其參數、參數類型和返回值,以及包含該函數的DLL的名稱和位置。在本系統中用到的API函數如下[3]:

Declare Function GetClassName Lib”user32.dll”Alias“GetClassNameA”(ByValhwnd As Integer,ByVallpClassName As String,ByValnMaxCount as Integer) As Integer

功能:獲得一個窗口的句柄,該窗口的類名和窗口名與給定的字符串相匹配;

Declare Function FindWindowEx Lib”user32.dll”Alias“FindWindowExA”(ByVal hwnd1 As Integer,ByVal hwnd2 As Integer,ByVallpszl As String,ByVallpsz2 as String) As Integer

功能:查找子窗口,從排在給定的子窗口后面的下一個窗口開始;

Declare FunctionFindWindow Lib”user32.dll”Alias“FindWindowA”(ByVallpClassName As string,ByVallpWindowName as String) As Integer

功能:獲得指定窗口所屬的類的類名;

Declare Function SendMessage Lib”user32.dll”Alias“SendMessageA”(ByValhwnd As Integer,ByValwMsg as Integer,ByValwParam as Integer,ByVallParam As String) As Integer

功能:向對話框中的控件發送消息。

利用API函數獲取測試數據和結果的過程如下:首先根據FindWindow函數獲取測試程序窗口句柄,根據FindWindowEx函數獲取測試程序窗口的子窗口句柄,根據子窗口句柄和GetClassName函數獲取子窗口類型,找到要讀取數據的子窗口后,利用SendMessage函數獲取要讀取的數據,并存儲到ACCESS數據庫。

3.2 VB.net與Access數據庫的連接

由于ACCESS是免費的數據庫,且具有開發靈活,速度快等優點,對于數據量和訪問用戶都不是特別大的情況下,是一種非常好的選擇。故此我們選擇具有嚴格數學概念的MicrosoftOfficeAccess 2010關系型數據庫。為了不同工位能夠實時共享所有數據,將設置好的數據庫利用數據庫拆分器拆分為前臺數據庫和后臺數據庫兩個部分。后臺數據庫只保留了表對象,放置在服務器電腦上,并設置為共享;前臺數據庫放在各工位的測試電腦上,它保留了除表之外的所有對象。將后臺數據庫映射到各工位電腦,前臺數據庫通過選擇數據源與后臺數據庫鏈接。

在測試制品前,要想查詢本制品在前一工位的測試情況,就需要利用VB.net語言訪問和讀取ACCESS數據庫。為了讓操作人員更直觀的看到最近的測試情況,數據管理軟件主界面上要直接顯示最近的測試信息。在實際應用開發中,經常用DataGridView1顯示數據庫查詢的內容。而vb.net在數據庫中查詢信息時,還需用到SQL語句來進行查詢。SQL即結構化查詢語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統[4]。例如,通過SQL語句查詢并顯示數據庫中的表在VB.NET窗體上,可用如下代碼實現:

Dim connectionStr As String=”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=”&Application.StartupPath&”數 據庫.accdb;Persist Security Info=False;”‘連接到指定的數據庫

Me.DataGridView1.DataSource=Me.BindingSource1‘選擇數據源

Dim selectCommand As String=”SELECT * FROM 表1”‘查詢所需內容

Me.dataAdapter=New OleDbDataAdapter(selectCommand,connectionStr)

Dim commandBuilder As New OleDbCommandBuilder(Me.dataAdapter)

Dim table As New DataTable()

Table.Locale=System.Globalization.CultureInfo.InvariantCulture

Me.dataAdapter.fill(table)

Me.BindingSource1.DataSource=table

4 結束語

通過VB.net平臺結合WINDOWS API函數和ACCESS數據庫,利用局域網開發的生產線測試管理系統在生產過程中能有效的防止由于人為疏忽造成的不良品流出,同時由于系統具有數據保存,查詢等功能,方便了后期對數據的追溯,提高了企業的管理水平。

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 亚洲无码在线午夜电影| 超薄丝袜足j国产在线视频| 国产成年女人特黄特色毛片免| 日本在线免费网站| 日韩高清中文字幕| 婷婷综合在线观看丁香| 成人午夜精品一级毛片| 婷婷99视频精品全部在线观看| 欧美日韩一区二区在线播放 | 欧美日韩国产成人高清视频| 99久久国产自偷自偷免费一区| 茄子视频毛片免费观看| 婷婷亚洲最大| 国产人在线成免费视频| 国产精品55夜色66夜色| 国产亚洲精品yxsp| 日本三级欧美三级| 日本福利视频网站| 黄色一级视频欧美| 26uuu国产精品视频| 免费A级毛片无码免费视频| 999精品视频在线| 欧美日本在线观看| 国产精品天干天干在线观看| 欧美国产菊爆免费观看| 另类综合视频| 香蕉蕉亚亚洲aav综合| 国产幂在线无码精品| 激情无码字幕综合| 91九色视频网| 亚洲第一色网站| 日韩精品成人网页视频在线| 国产成人做受免费视频 | 婷婷伊人久久| 亚洲v日韩v欧美在线观看| 国产91视频观看| 成人国产精品视频频| 国产精品19p| 国产粉嫩粉嫩的18在线播放91| 国产丝袜第一页| 一本大道香蕉高清久久| 婷婷丁香色| 亚洲视频影院| 香蕉久久国产超碰青草| 国产sm重味一区二区三区| 亚洲精品无码AV电影在线播放| 亚洲精品欧美重口| 欧美亚洲香蕉| 午夜毛片免费观看视频 | 久久狠狠色噜噜狠狠狠狠97视色 | 亚洲无码视频图片| 亚洲第一区精品日韩在线播放| 91精品国产综合久久香蕉922| 91欧洲国产日韩在线人成| 欧美国产日韩在线| 久久一本日韩精品中文字幕屁孩| 国产综合精品日本亚洲777| 亚洲日本在线免费观看| 日本不卡在线播放| 亚洲成AV人手机在线观看网站| 在线观看精品国产入口| 视频二区亚洲精品| 久久semm亚洲国产| 久久精品aⅴ无码中文字幕 | 欧美亚洲中文精品三区| 欧美色综合网站| 亚洲精品国产首次亮相| 99激情网| 国产人成在线观看| 欧美一区福利| 国内精品九九久久久精品| 亚洲不卡无码av中文字幕| 国产精品粉嫩| 成人免费午夜视频| 日韩无码视频网站| 日韩成人午夜| 久久狠狠色噜噜狠狠狠狠97视色| 无码人中文字幕| 国产在线97| 国产色网站| 五月丁香伊人啪啪手机免费观看| 国产成人精品一区二区三区|