工控網(wǎng)首頁
>

應(yīng)用設(shè)計

>

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

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

2015/1/15 16:35:40

       

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

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

 

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

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

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

   1)通信口初始化

    Private Sub Initialize()

    MSComm1.CommPort =1

    MSComm1.Settings = “9600,E,7,1”

    MSComm1.InBufferSize = 1024

    MSComml.OutBuffersize = 1024

    MSComm1.InputLen = 0

    MSComml.InputMode = comInputText

    MSComm1.Handshaking = comNone

    MSComm1.PortOpen = True

    End Sub

    2)請求通信與確認

    Private Function MakeHandshaking()As Boolean

    Dim InPackage As String

    MSComml.OutBufferCount = 0

MSComml.InBufferCount = 0

MSComml.OutPut = Chr(&H5)

Do

DoEvents

Loop Until MSComml.InBufferCount = 1

InPackage = MSComml.Input

If InPackage = Chr(&H6) Then

MakeHandShaking = True

Else

MakeHandshaking = False

End If

End Function

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

Private Sub SendFrame ()

Dim Outstring As String

MSComml.OutBufferCount = 0

MSComml.InBufferCount = 0

Outstrin = Chr(&H2)+″on″+″10F604″+Chr(&H3)+″74″

MSComml.Output = Outstring

End Sub

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

Private Sub ReceiveFrame()

Dim Instring As String

Do

DoEvents

Loop Until MSComml.InBufferCount = 12

InString = MSComml.Inpult

End Sub

投訴建議

提交

查看更多評論
其他資訊

查看更多

2025中歐綠色建筑工業(yè)化論壇9月北京啟幕 全球智慧共推建筑產(chǎn)業(yè)“雙碳”轉(zhuǎn)型

喜訊!華強電子網(wǎng)榮獲“2025年中國產(chǎn)業(yè)互聯(lián)網(wǎng)創(chuàng)新企業(yè)”

深入實施“人工智能+”行動 浪潮軟件集團看好人工智能+工業(yè)質(zhì)檢廣闊前景,持續(xù)布局線纜行業(yè)智能質(zhì)檢

海爾新增2家卓越級智能工廠,總數(shù)品類行業(yè)雙第一

深度剖析格力打破磁懸浮壓縮機國外壟斷,底氣來自對自主創(chuàng)新的堅守!