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

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

案例頻道

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

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

摘要: 目前紡織業(yè)生產(chǎn)中產(chǎn)品產(chǎn)量一般都還是依靠人工進(jìn)行統(tǒng)計,在實際操作過程中,不僅麻煩而且容易出錯。因此,有必要采用產(chǎn)量監(jiān)控及查詢系統(tǒng)對產(chǎn)品產(chǎn)量進(jìn)行統(tǒng)計。本文介紹了基于VB及臺達(dá)觸摸屏的產(chǎn)量監(jiān)控及查詢系統(tǒng),該系統(tǒng)不僅能應(yīng)用于紡織機械,而且適用于其它設(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ìn)行實時監(jiān)控和查詢,并對各班次產(chǎn)量數(shù)據(jù)進(jìn)行存儲,用戶可通過日期時間段、車號、班次等對產(chǎn)量進(jìn)行綜合查詢,并進(jìn)行統(tǒng)計,可在查詢出滿足條件的數(shù)據(jù)后,進(jìn)行報表輸出和打印。以下是對系統(tǒng)設(shè)計方面的一些討論。

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

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



圖1  結(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)量,車號進(jìn)行查詢操作,也可綜合考慮數(shù)據(jù)保存方式進(jìn)行查詢,提高查詢準(zhǔn)確率。

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

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

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

    1)硬件配置

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

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

    觸摸屏選用臺達(dá)系列AE10THTD型,由于其具有強大的通訊功能,靈活的系統(tǒng)構(gòu)成,生動逼真且豐富的圖庫,簡單易用等特點,在紡織業(yè)中得到了廣泛的應(yīng)用,因此通過觸摸屏來采集所需數(shù)據(jù)。所以要對紡機進(jìn)行實時監(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:強置單線圈  強置一個邏輯線圈的通斷狀態(tài)

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

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

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

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

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

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

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

    ● 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ù)進(jìn)行實時采集,數(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) '甲班當(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)換為十進(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ù)時間、班次、產(chǎn)量、車號進(jìn)行綜合查詢。

圖3  信息查詢界面
    該功能的程序方面比較簡單,主要是對數(shù)據(jù)庫的查詢操作。以單獨對班次查詢?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 機器類型 ,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ìn)行擴展,增加根據(jù)時間,車號,產(chǎn)量范圍等對產(chǎn)量進(jì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)控。

其它作者:

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

熱點新聞

推薦產(chǎn)品

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



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 国产国产精品人在线视| 成人福利短视频| 综合国产在线| 日韩一区二区三区在线播放| 免费亚洲网站| 国产精品日韩欧美久久综合| japanhdfree日本护士乱| 免费日本黄色网址| 国产高清成人| 黄网免费观看| 99色吧| 精品推荐国产麻豆剧传媒| 日韩在线看片中文字幕不卡| 91精品国产亚洲爽啪在线观看| jpnesxxx日本| 欧美一区二区三区婷婷月色| 亚洲综合欧美综合| 久久99精品麻豆国产| 日韩福利在线视频| 在线免费观看日韩视频| 欧美aaaav免费大片| 国产一级高清视频| 国产精品久久久久久影院| 黄色大片毛片| 91精品国产福利尤物免费| 国产精品v欧美精品v日本精| 男生福利网站| 轻轻碰在线视频免费视频| 亚洲国产精品人久久电影| 永久免费aavv视频播放| xxxxxxx国产精品视频| 女人被狂躁的视频免费动图 | 特黄特色大片免费播放| 又大又爽又湿又紧a视频 | jizjizjiz亚洲人| 久热这里只有精品视频6| 亚洲精品一区二区三区人妖| 1000部拍拍拍18勿入免费凤凰福利| 成 人 黄 色视频免费播放| 欧美a级片免费看| 欧美成人观看|