技術(shù)頻道

      利用VB的MSComm控件編程實現(xiàn)PC與三菱PLC FX系列通信

      編寫PC的通信程序可采用匯編語言編寫,或采用各種高級語言編寫,或采用工控組態(tài)軟件,或直接采用PLC廠家的通信軟件(如三菱的MELSE MEDOC等)

      下面利用VB6.0以一個簡單的例子來說明編寫通信程序的要點。假設(shè)PC要求從PLC中讀入從D123開始的4個字節(jié)的數(shù)據(jù)(D123D124),其傳輸應(yīng)答過程及報文如圖7-16所示。

      7-16 傳輸應(yīng)答過程及命令報文

      命令報文中10F6HD123的地址,04H表示要讀入4個字節(jié)的數(shù)據(jù)。校驗和SUM30H31H30H46H36H30H34H03 H174H,溢出部分不計,故SUMH=7SUAIL=4,相應(yīng)的ASC碼為“37H”,“34H”。應(yīng)答報文中4個字節(jié)的十六進(jìn)制數(shù),其相應(yīng)的ASC碼為8個字節(jié),故應(yīng)答報文長度為12個字節(jié)。

      根據(jù)PCFX系列PLC的傳輸應(yīng)答過程,利用VBMSComm控件可以編寫如下通信程序?qū)崿F(xiàn)PCFX系列PLC之間的串行通信,以完成數(shù)據(jù)的讀取。MSComm控件可以采用輪詢或事件驅(qū)動的方法從端口獲取數(shù)據(jù)。在這個例子中使用了輪詢方法。

      1)通信口初始化

      Private Sub Initialize()

      MSComm1CommPort =1

      MSComm1Settings = “9600,E,7,1”

      MSComm1InBufferSize = 1024

      MSCommlOutBuffersize = 1024

      MSComm1InputLen = 0

      MSCommlInputMode = comInputText

      MSComm1Handshaking = comNone

      MSComm1PortOpen = True

      End Sub

      2)請求通信與確認(rèn)

      Private Function MakeHandshaking()As Boolean

      Dim InPackage As String

      MSCommlOutBufferCount = 0

      MSCommlInBufferCount = 0

      MSCommlOutPut = Chr(&H5

      Do

      DoEvents

      Loop Until MSCommlInBufferCount = 1

      InPackage = MSCommlInput

      If InPackage = Chr(&H6 Then

      MakeHandShaking = True

      Else

      MakeHandshaking = False

      End If

      End Function

      3)發(fā)送命令報文

      Private Sub SendFrame ()

      Dim Outstring As String

      MSCommlOutBufferCount = 0

      MSCommlInBufferCount = 0

      Outstrin = Chr(&H2)+on10F604Chr(&H3)+74

      MSCommlOutput = Outstring

      End Sub

      4)讀取應(yīng)答報文

      Private Sub ReceiveFrame()

      Dim Instring As String

      Do

      DoEvents

      Loop Until MSCommlInBufferCount = 12

      InString = MSCommlInpult

      End Sub

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 日韩制服国产精品一区| 国产色精品vr一区区三区 | 中文字幕一区一区三区| 日韩精品一区在线| 亚洲综合一区二区国产精品| 日韩精品午夜视频一区二区三区| 亚洲国产美国国产综合一区二区| 日本视频一区二区三区| 久久久久人妻精品一区三寸| 色欲精品国产一区二区三区AV| 日韩人妻无码一区二区三区| 高清一区二区在线观看| 日韩高清一区二区三区不卡| 日本一区二区三区爆乳| 精品国产乱子伦一区二区三区| 人妻无码一区二区不卡无码av| 国产自产V一区二区三区C| 香蕉免费看一区二区三区| 一区二区三区在线播放| 一区二区三区无码高清| www一区二区www免费| 国产成人久久精品麻豆一区| 亚州国产AV一区二区三区伊在| 一区二区三区免费在线视频 | 亚洲AV福利天堂一区二区三| 国产精品区AV一区二区| AV天堂午夜精品一区| 一区二区乱子伦在线播放| 亚洲一区二区三区在线观看精品中文| 中文字幕在线一区| 无码一区二区三区| AA区一区二区三无码精片| 怡红院一区二区三区| 无码精品人妻一区二区三区影院 | 亚洲中文字幕乱码一区| 日本国产一区二区三区在线观看| 人妻精品无码一区二区三区| 国产精品亚洲一区二区三区在线观看| 国产av一区二区精品久久凹凸| 天天爽夜夜爽人人爽一区二区| 国产福利视频一区二区|