国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
CAIAC 2025
2024
工業(yè)智能邊緣計算2024年會
2023年工業(yè)安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

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

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

摘要: 目前紡織業(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)不僅能應用于紡織機械,而且適用于其它設備。

關鍵詞: 臺達觸摸屏;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)線的紡機進行實時監(jiān)控和查詢,并對各班次產(chǎn)量數(shù)據(jù)進行存儲,用戶可通過日期時間段、車號、班次等對產(chǎn)量進行綜合查詢,并進行統(tǒng)計,可在查詢出滿足條件的數(shù)據(jù)后,進行報表輸出和打印。以下是對系統(tǒng)設計方面的一些討論。

二、系統(tǒng)結構與功能

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



圖1  結構示意圖

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

    (1)實時監(jiān)控所選機器各班次的當日產(chǎn)量和累計產(chǎn)量以及該機器的運行情況。

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

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

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

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

三、系統(tǒng)設計

    1)硬件配置

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

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

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

    ● MODBUS通信協(xié)議

    modbus功能碼

    01:讀取線圈狀態(tài)  取得一組邏輯線圈的當前狀態(tài)(ON/OFF)

    02:讀取輸入狀態(tài)  取得一組開關輸入的當前狀態(tài)(ON/OFF)

    03:讀取保持寄存器  在一個或多個保持寄存器中取得當前的二進制值

    04:讀取輸入寄存器  在一個或多個輸入寄存器中取得當前的二進制值

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

    06:預置單線圈  把具體二進制值裝入一個保持寄存器

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

    起始位  站號  功能碼  數(shù)據(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 設置并返回通訊端口號。

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

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

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

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

    ● HMI與PC的通信及數(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ù)進行實時采集,數(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   '獲取車的類型(是精梳機還是條并聯(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) '甲班當日產(chǎn)量
        Txt_102.Text = change(inputstring, 16, 20) '甲班累計產(chǎn)量
        Txt_104.Text = change(inputstring, 24, 28) '乙班當日產(chǎn)量
        Txt_106.Text = change(inputstring, 32, 36) '乙班累計產(chǎn)量
        Txt_108.Text = change(inputstring, 40, 44) '丙班當日產(chǎn)量
        Txt_110.Text = change(inputstring, 48, 52) '丙班累計產(chǎn)量
        Txt_112.Text = change(inputstring, 56, 60) '丁班當日產(chǎn)量
        Txt_114.Text = change(inputstring, 64, 68) '丁班累計產(chǎn)量
        Txt_116.Text = change(inputstring, 72, 76) '各班當日合計產(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)當前長度
        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)用于轉換采集到的數(shù)據(jù),其功能是將采集到的產(chǎn)量數(shù)據(jù)轉換為十進制。其代碼如下:
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ù)轉換成十進制
    If str_input >= -32768 And str_input <= -1 Then '將轉換成十進制處于-32768~32767的數(shù)據(jù)轉換為相應的正數(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)量、車號進行綜合查詢。

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

    '按班次查詢子函數(shù),用于判斷其搜索關鍵字是否有效

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

    '查詢結果顯示

    Dim resource_str
    resource_str = " select info_id as 編號,info_mactype as 機器類型 ,info_liner as 班次, "
    resource_str = resource_str + " info_sumoutput as 當日產(chǎn)量, info_dayoutput as 累計產(chǎn)量,"
    resource_str = resource_str + " info_daytotal as 當日合計產(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)量進行查詢的功能,這里就不一一敘述了。

四、結束語

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

其它作者:

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

熱點新聞

推薦產(chǎn)品

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



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 日韩专区亚洲国产精品 | 麻豆国产96在线 | 日韩 | 成年美女黄网站色视频大全免费 | 久久国产精品亚洲 | 免费在线观看毛片 | 欧美在线黄| 国产成人精品免费视频大全办公室 | 97视频在线免费 | 成在线人永久免费播放视频 | 日韩久久综合 | 亚洲欧美一区二区三区在饯 | 欧美成人手机视频免费播放 | 欧美一区综合 | 成人区精品一区二区毛片不卡 | 窝窝女人体国产午夜视频 | 欧美另类 videos黑人极品 | 成人1000部免费观看视频 | 舔操 | 欧美在线香蕉在线现视频 | 国产一区亚洲二区三区毛片 | 欧美精品在线免费观看 | 黄色成人在线网站 | 亚洲视频二 | 亚洲一区视频 | 在线一区免费视频播放 | 亚洲国产一区二区三区在线观看 | 一区二三区国产 | 亚洲精品久久久久影 | 午夜在线视频一区二区三区 | 欧美 日韩 国产 成人 在线观看 | 免费观看毛片视频 | 国产精品爱久久久久久久 | 国产精品日韩欧美在线 | 国产精品porn | 日韩在线免费视频 | 欧美成 人h版在线观看 | 日本vs欧美一区二区三区 | 久久精品国产精品亚洲精品 | 亚洲国产日韩欧美综合久久 | 香港三级日本三级人妇三级四 | 国产精品亚洲片在线va |