TECO东元电机-东元变频器-teco东元电机股份有限公司官网

產品分類

當前位置: 首頁 > 工業控制產品 > 自動化控制 > 工業觸摸屏

類型分類:
科普知識
數據分類:
工業觸摸屏

VB及其臺達觸摸屏的監控系統在紡機中的應用

發布日期:2022-10-09 點擊率:64 品牌:臺達_Delta

一、引言

    該系統用于對各生產線的紡機進行實時監控和查詢,并對各班次產量數據進行存儲,用戶可通過日期時間段、車號、班次等對產量進行綜合查詢,并進行統計,可在查詢出滿足條件的數據后,進行報表輸出和打印。以下是對系統設計方面的一些討論。

二、系統結構與功能

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

 

該系統實現了以下功能:

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

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

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

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

5)具有系統維護功能,可方便用戶進行數據維護。

三、系統設計

1)硬件配置


名稱

數量

觸摸屏

7

普通PC機

1

轉換模塊RS232—RS485

1


 

2) 數據采集部分的設計

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

modbus功能碼

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

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

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

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

05:強置單線圈  強置一個邏輯線圈的通斷狀態

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

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

起始位  站號  功能碼  數據位  校驗位  停止位

在此通信中,站號表示人機站號 數據位包括寄存器地址和數據


MODBUS_ADDRESS

HMI_ADDRESS

PC_ADDRESS

描述

W40001-W41024

$0-$1023

0000-03FF

內部寄存器

W42001-W43024

$M0-$M1023

07D0-0BCF

斷電保持內部寄存器

W44001

RCPN0

0FA0

配方編號寄存器

W45001-......

RCP0-RCPn

1388-......

配方寄存器

B00001-B01024

$2000.0-$2063.15

0000-03FF

內部寄存器(bit)

B01025-B02048

$M200.0-$M263.15

0400-07FB

斷電內部保持寄存器(bit)


CommPort 設置并返回通訊端口號。

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

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

Input 從接收緩沖區返回和刪除字符。

Output 向傳輸緩沖區寫一個字符串。

LRC算法函數:

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

下面對數據進行實時采集,數據采集程序界面如下圖所示:
 

 

Private Sub Timer1_Timer()

    ’連接數據庫

    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   ’獲取車的類型(是精梳機還是條并聯)

    rs.Close

    str_type = Mac_Num  ’

    Set CONN = Nothing

    DBStr = ""

    ’發送數據(根據所選車號發送數據)

    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)

        ’接收數據

        inputstring = MSComm1.Input

        ’將接收到的數據分別賦值并顯示

        Txt_100.Text = change(inputstring, 8, 12) ’甲班當日產量

        Txt_102.Text = change(inputstring, 16, 20) ’甲班累計產量

        Txt_104.Text = change(inputstring, 24, 28) ’乙班當日產量

        Txt_106.Text = change(inputstring, 32, 36) ’乙班累計產量

        Txt_108.Text = change(inputstring, 40, 44) ’丙班當日產量

        Txt_110.Text = change(inputstring, 48, 52) ’丙班累計產量

        Txt_112.Text = change(inputstring, 56, 60) ’丁班當日產量

        Txt_114.Text = change(inputstring, 64, 68) ’丁班累計產量

        Txt_116.Text = change(inputstring, 72, 76) ’各班當日合計產量

        Txt_118.Text = change(inputstring, 80, 84) ’各班累計合計產量

        If Txt_type.Text = "條并聯" Then

            Txt_view1.Text = change(inputstring, 104, 108) ’條并聯繞卷速度

            Txt_view2.Text = change(inputstring, 112, 116) ’條并聯當前長度

        Else

            Txt_view1.Text = change(inputstring, 88, 92) ’精梳機鉗次

            Txt_view2.Text = change(inputstring, 96, 100) ’精梳機條速

      End If

      str_state =mid(inputstring, 120, 4) ’接收運行狀態的返回值,并判斷運行狀態

        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)用于轉換采集到的數據,其功能是將采集到的產量數據轉換為十進制。其代碼如下:

Public Function change(inputstr, start1 As Integer, start2 As Integer)

    str_low =mid(inputstr, start1, 4) ’讀寄存器中的數據賦給低字節

    str_high =mid(inputstr, start2, 4) ’讀寄存器中的數據賦給高字節

    str_hex = str_high + str_low ’整合高低字節數據

    str_input = Val("&H" + str_hex) ’將十六進制數據轉換成十進制

    If str_input >= -32768 And str_input <= -1 Then ’將轉換成十進制處于-32768~32767的數據轉換為相應的正數

        str_input = str_input + 65536

    End If

    change = str_input / 1000 ’返回值 取三位小數

End Function

3)信息查詢

    信息查詢界面如下所示,可對已經保存的生產數據根據時間、班次、產量、車號進行綜合查詢。
 

 

    該功能的程序方面比較簡單,主要是對數據庫的查詢操作。以單獨對班次查詢為例,其代碼如下:

’按班次查詢子函數,用于判斷其搜索關鍵字是否有效

Private Sub Chk_team_Click()

    If Chk_team.Value = 1 Then

        Combo_team.Enabled = True

    Else

        Combo_team.Enabled = False

    End If

End Sub

’選擇班次子函數,用于判斷所選班次

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

’班次查詢子函數,獲取查詢字符串

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

’產量查詢函數,用于查詢產量并對其進行顯示

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 當日產量, info_dayoutput as 累計產量,"

    resource_str = resource_str + " info_daytotal as 當日合計產量,info_total as 累計合計產量 "

    resource_str = resource_str + " from " + table_str + sch_str

    Adodc1.RecordSource = resource_str

    Debug.Print Adodc1.RecordSource

    Adodc1.Refresh

End Sub

    可根據以上單獨查詢班次的例子對其進行擴展,增加根據時間,車號,產量范圍等對產量進行查詢的功能,這里就不一一敘述了。

四、結束語

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

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

主站蜘蛛池模板: 国产日韩欧美另类 | 国产91在线播放 | 亚洲精品一区二区久 | 国产又爽又大又黄a片 | 国产sm调教视频在线观看 | 亚洲国产午夜精品理论片 | 成人免费视频网站www | 91视频免费观看高清观看完整 | 一区二区在线 大桥未久播放 | 亚洲精品国产成人无码区a片 | 国产精品日韩欧美 | 欧美成人精品三级网站 | 男人不识此网站 | 一道久久爱综合久久爱 | 无码中文字幕va精品影院 | 国产成人无码a区视频在线观看 | 女人与公拘交酡全过程 | 欧美日韩乱国产 | 亚欧美日韩香蕉在线播放视频 | 日本一区二区三区不卡在线看 | av片在线观看免费 | 一区二区在线 大桥未久播放 | 色综合天天综合高清网国产在线 | 九九九九热精品视频 | 52综合精品国产二区无码 | 久久久久毛片免费观看 | 九月婷婷人人澡人人爽人人爱 | 羞羞的视频网站 | 手机黄丨片免费看 | 欧美黄色大片免费观看 | 999久久久 | 曰本一级毛片免费 | 特级a欧美做爰片毛片 | 亚洲人成影视 | 欧美乱人伦中文字幕在线不卡 | 久久人爽人人爽人人片av | 九九热在线免费 | 日韩精品一区二区三区四区 | 国产性生交xxxxx免费 | 亚洲天堂一区二区三区 | 免费视频久久看 |