<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產品分類

      當前位置: 首頁 > 行業動態

      VB與臺達觸摸屏通信的實現

      發布日期:2022-07-14 點擊率:48

      " style="display: block;"> 中達電通PLC產品處王乃全

      摘要:本文重點討論MODBUSASCII通信協議及通過VB如何實現與臺達觸摸屏的通信。對于VisualBasic6編程語言亦有簡要的介紹。

      關鍵詞:VisualBasicMODBUSASCIIHMI

      1引言

      在自動化工程集成中經常遇到VB與觸摸屏通信問題。對于不同的MODBUS通信協議觸摸屏產品,無論是通信協議和VB中的編程原理都是一樣的,所不同的僅是MODBUS在PLC和HMI中的地址映射不一樣。為了集中解決這個問題,本文以臺達觸摸屏通訊案例為背景,采用了一個比較簡單的實例描述如何建立雙方的通信,不涉及到更為復雜的VB與HMI的操作和編程技巧。

      2串行通信基本概念

      2.1通信的種類

      通常通信的形式可以分為兩種,并行通信(ParallelCommunication)和串行通信(SerialCommunication)。所謂并行,既是一次傳輸量為8位;而串行一次只傳1位。這兩種不同的通信模式如圖1所示。

      VB與臺達觸摸屏通信的實現 - 1

      圖1兩種不同的通信模式

      2.2 串行通信

      常用的串行通信也有兩種,分別位RS-232和RS-485。

      (1)RS-232通訊。RS-232的信號準位乃是參考地線而來的,如圖2所示,傳輸端參考接地端1來傳送數據;接收端則參考接地端2還原出傳送端的信號準備。

      VB與臺達觸摸屏通信的實現 - 2

      圖2RS-232通訊

      由圖2可知,由于兩個接地端準位不一定一樣,而且很容易受到干擾,所以信號在RS-232線路傳輸時,很容易產生錯誤。

      (2)RS-485通訊。RS-485的信號傳輸方式如圖3所示。

      VB與臺達觸摸屏通信的實現 - 3

      圖3RS-485通訊

      RS-485的信號將被傳送出去時會分成正負兩條線路,當到達接收端后,在將信號相減還原成原來的信號;如果將原始的信號表示成(DT),而被分成的信號分別標示成(D+)及(D-),則DT=(D+)-(D-)

      同樣地,接收端在接收到信號后,也依據上式還原成原來的樣子。如果線路受到干擾,兩條線路的信號分別為(D+)+Noise(D-)+Noise。接收端還原信號為

      (DT)=[(D+)+Noise]-[(D-)+Noise]

      與先前結果一樣,所以RS-485可以有效的防止噪聲的干擾。

      3VisualBasic控件

      VB是微軟的窗口軟件,提供了很多接口成員。對象、屬性、事件、方法就是四個重要的接口。

      3.1卷標控件

      此控件專用于顯示文字,數字用,顯示如圖4所示。

      VB與臺達觸摸屏通信的實現 - 4

      3.2按鈕控件

      此控件使用率很高,提供一個供系統用戶操作用的按鈕,如圖5所示。

      VB與臺達觸摸屏通信的實現 - 5

      3.3定時器控件

      此控件的最大作用在于固定的時間內會執行所設置的程序代碼一次,如圖6所示。VB還提供了大量的控件,在此不一一敘述。

      VB與臺達觸摸屏通信的實現 - 6
      圖6定時器控件

      控件

      要完成VB與PLC等串行設備的通信,MScomm控件是一個很好用的控件。所以在此有必要對MScomm控件做一個較為詳細的說明。MScomm非標準控件,要手動添加,步驟如下:選擇菜單的【工程】;選擇【部件】;在彈出的對話框中做如圖選擇,在部件選項卡就會出現MScomm控件,如圖7所示。MScomm控件基本屬性如圖8所示。

      VB與臺達觸摸屏通信的實現 - 7

      VB與臺達觸摸屏通信的實現 - 8

      4MODBUSASCII通訊協議(案例)

      Modbus總線通訊協議分為ASCII和RTU兩種。ASCII采用的格式和校驗相對簡單,本文采用ASCII格式,并僅對使用的功能碼進行說明,更多的信息,請參看協議的詳細說明。

      4.1通信格式

      VB與臺達觸摸屏通信的實現 - 9

      4.2 LRC算法

      ADRH+CMDH+DATAH,然后取2的補碼

      4.3功能碼

      VB與臺達觸摸屏通信的實現 - 10

      5VB與臺達HMI通信的實現(案例)

      5.1控制要求

      (1)PC能控制HMI中某個位地址的啟動、停止。

      (2)在HMI上對某個內部寄存器進行數值修改操作,在PC上能同步顯示。

      5.2設計思路

      (1)PC控制的內部地址為$2000.0,查看映射表,知道為MODBUS地址為B00001。在PC上按功能碼05操作。

      (2)HMI上寫入的寄存器地址為$0,查看映射表,知道為MODBUS地址為W40001。在PC上按功能碼03操作。

      HMI內部地址與MODBUS地址映射表

      VB與臺達觸摸屏通信的實現 - 11

      用按鈕控制$2000.0的啟動停止;

      用timer組件不停的讀取$0的顯示值(十六進制顯示,可以轉換為十進制);

      用MScomm控件實現PC與PLC的通信。

      5.4代碼構成

      (1)LRC算法校驗的實現:

      PublicFunctionLRC(strAsString)AsString

      c=0

      l=Len(str)

      Forc=c+1Tol

      c_data=Mid$(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

      (2)讀取$0,也就是W40001數值:

      PrivateSubTimer1_Timer()

      =":"+"010300000001"+LRC("010300000001")+Chr$(13)+Chr$(10)

      '=":"+"00050500FF00"+LRC("00050500FF00")+Chr$(13)+Chr$(10)

      inputstring=

      =Mid(inputstring,8,4)

      EndSub

      (3)控制$:

      PrivateSubCommand1_Click()

      =":"+"00050000FF00"+LRC("00050000FF00")+Chr$(13)+Chr$(10)

      EndSub

      (4)控制$:

      PrivateSubCommand2_Click()

      =":"+"000500000000"+LRC("000500000000")+Chr$(13)+Chr$(10)

      EndSub

      (5)HMI中的程序與設置如圖9所示(要注意【人機站號】與【控制器】的設置):

      VB與臺達觸摸屏通信的實現 - 12

      6結束語

      VB語言使用的簡易為眾多工程技術人員與串行設備的通信提供了很大的方便。

      臺達觸摸屏采用標準的MODBUS協議,這一協議目前廣為流行,為大家所熟知,也為大家最終實現通信提供了簡化的平臺。由于臺達所有的機電產品都支持MODBUS協議,所以,掌握了VB與觸摸屏通信過程,也就等于掌握了PC與臺達所有機電產品的通信。

      參考文獻

      [1]VB與RS-232通信實例.

      [2]VB6從入門到精通.

      [3]DOP系列人機界面應用技術手冊.

      [4]DVP-Protocal.

      2007-3-15


      下一篇: 聯網方式成為家庭聯網

      上一篇: ABB與Ebara公司簽定30

      主站蜘蛛池模板: 亚洲国产综合久久天堂| 伊人色综合久久88加勒| 色综合色综合色综合色综合网| 亚洲综合无码精品一区二区三区| 色综合久久无码五十路人妻| 天天综合天天综合| 婷婷综合缴情亚洲狠狠尤物 | 色先锋资源久久综合5566| 一本一本久久a久久精品综合麻豆 一本色道久久综合狠狠躁篇 | 亚洲国产综合AV在线观看| 狠狠色噜噜狠狠狠狠色综合久AV| 亚洲国产综合第一精品小说| 国产亚洲综合视频| 狠狠色丁香婷婷久久综合五月| 国产综合一区二区| 亚洲综合最新无码专区| 色综合久久中文字幕| 91综合久久婷婷久久| 国产婷婷色综合AV蜜臀AV| 丁香六月婷婷综合| 婷婷久久香蕉五月综合| 久久综合AV免费观看| 91精品国产综合久久四虎久久无码一级 | 色综合天天综一个色天天综合网| 一本久道久久综合狠狠爱| 五月天婷五月天综合网在线 | 国产综合成人久久大片91| 色婷婷综合缴情综免费观看| 国产色产综合色产在线观看视频 | 亚洲国产成人五月综合网| 色777狠狠狠综合| 久久婷婷五夜综合色频| 亚洲综合无码一区二区三区| 亚洲国产综合人成综合网站00| 国产亚洲Av综合人人澡精品| 色综合久久天天综合绕观看| 亚洲欧美日韩综合俺去了| 一本色道久久88综合亚洲精品高清| 国产成人综合久久精品免费| 色老头综合免费视频| 狠狠色狠狠色综合日日不卡|