国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于 VB6的濾棒物流系統(tǒng)輔助報警系統(tǒng)設(shè)計

2022-04-29 14:37陳勁松秦枼濤黃首霖蔡洪江
計算機應(yīng)用文摘 2022年19期
關(guān)鍵詞:句柄代碼報警

陳勁松 秦枼濤 黃首霖 蔡洪江

摘要:當(dāng)前,濾棒高架庫物流系統(tǒng)報警功能弱,影響工廠生產(chǎn)。在不影響生產(chǎn)及原程序運行的前提下,文章提出通過Visual Basic 6.0開發(fā)相關(guān)輔助報警系統(tǒng),其可及時向操作員發(fā)出警報。結(jié)果表明,使用該輔助報警系統(tǒng)之后,增加了物流系統(tǒng)的有效運行時間。

關(guān)鍵詞:Visual Basic 6.0;倉儲系統(tǒng);物流系統(tǒng);故障;報警

中圖法分類號:TP311文獻(xiàn)標(biāo)識碼:A

Design of auxiliary alarm system for filter rod logistics system based on VB6

CHEN Jinsong,QINYetao,HUANGShoulin,CAIHongjiang

(Bijie Cigarette Factory,China Tobacco Guizhou Industrial Co.,Ltd.,Bijie,Guizhou 551700,China)

Abstract: At present,the alarm function of the filter rod high-bay warehouse logistics system is weak, which affects the production of the factory.Under the premise of not affecting the production and running of the original program,the paper proposes to develop a related auxiliary alarm system through Visual Basic 6.0,which can issue an alarm to the operator in time. The results show that after using the auxiliary alarm system,the effective running time of the logistics system is improved.

Key words: Visual Basic 6.0, warehouse system, logistics system, failure,alert

1 引言

隨著科技的不斷發(fā)展,互聯(lián)網(wǎng)技術(shù)得到了廣泛應(yīng)用。許多倉儲物流系統(tǒng)早在二十年前就已經(jīng)被開發(fā)出來,但是許多工業(yè)應(yīng)用基本沒有更新。因此,這些系統(tǒng)的部分功能不完備,不能完全滿足時代發(fā)展的需求。秉持改造動作輕量化以及降低企業(yè)系統(tǒng)癱瘓、停產(chǎn)風(fēng)險的精神,本文介紹了一個在 Windows XP 系統(tǒng)下,通過 Visual Basic 6.0( VB6)查詢昆船嘴棒物流系統(tǒng)數(shù)據(jù)庫信息,給功能不全的系統(tǒng)補全系統(tǒng)故障提示功能的案例[1]。

2 物流系統(tǒng)現(xiàn)狀及需求分析

某工廠早在2014年便已引進濾棒倉儲物流系

統(tǒng)。其昆船嘴棒倉儲物流系統(tǒng)由2臺堆垛機、1個嘴棒倉庫、4個成型實盤嘴棒待寄站、4個成型空盤待收站、5個嘴棒發(fā)射空盤待寄站、5個嘴棒發(fā)射實盤待收站以及1個臨時人工收發(fā)站組成。該系統(tǒng)能夠自動將嘴棒成型機已填滿實盤嘴棒的待寄站內(nèi)的實盤組運送、取出、放出倉庫暫存數(shù)小時,同時將倉庫的空盤組送至成型機臺空盤接收站備用;還能將嘴棒發(fā)射待寄站的空盤回收至倉庫,并將倉庫的嘴棒實盤組運送至嘴棒發(fā)射待收站供嘴棒發(fā)射機發(fā)射,整個過程實現(xiàn)自動化工作。

由于該系統(tǒng)開發(fā)者的預(yù)見性有限、軟件系統(tǒng)功能不完備、機械電氣設(shè)備老化等,原報警功能不夠及時實現(xiàn),甚至不報警,且系統(tǒng)故障時常得不到及時處理。為縮減故障時長,相關(guān)人員開發(fā)了一個基于 VB6的、可查詢 SQL 數(shù)據(jù)庫的查詢報警系統(tǒng)[2]。待故障發(fā)生時,可以根據(jù)數(shù)據(jù)庫中的任務(wù)信息測算出系統(tǒng)已發(fā)生的故障,從而及時提醒系統(tǒng)管理員[3]。

3 設(shè)計思路

由于該物流系統(tǒng)源碼并不支持轉(zhuǎn)讓,故將焦點聚焦在利用計算機自動、及時發(fā)現(xiàn)故障環(huán)節(jié)中,爭取通過計算機自動運算第一時間發(fā)現(xiàn)故障,讓故障得到及時處理。輔助報警系統(tǒng)流程圖如圖1所示。

4 程序界面設(shè)計

通過 Visual Basic 6.0建立一個如圖2所示的窗體程序。

圖2中各個 VB 控件的功能如下:開始工作按鈕—激活 timer1開始自動重復(fù)工作;暫停五分鐘按鈕—關(guān)閉定時器 timer1,timer2,激活定時器 timer4;timer1的 interval 與功能—10秒間隔;查詢數(shù)據(jù)庫判斷嘴棒庫內(nèi)是否有超時任務(wù),如果有相應(yīng)彈窗提示,激活定時器 timer2;timer2的 interval 與功能—3分鐘間隔,激活定時器 timer1;timer3的 interval 與功能—3秒間隔,報警提示框的自動關(guān)閉;timer4的 interval 與功能—5分鐘間隔,激活定時器 timer1,關(guān)閉自身。

圖3為自動關(guān)閉的報警提示界面,其表示報警系統(tǒng)通過查詢結(jié)果來彈出報警提示,3秒之后通過調(diào)用 Windows 系統(tǒng)函數(shù)FindWindowA找到報警提示,該報警提示的窗口句柄調(diào)用SendMessageA,并向該句柄指向的窗口自動點擊確定按鈕,從而關(guān)閉彈出的報警提示小窗口。

5 核心功能代碼實現(xiàn)

定時器狀態(tài)刷新函數(shù)—shuaxintime()代碼: Private Sub shuaxintime()'刷新各定時器狀態(tài),起到實時提示

If Timer1.Enabled = True Then'判斷定時器1是否激活

Label2.Caption ="timer1激活中"'將定時器1狀態(tài)顯示在標(biāo)簽2文字

Else:Label2.Caption ="timer1未激活"'將定時器1狀態(tài)顯示在標(biāo)簽2文字

End If'If判斷語句結(jié)束。

Timer2~4功能與 Timer1類似,略過。

窗體載入函數(shù) Sub Form_Load()的代碼:

myStr=" Provider = SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=true;Initial Catalog =客房信息管理模塊;Data Source=."'連接數(shù)據(jù)庫

myCnn.ConnectionString=myStr'myCnn的連接屬性

myCnn1.ConnectionString =myStr'myCnn1的連接屬性

Timer1.Enabled = False'凍結(jié) timer1

開始工作按鈕 Command1_Click()的代碼:

Timer1.Enabled = True'激活 timer1

暫停五分鐘按鈕 Command2_Click()的代碼:

Timer4.Interval =22000

'設(shè)置 timer4的間隔運行時間

Timer4.Enabled = True

'激活 timer4

Timer1.Enabled = False

'凍結(jié) timer1

Timer2.Enabled = False

'凍結(jié) timer2

Call shuaxintime

'調(diào)用刷新定時器狀態(tài)函數(shù)

定時器1—Timer1_Timer()的代碼:

myStr=" Provider = SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=true;Initial Catalog =客房信息管理模塊;Data Source=."'連接數(shù)據(jù)庫

myCnn.ConnectionString=myStr'myCnn的連接屬性

myCnn1.ConnectionString =myStr'myCnn1的連接屬性

myRs.Open" select? ? from? TABLE1 where

finishdate ?is?? null ",myCnn,adOpenDynamic,

adLockBatchOptimistic'查詢數(shù)據(jù)庫返回結(jié)果myRs 1.Open "select? count (? ) from? TABLE1

where datediff( mi ,startdate,getdate ())>=5",myCnn,

adOpenDynamic,adLockBatchOptimistic'查詢數(shù)據(jù)庫

返回結(jié)果

If myRs.RecordCount>=5 Or myRs 1.RecordCount >=1 Then? '判斷是否找到一條記錄

Label1.Caption ="未完成找到"+CStr ( myRs. RecordCount)+"記錄"+",超時找到"+CStr ( myRs 1.RecordCount)+"記錄"+vbCrLf+"查詢時

間:"+ Format(Now (),"YYYY?MM?DD hh:mm:ss") '查詢結(jié)果顯示在標(biāo)簽1,

Timer3.Interval =2000'設(shè)置定時器3的間隔時間 Timer3.Enabled = True'激活定時器3

nRet=MsgBox ("請及時處理,3秒后自動關(guān)閉",64,MsgTitle ) '彈出報警提示

Timer3.Enabled = False? '凍結(jié)定時器3?? Call shuaxintime'調(diào)用刷新定時器狀態(tài)函數(shù)

Else

'不符合判斷則執(zhí)行后面語句

MsgBox"庫中沒有你要的信息?。ⅲ棾鎏崾?/p>

信息

End If

'If 語句結(jié)束

If Timer2.Enabled = False Then

'如果定時器未激活則

Timer2.Enabled = True'激活定時器2

End If'If語句結(jié)束

定時器2—Timer2 Timer ()的代碼: Timer1.Enabled = True?? '激活定時器1

定時器3—Timer3 Timer ()的代碼:

Dim hWnd As Long'定義長整型變量用于存儲窗口句柄

hWnd=FindWindow ( vbNullString,MsgTitle )'調(diào)

用FindWindow查找窗口句柄

Call SendMessage (hWnd,WM_CLOSE ,0,ByVal 0&)'關(guān)閉通過句柄號找到的窗口

Call shuaxintime'調(diào)用刷新定時器狀態(tài)函數(shù)

6 應(yīng)用效益分析

使用該輔助報警系統(tǒng)之后,故障能夠被及時發(fā)現(xiàn)和處理。其中,濾棒高架庫的有效作業(yè)時間由原來的94%提高到98%;減少了因物流系統(tǒng)的癱瘓對上下游工段的影響,節(jié)約人力和物力,為企業(yè)發(fā)展注入了新動力。

參考文獻(xiàn):

[1]王曉敏.Visual Basic 程序設(shè)計[ M].北京:中國鐵道出版社,2003.

[2]關(guān)敬敏,唐家渝.SQL Server 數(shù)據(jù)庫應(yīng)用教程[ M].北京:清華大學(xué)出版社,2005.

[3]黃志峰.Visual Basic 高級編程實例精解[ M].北京:國防工業(yè)出版社,2001.

作者簡介:

陳勁松(1988—),本科,助理工程師,研究方向:機電一體化。

猜你喜歡
句柄代碼報警
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
LKD2-HS型列控中心驅(qū)采不一致報警處理
高校圖書館持久標(biāo)識符應(yīng)用研究
編譯程序語法分析句柄問題分析與探討
2015款奔馳E180車安全氣囊報警
死于密室的租住者
奔馳E260車安全氣囊報警