久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

ABB
關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
橫河電機(jī)25年9月
工業(yè)智能邊緣計(jì)算2025年會
2025工業(yè)安全大會
CAIAC 2025
OICT公益講堂
當(dāng)前位置:首頁 >> 案例 >> 案例首頁

案例頻道

基于VB及臺達(dá)觸摸屏的監(jiān)控系統(tǒng)在紡機(jī)中的應(yīng)用
  • 企業(yè):中達(dá)電通股份有限公司     領(lǐng)域:運(yùn)動控制與伺服系統(tǒng)     行業(yè):機(jī)場    
  • 點(diǎn)擊數(shù):2606     發(fā)布時(shí)間:2008-06-29 09:04:51
  • 分享到:

    喻  慧(1984-)
女,畢業(yè)于陜西科技大學(xué)電子信息專業(yè),本科,現(xiàn)就職于烽火通信集團(tuán)恒鑫紡機(jī)公司,從事新型紡織機(jī)械的研發(fā)工作。

摘要: 目前紡織業(yè)生產(chǎn)中產(chǎn)品產(chǎn)量一般都還是依靠人工進(jìn)行統(tǒng)計(jì),在實(shí)際操作過程中,不僅麻煩而且容易出錯。因此,有必要采用產(chǎn)量監(jiān)控及查詢系統(tǒng)對產(chǎn)品產(chǎn)量進(jìn)行統(tǒng)計(jì)。本文介紹了基于VB及臺達(dá)觸摸屏的產(chǎn)量監(jiān)控及查詢系統(tǒng),該系統(tǒng)不僅能應(yīng)用于紡織機(jī)械,而且適用于其它設(shè)備。

關(guān)鍵詞: 臺達(dá)觸摸屏;VB;監(jiān)控;查詢;MODBUS;MSCOMM

Abstract:  At the present time, the output of the textile industry is accounted by the worker usually. It is bother and easy to make mistakes. So it is necessary to have a system to monitor the output of the product. A monitor and enquiry system about the output of the product is introduced in this article, it's based on VB and Touch Screen. This system is not only used in the textile machine, but also used in the other area.

Key words: Delta HMI; VB; Monitor;Enquiry;  MODBUS ;  MSCOMM

一、引言

    該系統(tǒng)用于對各生產(chǎn)線的紡機(jī)進(jìn)行實(shí)時(shí)監(jiān)控和查詢,并對各班次產(chǎn)量數(shù)據(jù)進(jìn)行存儲,用戶可通過日期時(shí)間段、車號、班次等對產(chǎn)量進(jìn)行綜合查詢,并進(jìn)行統(tǒng)計(jì),可在查詢出滿足條件的數(shù)據(jù)后,進(jìn)行報(bào)表輸出和打印。以下是對系統(tǒng)設(shè)計(jì)方面的一些討論。

二、系統(tǒng)結(jié)構(gòu)與功能

    精梳機(jī)是近年來在紡織行業(yè)使用較為普遍的一種設(shè)備,其主要作用是排出梳棉生條中一定長度以下的短纖維,提高纖維整齊度,進(jìn)一步清除纖維中殘留的棉結(jié)、雜質(zhì),提高纖維光潔度。條并卷聯(lián)合機(jī)是精梳工序的準(zhǔn)備設(shè)備,通常情況下,一套精梳設(shè)備由一臺條并卷聯(lián)合機(jī)和五臺精梳機(jī)組成。該產(chǎn)量監(jiān)控查詢系統(tǒng)應(yīng)用于精梳設(shè)備的結(jié)構(gòu)示意圖如下所示:



圖1  結(jié)構(gòu)示意圖

    該系統(tǒng)實(shí)現(xiàn)了以下功能:

    (1)實(shí)時(shí)監(jiān)控所選機(jī)器各班次的當(dāng)日產(chǎn)量和累計(jì)產(chǎn)量以及該機(jī)器的運(yùn)行情況。

    (2)可定時(shí)保存各機(jī)器各班次的當(dāng)日產(chǎn)量及累計(jì)產(chǎn)量,且有多種定時(shí)方式可選擇。

    (3)能分別根據(jù)時(shí)間,班次,產(chǎn)量,車號進(jìn)行查詢操作,也可綜合考慮數(shù)據(jù)保存方式進(jìn)行查詢,提高查詢準(zhǔn)確率。

    (4)查詢結(jié)果可顯示為報(bào)表格式,并可將結(jié)果打印輸出,方便用戶使用。

    (5)具有系統(tǒng)維護(hù)功能,可方便用戶進(jìn)行數(shù)據(jù)維護(hù)。

三、系統(tǒng)設(shè)計(jì)

    1)硬件配置

名稱
數(shù)量
觸摸屏
7
普通PC機(jī)
1
轉(zhuǎn)換模塊RS232—RS485
1

    2) 數(shù)據(jù)采集部分的設(shè)計(jì)

    觸摸屏選用臺達(dá)系列AE10THTD型,由于其具有強(qiáng)大的通訊功能,靈活的系統(tǒng)構(gòu)成,生動逼真且豐富的圖庫,簡單易用等特點(diǎn),在紡織業(yè)中得到了廣泛的應(yīng)用,因此通過觸摸屏來采集所需數(shù)據(jù)。所以要對紡機(jī)進(jìn)行實(shí)時(shí)監(jiān)控,首先要解決觸摸屏與PC的通信問題。所用的臺達(dá)觸摸屏支持標(biāo)準(zhǔn)的MODBUS協(xié)議,通過串口與PC相連。

    ● 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)前的二進(jìn)制值

    04:讀取輸入寄存器  在一個或多個輸入寄存器中取得當(dāng)前的二進(jìn)制值

    05:強(qiáng)置單線圈  強(qiáng)置一個邏輯線圈的通斷狀態(tài)

    06:預(yù)置單線圈  把具體二進(jìn)制值裝入一個保持寄存器

    根據(jù)modbus協(xié)議,通信中mscomm1.output中包含的字符串應(yīng)包括以下幾部分:

    起始位  站號  功能碼  數(shù)據(jù)位  校驗(yàn)位  停止位

    在此通信中,站號表示人機(jī)站號 數(shù)據(jù)位包括寄存器地址和數(shù)據(jù)

    ● HMI內(nèi)部地址與MODBUS地址映射表

MODBUS_ADDRESS
HMI_ADDRESS
PC_ADDRESS
描述
W40001-W41024
$0-$1023
0000-03FF
內(nèi)部寄存器
W42001-W43024
$M0-$M1023
07D0-0BCF
斷電保持內(nèi)部寄存器
W44001
RCPN0
0FA0
配方編號寄存器
W45001-......
RCP0-RCPn
1388-......
配方寄存器
B00001-B01024
$2000.0-$2063.15
0000-03FF
內(nèi)部寄存器(bit)
B01025-B02048
$M200.0-$M263.15
0400-07FB
斷電內(nèi)部保持寄存器(bit)

    ● mscomm控件

    CommPort 設(shè)置并返回通訊端口號。

    Settings 以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。

    PortOpen 設(shè)置并返回通訊端口的狀態(tài)。也可以打開和關(guān)閉端口。

    Input 從接收緩沖區(qū)返回和刪除字符。

    Output 向傳輸緩沖區(qū)寫一個字符串。

    ● HMI與PC的通信及數(shù)據(jù)采集的設(shè)計(jì)

    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ù)進(jìn)行實(shí)時(shí)采集,數(shù)據(jù)采集程序界面如下圖所示:

圖2  數(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   '獲取車的類型(是精梳機(jī)還是條并聯(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) '甲班累計(jì)產(chǎn)量
        Txt_104.Text = change(inputstring, 24, 28) '乙班當(dāng)日產(chǎn)量
        Txt_106.Text = change(inputstring, 32, 36) '乙班累計(jì)產(chǎn)量
        Txt_108.Text = change(inputstring, 40, 44) '丙班當(dāng)日產(chǎn)量
        Txt_110.Text = change(inputstring, 48, 52) '丙班累計(jì)產(chǎn)量
        Txt_112.Text = change(inputstring, 56, 60) '丁班當(dāng)日產(chǎn)量
        Txt_114.Text = change(inputstring, 64, 68) '丁班累計(jì)產(chǎn)量
        Txt_116.Text = change(inputstring, 72, 76) '各班當(dāng)日合計(jì)產(chǎn)量
        Txt_118.Text = change(inputstring, 80, 84) '各班累計(jì)合計(jì)產(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) '精梳機(jī)鉗次
            Txt_view2.Text = change(inputstring, 96, 100) '精梳機(jī)條速
      End If
      str_state = Mid(inputstring, 120, 4) '接收運(yùn)行狀態(tài)的返回值,并判斷運(yùn)行狀態(tài)
        If str_state = "0001" Then
            Cmd_128.Caption = "運(yùn)行中"
        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)換為十進(jì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) '將十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制
    If str_input >= -32768 And str_input <= -1 Then '將轉(zhuǎn)換成十進(jì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ù)時(shí)間、班次、產(chǎn)量、車號進(jìn)行綜合查詢。

圖3  信息查詢界面
    該功能的程序方面比較簡單,主要是對數(shù)據(jù)庫的查詢操作。以單獨(dú)對班次查詢?yōu)槔浯a如下:

    '按班次查詢子函數(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)量并對其進(jì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 機(jī)器類型 ,info_liner as 班次, "
    resource_str = resource_str + " info_sumoutput as 當(dāng)日產(chǎn)量, info_dayoutput as 累計(jì)產(chǎn)量,"
    resource_str = resource_str + " info_daytotal as 當(dāng)日合計(jì)產(chǎn)量,info_total as 累計(jì)合計(jì)產(chǎn)量 "
    resource_str = resource_str + " from " + table_str + sch_str
    Adodc1.RecordSource = resource_str
    Debug.Print Adodc1.RecordSource
    Adodc1.Refresh
End Sub

    可根據(jù)以上單獨(dú)查詢班次的例子對其進(jìn)行擴(kuò)展,增加根據(jù)時(shí)間,車號,產(chǎn)量范圍等對產(chǎn)量進(jìn)行查詢的功能,這里就不一一敘述了。

四、結(jié)束語

    觸摸屏與上位機(jī)的結(jié)合,并通過VB6.0傳送數(shù)據(jù)所構(gòu)成的計(jì)算機(jī)監(jiān)控系統(tǒng),對于近距離傳輸數(shù)據(jù)的現(xiàn)場控制來說是一種性價(jià)比很高的解決方案。該系統(tǒng)充分的利用了觸摸屏的通信功能和PC強(qiáng)大的圖形顯示、浮點(diǎn)運(yùn)算等特點(diǎn),以最大的限度合理的利用了資源,實(shí)現(xiàn)了對設(shè)備運(yùn)行狀態(tài)的監(jiān)控。

其它作者:

    馬巖(1980-),男,畢業(yè)于西安工程大學(xué)機(jī)械電子工程專業(yè),本科,現(xiàn)就職于陜西烽火通信集團(tuán)恒鑫紡機(jī)公司,從事新型紡織機(jī)械的研發(fā)工作。

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 欧美+日本+国产+在线观看| 黄色生活片| 98精品视频| 午夜第一页| 国产九九精品视频| 国产一级特黄| 亚洲欧美4444kkkk| 一区二区国产精品| 亚洲欧美h| 久久毛片视频| 美女被拍拍拍拍拍拍拍拍| 一级毛片日韩a欧美最爱| 成人伦理影院| 欧美一区二区在线视频| 国产在线观看自拍| 精品九九在线| 久久精品国产精品亚洲综合| 在浴室边摸边吃奶边做视频| 日韩欧美在线中文字幕| 免费国产成高清人在线视频| 国产激情视频在线播放| 啪啪一级视频| 99久久精品国产免费| 久久这里只有精品首页| 视频成人永久免费视频 | 黄色aaaaa| 国产综合区| 午夜影院亚洲| 97就要鲁就要鲁夜夜爽| 人做人爱视频欧美在线观看| 老妇激情毛片| 免费一级毛片在线播放欧美| 国产福利在线观看永久免费| 99热自拍| 海天翼精品一区二区三区| 免费xxxxx大片在线观看影视| 青草视频在线观看免费| 日韩欧美精品中文字幕| 伊人365影院| 自拍欧美日韩| 在线二区人妖系列|