產(chǎn)品分類

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

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

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

      發(fā)布日期:2022-10-09 點(diǎn)擊率:51 品牌:臺(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)硬件配置


      名稱

      數(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ē)的類型(是精梳機(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ī)器類型 ,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

      主站蜘蛛池模板: 国产亚洲无线码一区二区| 国产婷婷一区二区三区| 激情内射亚洲一区二区三区| 精品国产香蕉伊思人在线在线亚洲一区二区 | 制服美女视频一区| 亚洲AV无码一区二区二三区软件| 午夜DV内射一区二区| 无码人妻AⅤ一区二区三区水密桃 无码欧精品亚洲日韩一区夜夜嗨 无码毛片一区二区三区中文字幕 无码毛片一区二区三区视频免费播放 | 国产午夜精品一区理论片飘花 | 中文字幕亚洲一区二区三区| 精品一区二区三区视频| 欧美日韩精品一区二区在线视频| 色狠狠色噜噜Av天堂一区| 国产精品资源一区二区| 无码人妻一区二区三区在线水卜樱 | 亚洲啪啪综合AV一区| 精品一区二区久久久久久久网站| 丰满爆乳一区二区三区| 夜夜添无码一区二区三区| 中文字幕av人妻少妇一区二区| 内射白浆一区二区在线观看| 亚洲国产综合精品中文第一区| 3d动漫精品啪啪一区二区中文| 福利一区在线视频| 无码人妻品一区二区三区精99 | 日韩电影一区二区| 国产在线第一区二区三区| 一区二区三区伦理高清| 精品无码一区二区三区亚洲桃色| 亚洲无码一区二区三区| 红杏亚洲影院一区二区三区| 国产日韩一区二区三区在线播放| 国产精品一区二区三区免费| 精品无码一区在线观看| 成人无码AV一区二区| 国产一区二区三区在线免费观看 | 国产精品毛片一区二区| 在线免费一区二区| 日日摸夜夜添一区| 少妇激情av一区二区| 午夜福利一区二区三区高清视频|