技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 基于VB及臺達觸摸屏的監(jiān)控系統(tǒng)在紡機中的應(yīng)用

基于VB及臺達觸摸屏的監(jiān)控系統(tǒng)在紡機中的應(yīng)用

時間:2008-07-10 09:42:00來源:lihan

導(dǎo)語:?本文介紹了基于VB及臺達觸摸屏的產(chǎn)量監(jiān)控及查詢系統(tǒng),該系統(tǒng)不僅能應(yīng)用于紡織機械,而且適用于其它設(shè)備
摘 要: 目前紡織業(yè)生產(chǎn)中產(chǎn)品產(chǎn)量一般都還是依靠人工進行統(tǒng)計,在實際操作過程中,不僅麻煩而且容易出錯。因此,有必要采用產(chǎn)量監(jiān)控及查詢系統(tǒng)對產(chǎn)品產(chǎn)量進行統(tǒng)計。本文介紹了基于VB及臺達觸摸屏的產(chǎn)量監(jiān)控及查詢系統(tǒng),該系統(tǒng)不僅能應(yīng)用于紡織機械,而且適用于其它設(shè)備。 關(guān)鍵詞: 臺達觸摸屏;VB;監(jiān)控;查詢;MODBUS;MSCOMM 一、引言 該系統(tǒng)用于對各生產(chǎn)線的紡機進行實時監(jiān)控和查詢,并對各班次產(chǎn)量數(shù)據(jù)進行存儲,用戶可通過日期時間段、車號、班次等對產(chǎn)量進行綜合查詢,并進行統(tǒng)計,可在查詢出滿足條件的數(shù)據(jù)后,進行報表輸出和打印。以下是對系統(tǒng)設(shè)計方面的一些討論。 二、系統(tǒng)結(jié)構(gòu)與功能 精梳機是近年來在紡織行業(yè)使用較為普遍的一種設(shè)備,其主要作用是排出梳棉生條中一定長度以下的短纖維,提高纖維整齊度,進一步清除纖維中殘留的棉結(jié)、雜質(zhì),提高纖維光潔度。條并卷聯(lián)合機是精梳工序的準(zhǔn)備設(shè)備,通常情況下,一套精梳設(shè)備由一臺條并卷聯(lián)合機和五臺精梳機組成。該產(chǎn)量監(jiān)控查詢系統(tǒng)應(yīng)用于精梳設(shè)備的結(jié)構(gòu)示意圖如下所示:
該系統(tǒng)實現(xiàn)了以下功能: 1)實時監(jiān)控所選機器各班次的當(dāng)日產(chǎn)量和累計產(chǎn)量以及該機器的運行情況。 2)可定時保存各機器各班次的當(dāng)日產(chǎn)量及累計產(chǎn)量,且有多種定時方式可選擇。 3)能分別根據(jù)時間,班次,產(chǎn)量,車號進行查詢操作,也可綜合考慮數(shù)據(jù)保存方式進行查詢,提高查詢準(zhǔn)確率。 4)查詢結(jié)果可顯示為報表格式,并可將結(jié)果打印輸出,方便用戶使用。 5)具有系統(tǒng)維護功能,可方便用戶進行數(shù)據(jù)維護。 三、系統(tǒng)設(shè)計 1)硬件配置
2) 數(shù)據(jù)采集部分的設(shè)計 觸摸屏選用臺達系列AE10THTD型,由于其具有強大的通訊功能,靈活的系統(tǒng)構(gòu)成,生動逼真且豐富的圖庫,簡單易用等特點,在紡織業(yè)中得到了廣泛的應(yīng)用,因此通過觸摸屏來采集所需數(shù)據(jù)。所以要對紡機進行實時監(jiān)控,首先要解決觸摸屏與PC的通信問題。所用的臺達觸摸屏支持標(biāo)準(zhǔn)的MODBUS協(xié)議,通過串口與PC相連。 <1>MODBUS通信協(xié)議 modbus功能碼 01:讀取線圈狀態(tài) 取得一組邏輯線圈的當(dāng)前狀態(tài)(ON/OFF) 02:讀取輸入狀態(tài) 取得一組開關(guān)輸入的當(dāng)前狀態(tài)(ON/OFF) 03:讀取保持寄存器 在一個或多個保持寄存器中取得當(dāng)前的二進制值 04:讀取輸入寄存器 在一個或多個輸入寄存器中取得當(dāng)前的二進制值 05:強置單線圈 強置一個邏輯線圈的通斷狀態(tài) 06:預(yù)置單線圈 把具體二進制值裝入一個保持寄存器 根據(jù)modbus協(xié)議,通信中mscomm1.output中包含的字符串應(yīng)包括以下幾部分: 起始位 站號 功能碼 數(shù)據(jù)位 校驗位 停止位 在此通信中,站號表示人機站號 數(shù)據(jù)位包括寄存器地址和數(shù)據(jù) <2> HMI內(nèi)部地址與MODBUS地址映射表
<3>mscomm控件 CommPort 設(shè)置并返回通訊端口號。 Settings 以字符串的形式設(shè)置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位。 PortOpen 設(shè)置并返回通訊端口的狀態(tài)。也可以打開和關(guān)閉端口。 Input 從接收緩沖區(qū)返回和刪除字符。 Output 向傳輸緩沖區(qū)寫一個字符串。 <4>HMI與PC的通信及數(shù)據(jù)采集的設(shè)計 LRC算法函數(shù): Public Function LRC(str) c = 0 l = Len(str) ‘求出str的長度賦值給l For c = c + 1 To l c_data = Mid$(str, c, 2) ‘在str串中,從c的值開始取2個字符。 d_lrc = d_lrc + Val("&H" + c_data) c = c + 1 Next c If d_lrc > &HFF Then d_lrc = d_lrc Mod &H100 End If h_lrc = Hex(&HFF - d_lrc + 1) If Len(h_lrc) > 2 Then h_lrc = Mid(h_lrc, Len(h_lrc) - 1, 2) End If LRC = h_lrc End Function 下面對數(shù)據(jù)進行實時采集,數(shù)據(jù)采集程序界面如下圖所示:
Private Sub Timer1_Timer() ‘連接數(shù)據(jù)庫 Dim CONN As New ADODB.Connection Dim DBStr As String Dim rs As New ADODB.Recordset DBStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data.mdb;Persist Security Info=False" CONN.Open DBStr Dim Mac_Num ‘ Mac_Num是車號 Mac_Num = Combo_MacNum.List(Combo_MacNum.ListIndex) Debug.Print Mac_Num sql = "select * from machine where Machine_Num = ‘" + Mac_Num + "‘" ‘獲取車號 rs.Open sql, CONN, 1, 3 Txt_type.Text = rs.Fields("machine_type").Value ‘獲取車的類型(是精梳機還是條并聯(lián)) rs.Close str_type = Mac_Num ‘ Set CONN = Nothing DBStr = "" ‘發(fā)送數(shù)據(jù)(根據(jù)所選車號發(fā)送數(shù)據(jù)) If MSComm1.PortOpen = True And stakeout_flag And Combo_MacNum.ListIndex >= 0 Then str_output = str_type + "030064001D" MSComm1.Output = ":" + str_output + LRC(str_output) + Chr$(13) + Chr$(10) ‘接收數(shù)據(jù) inputstring = MSComm1.Input ‘將接收到的數(shù)據(jù)分別賦值并顯示 Txt_100.Text = change(inputstring, 8, 12) ‘甲班當(dāng)日產(chǎn)量 Txt_102.Text = change(inputstring, 16, 20) ‘甲班累計產(chǎn)量 Txt_104.Text = change(inputstring, 24, 28) ‘乙班當(dāng)日產(chǎn)量 Txt_106.Text = change(inputstring, 32, 36) ‘乙班累計產(chǎn)量 Txt_108.Text = change(inputstring, 40, 44) ‘丙班當(dāng)日產(chǎn)量 Txt_110.Text = change(inputstring, 48, 52) ‘丙班累計產(chǎn)量 Txt_112.Text = change(inputstring, 56, 60) ‘丁班當(dāng)日產(chǎn)量 Txt_114.Text = change(inputstring, 64, 68) ‘丁班累計產(chǎn)量 Txt_116.Text = change(inputstring, 72, 76) ‘各班當(dāng)日合計產(chǎn)量 Txt_118.Text = change(inputstring, 80, 84) ‘各班累計合計產(chǎn)量 If Txt_type.Text = "條并聯(lián)" Then Txt_view1.Text = change(inputstring, 104, 108) ‘條并聯(lián)繞卷速度 Txt_view2.Text = change(inputstring, 112, 116) ‘條并聯(lián)當(dāng)前長度 Else Txt_view1.Text = change(inputstring, 88, 92) ‘精梳機鉗次 Txt_view2.Text = change(inputstring, 96, 100) ‘精梳機條速 End If str_state = Mid(inputstring, 120, 4) ‘接收運行狀態(tài)的返回值,并判斷運行狀態(tài) If str_state = "0001" Then Cmd_128.Caption = "運行中" End If If str_state = "0000" Then Cmd_128.Caption = "停止" End If End If End Sub change(inputstr, start1 As Integer, start2 As Integer)用于轉(zhuǎn)換采集到的數(shù)據(jù),其功能是將采集到的產(chǎn)量數(shù)據(jù)轉(zhuǎn)換為十進制。其代碼如下: Public Function change(inputstr, start1 As Integer, start2 As Integer) str_low = Mid(inputstr, start1, 4) ‘讀寄存器中的數(shù)據(jù)賦給低字節(jié) str_high = Mid(inputstr, start2, 4) ‘讀寄存器中的數(shù)據(jù)賦給高字節(jié) str_hex = str_high + str_low ‘整合高低字節(jié)數(shù)據(jù) str_input = Val("&H" + str_hex) ‘將十六進制數(shù)據(jù)轉(zhuǎn)換成十進制 If str_input >= -32768 And str_input <= -1 Then ‘將轉(zhuǎn)換成十進制處于-32768~32767的數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的正數(shù) str_input = str_input + 65536 End If change = str_input / 1000 ‘返回值 取三位小數(shù) End Function 3)信息查詢 信息查詢界面如下所示,可對已經(jīng)保存的生產(chǎn)數(shù)據(jù)根據(jù)時間、班次、產(chǎn)量、車號進行綜合查詢。
該功能的程序方面比較簡單,主要是對數(shù)據(jù)庫的查詢操作。以單獨對班次查詢?yōu)槔?,其代碼如下: ‘按班次查詢子函數(shù),用于判斷其搜索關(guān)鍵字是否有效 Private Sub Chk_team_Click() If Chk_team.Value = 1 Then Combo_team.Enabled = True Else Combo_team.Enabled = False End If End Sub ‘選擇班次子函數(shù),用于判斷所選班次 Private Sub Combo_team_Click() Dim liner_str Select Case Combo_team.ListIndex Case 0 liner_str = "甲班" Case 1 liner_str = "乙班" Case 2 liner_str = "丙班" Case 3 liner_str = "丁班" End Select End Sub ‘班次查詢子函數(shù),獲取查詢字符串 Public Function sch_team() Dim liner_str Dim sch_str_team Select Case Combo_team.ListIndex Case 0 liner_str = "甲班" Case 1 liner_str = "乙班" Case 2 liner_str = "丙班" Case 3 liner_str = "丁班" End Select sch_str_team = "info_liner = ‘" + liner_str + "‘" sch_team = sch_str_team End Function ‘產(chǎn)量查詢函數(shù),用于查詢產(chǎn)量并對其進行顯示 Private Sub cmd_search_Click() Dim sch_str ‘按班次查詢 If Chk_team.Value = 1 Then sch_str = " where " + sch_team() End If ‘查詢結(jié)果顯示 Dim resource_str resource_str = " select info_id as 編號,info_mactype as 機器類型 ,info_liner as 班次, " resource_str = resource_str + " info_sumoutput as 當(dāng)日產(chǎn)量, info_dayoutput as 累計產(chǎn)量," resource_str = resource_str + " info_daytotal as 當(dāng)日合計產(chǎn)量,info_total as 累計合計產(chǎn)量 " resource_str = resource_str + " from " + table_str + sch_str Adodc1.RecordSource = resource_str Debug.Print Adodc1.RecordSource Adodc1.Refresh End Sub 可根據(jù)以上單獨查詢班次的例子對其進行擴展,增加根據(jù)時間,車號,產(chǎn)量范圍等對產(chǎn)量進行查詢的功能,這里就不一一敘述了。 四、結(jié)束語 觸摸屏與上位機的結(jié)合,并通過VB6.0傳送數(shù)據(jù)所構(gòu)成的計算機監(jiān)控系統(tǒng),對于近距離傳輸數(shù)據(jù)的現(xiàn)場控制來說是一種性價比很高的解決方案。該系統(tǒng)充分的利用了觸摸屏的通信功能和PC強大的圖形顯示、浮點運算等特點,以最大的限度合理的利用了資源,實現(xiàn)了對設(shè)備運行狀態(tài)的監(jiān)控。

標(biāo)簽:

點贊

分享到:

上一篇:G11變頻器在電梯上的應(yīng)用

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號