小视频免费在线观看_夜夜b_男女隐私免费视频_国产一级性生活视频_久久综合入口_精品国内视频

技術頻道

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

  一、引言

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

  二、系統結構與功能

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

  該系統實現了以下功能:

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

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

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

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

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

  三、系統設計

  1)硬件配置

名稱

數量

觸摸屏

7

普通PC

1

轉換模塊RS232—RS485

1

  2)數據采集部分的設計

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

  <1>MODBUS通信協議

  modbus功能碼

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

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

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

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

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

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

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

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

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

  <2>HMI內部地址與MODBUS地址映射表

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)

  <3>mscomm控件

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

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

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

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

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

  <4>HMI與PC的通信及數據采集的設計

  LRC算法函數:

  PublicFunctionLRC(str)

  c=0

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

  Forc=c+1Tol

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

d_lrc=d_lrc+Val("&H"+c_data)

c=c+1

Nextc

Ifd_lrc>&HFFThen

d_lrc=d_lrcMod&H100

EndIf

h_lrc=Hex(&HFF-d_lrc+1)

IfLen(h_lrc)>2Then

h_lrc=Mid(h_lrc,Len(h_lrc)-1,2)

EndIf

LRC=h_lrc

EndFunction

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


PrivateSubTimer1_Timer()

’連接數據庫

DimCONNAsNewADODB.Connection

DimDBStrAsString

DimrsAsNewADODB.Recordset

DBStr="Provider=Microsoft.Jet.

OLEDB.4.0;DataSource="&App.Path&"\data.mdb;PersistSecurityInfo=False"

CONN.OpenDBStr

DimMac_Num’Mac_Num是車號

Mac_Num=Combo_MacNum.List(Combo_MacNum.ListIndex)

Debug.PrintMac_Num

sql="s elect*frommachinewhereMachine_Num=’"+Mac_Num+"’"’獲取車號

rs.Opensql,CONN,1,3

Txt_type.Text=rs.Fields("machine_type").Value’獲取車的類型(是精梳機還是條并聯)

rs.Close

str_type=Mac_Num’

SetCONN=Nothing

DBStr=""

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

IfMSComm1.PortOpen=TrueAndstakeout_flagAndCombo_MacNum.

ListIndex>=0Then

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)’各班累計合計產量

IfTxt_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)’精梳機條速

EndIf

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

Ifstr_state="0001"Then

Cmd_128.Caption="運行中"

EndIf

Ifstr_state="0000"Then

Cmd_128.Caption="停止"

EndIf

EndIf

EndSub

change(inputstr,start1AsInteger,start2AsInteger)用于轉換采集到的數據,其功能是將采集到的產量數據轉換為十進制。其代碼如下:

PublicFunctionchange(inputstr,start1AsInteger,start2AsInteger)

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

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

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

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

Ifstr_input>=-32768Andstr_input<=-1Then’

將轉換成十進制處于-32768~32767的數據轉換為相應的正數

str_input=str_input+65536

EndIf

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

EndFunction

3)信息查詢

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

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

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

PrivateSubChk_team_Click()

IfChk_team.Value=1Then

Combo_team.Enabled=True

Else

Combo_team.Enabled=False

EndIf

EndSub

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

PrivateSubCombo_team_Click()

Dimliner_str

S electCaseCombo_team.ListIndex

Case0

liner_str="甲班"

Case1

liner_str="乙班"

Case2

liner_str="丙班"

Case3

liner_str="丁班"

EndS elect

EndSub

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

PublicFunctionsch_team()

Dimliner_str

Dimsch_str_team

S electCaseCombo_team.ListIndex

Case0

liner_str="甲班"

Case1

liner_str="乙班"

Case2

liner_str="丙班"

Case3

liner_str="丁班"

EndS elect

sch_str_team="info_liner=’"+liner_str+"’"

sch_team=sch_str_team

EndFunction

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

PrivateSubcmd_search_Click()

Dimsch_str

’按班次查詢

IfChk_team.Value=1Then

sch_str="where"+sch_team()

EndIf

’查詢結果顯示

Dimresource_str

resource_str="s electinfo_idas編號,info_mactypeas

機器類型,info_lineras班次,"

resource_str=resource_str+"info_sumoutputas

當日產量,info_dayoutputas累計產量,"

resource_str=resource_str+"info_daytotalas

當日合計產量,info_totalas累計合計產量"

resource_str=resource_str+"from"+table_str+sch_str

Adodc1.RecordSource=resource_str

Debug.PrintAdodc1.RecordSource

Adodc1.Refresh

EndSub

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

四、結束語

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

文章版權歸西部工控xbgk所有,未經許可不得轉載。

主站蜘蛛池模板: 99re国产精品 | 99久久免费看精品国产 | 99精品在线观看视频 | 久久国产一区二区 | 久久免费影院 | 91久久久国产精品 | 免费91麻豆精品国产自产在线观看 | 成人免费视频网址 | 玖玖在线 | 俺去俺来也在线www色官网 | 国产成人精品一区二区三区四区 | 久久99视频| 久久精品一区 | 成人精品高清 | 中文字幕不卡在线 | 99re这里只有精品在线视频 | 色婷婷综合成人 | 久久99久久99| 亚洲视频在线一区二区 | 成人久久久久久 | 一区二区免费看 | 91免费版在线 | 99精品视频免费在线观看 | 成人a在线 | 一区精 | 自拍偷拍欧美日韩 | 亚洲成av人片一区二区 | 99男女国产精品免费视频 | 一区二区自拍 | 亚洲色图综合 | 日韩精品视频一区二区三区 | 久久99精品久久久久久噜噜 | 五月激情综合网 | 久久久久久精 | 亚洲一区二区三区中文字幕 | www.欧美| 色中文字幕在线 | 日韩久| 国产精品一区二区在线看 | 91久久久久久久久 | 欧美午夜一区二区三区免费大片 |