国产精品久久人妻互换毛片,国产av国片偷人妻麻豆,国产精品第12页,国产高清自产拍av在线,潮喷大喷水系列无码久久精品

技術(shù)頻道

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

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

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

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

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

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

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ā)送命令報(bào)文

Private Sub SendFrame ()

Dim Outstring As String

MSCommlOutBufferCount = 0

MSCommlInBufferCount = 0

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

MSCommlOutput = Outstring

End Sub

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

Private Sub ReceiveFrame()

Dim Instring As String

Do

DoEvents

Loop Until MSCommlInBufferCount = 12

InString = MSCommlInpult

End Sub

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