VB與臺(tái)達(dá)觸摸屏通信的實(shí)現(xiàn)_第1頁(yè)
VB與臺(tái)達(dá)觸摸屏通信的實(shí)現(xiàn)_第2頁(yè)
VB與臺(tái)達(dá)觸摸屏通信的實(shí)現(xiàn)_第3頁(yè)
VB與臺(tái)達(dá)觸摸屏通信的實(shí)現(xiàn)_第4頁(yè)
VB與臺(tái)達(dá)觸摸屏通信的實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘要: 本文重點(diǎn)討論modbus ascii通信協(xié)議及通過(guò)vb 如何實(shí)現(xiàn)與臺(tái)達(dá)觸摸屏的通信。對(duì)于 visual basic6編程語(yǔ)言亦有簡(jiǎn)要的介紹。關(guān)鍵詞: visual basic modbus ascii hmi 1 引言在自動(dòng)化工程集成中經(jīng)常遇到vb 與觸摸屏通信問(wèn)題。對(duì)于不同的modbus通信協(xié)議觸摸屏產(chǎn)品, 無(wú)論是通信協(xié)議和vb 中的編程原理都是一樣的,所不同的僅是modbus 在 plc和 hmi 中的地址映射不一樣。為了集中解決這個(gè)問(wèn)題,本文以臺(tái)達(dá)觸摸屏通訊案例為背景,采用了一個(gè)比較簡(jiǎn)單的實(shí)例描述如何建立雙方的通信,不涉及到更為復(fù)雜的vb 與 hmi 的操作和編程技巧。2 串行通

2、信基本概念2.1 通信的種類通常通信的形式可以分為兩種,并行通信(parallel communication)和串行通信(serial communication)。所謂并行,既是一次傳輸量為8 位;而串行一次只傳1 位。這兩種不同的通信模式如圖1 所示。圖 1 兩種不同的通信模式2.2 串行通信常用的串行通信也有兩種,分別位rs-232 和 rs-485 。(1)rs-232 通訊。 rs-232 的信號(hào)準(zhǔn)位乃是參考地線而來(lái)的,如圖2 所示,傳輸端參考接地端 1 來(lái)傳送數(shù)據(jù);接收端則參考接地端2 還原出傳送端的信號(hào)準(zhǔn)備。圖 2 rs-232 通訊由圖 2 可知,由于兩個(gè)接地端準(zhǔn)位不一定一樣

3、,而且很容易受到干擾,所以信號(hào)在rs-232線路傳輸時(shí),很容易產(chǎn)生錯(cuò)誤。(2)rs-485 通訊。 rs-485 的信號(hào)傳輸方式如圖3 所示。圖 3 rs-485 通訊rs-485 的信號(hào)將被傳送出去時(shí)會(huì)分成正負(fù)兩條線路,當(dāng)?shù)竭_(dá)接收端后,在將信號(hào)相減還原成原來(lái)的信號(hào); 如果將原始的信號(hào)表示成(dt ) , 而被分成的信號(hào)分別標(biāo)示成(d+) 及 (d-) ,則 dt= (d+)-(d-) 同樣地,接收端在接收到信號(hào)后,也依據(jù)上式還原成原來(lái)的樣子。如果線路受到干擾,兩條線路的信號(hào)分別為(d+)+noise ( d-)+noise 。接收端還原信號(hào)為(dt)= (d+)+noise- (d-)+no

4、ise 與先前結(jié)果一樣,所以rs-485 可以有效的防止噪聲的干擾。3 visual basic控件vb 是微軟的窗口軟件,提供了很多接口成員。對(duì)象、屬性、事件、方法就是四個(gè)重要的接口。3.1 卷標(biāo)控件此控件專用于顯示文字,數(shù)字用,顯示如圖4 所示。圖 4 卷標(biāo)控件3.2 按鈕控件此控件使用率很高,提供一個(gè)供系統(tǒng)用戶操作用的按鈕,如圖5 所示。圖 5 按鈕控件3.3 定時(shí)器控件此控件的最大作用在于固定的時(shí)間內(nèi)會(huì)執(zhí)行所設(shè)置的程序代碼一次,如圖6 所示。 vb 還提供了大量的控件,在此不一一敘述。圖 6 定時(shí)器控件3.4 mscomm控件要完成 vb 與 plc 等串行設(shè)備的通信,mscomm控件

5、是一個(gè)很好用的控件。所以在此有必要對(duì) mscomm控件做一個(gè)較為詳細(xì)的說(shuō)明。mscomm非標(biāo)準(zhǔn)控件,要手動(dòng)添加,步驟如下:選擇菜單的【工程】;選擇【部件】;在彈出的對(duì)話框中做如圖選擇,在部件選項(xiàng)卡就會(huì)出現(xiàn) mscomm 控件,如圖7 所示。 mscomm 控件基本屬性如圖8 所示。圖 7 mscomm控件mscomm 控件基本屬性: portopen :通信口是否打開(kāi)input :收到的字符output :發(fā)送的字符圖 8 mscomm控件基本屬性4 modbus ascii通訊協(xié)議(案例)modbus 總線通訊協(xié)議分為 ascii 和 rtu 兩種。 ascii 采用的格式和校驗(yàn)相對(duì)簡(jiǎn)單,本

6、文采用 ascii 格式,并僅對(duì)使用的功能碼進(jìn)行說(shuō)明,更多的信息,請(qǐng)參看協(xié)議的詳細(xì)說(shuō)明。4.1 通信格式4.2 lrc 算法adr h+cmd h+data h,然后取2 的補(bǔ)碼4.3 功能碼5 vb 與臺(tái)達(dá) hmi 通信的實(shí)現(xiàn)(案例)5.1 控制要求(1)pc 能控制 hmi 中某個(gè)位地址的啟動(dòng)、停止。(2)在 hmi 上對(duì)某個(gè)內(nèi)部寄存器進(jìn)行數(shù)值修改操作,在pc 上能同步顯示。5.2 設(shè)計(jì)思路(1)pc 控制的內(nèi)部地址為$2000.0 ,查看映射表,知道為modbus地址為 b00001 。在pc 上按功能碼05 操作。(2)hmi 上寫入的寄存器地址為$0,查看映射表,知道為modbus地

7、址為 w40001 。在pc 上按功能碼03 操作。hmi 內(nèi)部地址與modbus地址映射表5.3 vb 接口的設(shè)計(jì)用按鈕控制 $2000.0 的啟動(dòng)停止;用 timer 組件不停的讀取$0 的顯示值(十六進(jìn)制顯示,可以轉(zhuǎn)換為十進(jìn)制);用 mscomm控件實(shí)現(xiàn)pc 與 plc 的通信。5.4 代碼構(gòu)成(1)lrc 算法校驗(yàn)的實(shí)現(xiàn):public function lrc(str as string) as string c = 0 l = len(str) for c = c + 1 to l c_data = mid$(str, c, 2) d_lrc = d_lrc + val(“&

8、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 (2)讀取 $0, 也就是 w40001 數(shù)值:private sub timer1_timer() msc omm1.output = “: ” + “0103000000

9、01” + lrc( “010300000001”) + chr$(13) + chr$(10)mscomm1.output = “: ” + “00050500ff00” + lrc( “00050500ff00”) + chr$(13) + chr$(10) inputstring = mscomm1.input text1.text = mid(inputstring, 8, 4) end sub (3)控制 $2000.0 on :private sub command1_click() mscomm1.output = “: ” + “00050000ff00” + lrc( “00

10、050000ff00”) + chr$(13) + chr$(10) end sub (4)控制 $2000.0 off :private sub command2_click() mscomm1.output = “: ” + “000500000000” + lrc( “000500000000”) + chr$(13) + chr$(10)end sub (5)hmi 中的程序與設(shè)置如圖9 所示(要注意【人機(jī)站號(hào)】與【控制器】的設(shè)置):圖 9 臺(tái)達(dá) hmi 中的程序與設(shè)置6 結(jié)束語(yǔ)vb 語(yǔ)言使用的簡(jiǎn)易為眾多工程技術(shù)人員與串行設(shè)備的通信提供了很大的方便。臺(tái)達(dá)觸摸屏采用標(biāo)準(zhǔn)的modbus協(xié)議, 這一協(xié)議目前廣為流行,為大家所熟知,也為大家最

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論