久久精品人妻一区二区蜜桃-欧美精品人妻一区二区免费视频-久久精品免费一区二区喷潮-久久精品中文闷骚内射-精品bbw-精品久久无码中文字幕-小小水蜜桃3视频高清在线观看-日韩免费一级aaa片毛太久-欧美激情肉欲高潮无码鲁大师-欧美影片一区二区三区-亚洲精品无码av无码专区一本,波多野吉衣一区二区三区在线观看,囯精品人妻无码一区二区三区99,包哟哟在线观看免费观看

產(chǎn)品分類(lèi)

當(dāng)前位置: 首頁(yè) > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > 工業(yè)觸摸屏

類(lèi)型分類(lèi):
科普知識(shí)
數(shù)據(jù)分類(lèi):
工業(yè)觸摸屏

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

發(fā)布日期:2022-10-09 點(diǎn)擊率:70 品牌:臺(tái)達(dá)_Delta

一、引言

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

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

    精梳機(jī)是近年來(lái)在紡織行業(yè)使用較為普遍的一種設(shè)備,其主要作用是排出梳棉生條中一定長(zhǎng)度以下的短纖維,提高纖維整齊度,進(jìn)一步清除纖維中殘留的棉結(jié)、雜質(zhì),提高纖維光潔度。條并卷聯(lián)合機(jī)是精梳工序的準(zhǔn)備設(shè)備,通常情況下,一套精梳設(shè)備由一臺(tái)條并卷聯(lián)合機(jī)和五臺(tái)精梳機(jī)組成。該產(chǎn)量監(jiān)控查詢系統(tǒng)應(yīng)用于精梳設(shè)備的結(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)量,車(chē)號(hào)進(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)硬件配置


名稱(chēng)

數(shù)量

觸摸屏

7

普通PC機(jī)

1

轉(zhuǎn)換模塊RS232—RS485

1


 

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

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

modbus功能碼

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

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

03:讀取保持寄存器  在一個(gè)或多個(gè)保持寄存器中取得當(dāng)前的二進(jìn)制值

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

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

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

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

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

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


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

配方編號(hào)寄存器

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)


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

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

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

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

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

LRC算法函數(shù):

Public Function LRC(str)

    c = 0

    l = Len(str) ’求出str的長(zhǎng)度賦值給l

        For c = c + 1 To l

    c_data = Mid$(str, c, 2) ’在str串中,從c的值開(kāi)始取2個(gè)字符。

    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

下面對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,數(shù)據(jù)采集程序界面如下圖所示:
 

 

Private Sub Timer1_Timer()

    ’連接數(shù)據(jù)庫(kù)

    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是車(chē)號(hào)

    Mac_Num = Combo_MacNum.List(Combo_MacNum.ListIndex)

    Debug.Print Mac_Num

    sql = "select * from machine where Machine_Num = ’" + Mac_Num + "’"   ’獲取車(chē)號(hào)

    rs.Open sql, CONN, 1, 3

    Txt_type.Text = rs.Fields("machine_type").Value   ’獲取車(chē)的類(lèi)型(是精梳機(jī)還是條并聯(lián))

    rs.Close

    str_type = Mac_Num  ’

    Set CONN = Nothing

    DBStr = ""

    ’發(fā)送數(shù)據(jù)(根據(jù)所選車(chē)號(hào)發(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)前長(zhǎ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)信息查詢

    信息查詢界面如下所示,可對(duì)已經(jīng)保存的生產(chǎn)數(shù)據(jù)根據(jù)時(shí)間、班次、產(chǎn)量、車(chē)號(hào)進(jìn)行綜合查詢。
 

 

    該功能的程序方面比較簡(jiǎn)單,主要是對(duì)數(shù)據(jù)庫(kù)的查詢操作。以單獨(dú)對(duì)班次查詢?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)量并對(duì)其進(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 編號(hào),info_mactype as 機(jī)器類(lèi)型 ,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ú)查詢班次的例子對(duì)其進(jìn)行擴(kuò)展,增加根據(jù)時(shí)間,車(chē)號(hào),產(chǎn)量范圍等對(duì)產(chǎn)量進(jìn)行查詢的功能,這里就不一一敘述了。

四、結(jié)束語(yǔ)

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

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

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