時(shí)間:2007-09-28 12:10:00來源:mahaiyan


圖2 IP報(bào)文包的格式[/align]
IP地址的類型共有4種(如圖3所示):A類用于處理超大型網(wǎng)絡(luò),最多16387064個(gè)主機(jī)(1~126);B類網(wǎng)絡(luò)最多可有64516個(gè)主機(jī)(網(wǎng)絡(luò)地址的第一段為128~191);C類用于小型網(wǎng)絡(luò),最多可有254個(gè)主機(jī)(網(wǎng)絡(luò)地址的第一段為192~223);D類用于多點(diǎn)播送,用于多目的信息的傳輸。全零(“0.0.0.0”)地址對應(yīng)于當(dāng)前主機(jī),全1地址(“255.255.255.255”)是當(dāng)前子網(wǎng)的廣播地址。
TCP是基于傳輸層的協(xié)議,協(xié)議文件可從RFC793得到,使用廣泛,面向連接的可靠協(xié)議。它能把報(bào)文分解為數(shù)段,在目的站再重新裝配這些段,支持重新發(fā)送未被收到的段,提供兩臺設(shè)備間的全雙工連接,允許它們高效地交換大量數(shù)據(jù)。TCP使用滑動窗口協(xié)議來高效使用網(wǎng)絡(luò)。由于TCP很少干預(yù)底層投遞系統(tǒng)的工作,它適應(yīng)各種投遞系統(tǒng),且提供流量控制,能使各種不同速率的系統(tǒng)進(jìn)行通信。報(bào)文段是TCP所使用的基本傳輸單元,用于傳輸數(shù)據(jù)或控制信息。
3、MODBUS數(shù)據(jù)幀格式
在TCP/IP以太網(wǎng)上傳輸,支持Ethernet II和802.3兩種幀格式。圖3所示,Modbus TCP數(shù)據(jù)幀包含報(bào)文頭、功能代碼和數(shù)據(jù)3部分。

表2 Modbus常用公共代碼功能[/align]
4.2功能代碼劃分:按應(yīng)用深淺,可分為3個(gè)類別。
(1)類別0,對于客戶機(jī)/服務(wù)器最小的可用子集:讀多個(gè)保持寄存器(fc.3);寫多個(gè)保持寄存器(fc.16)。
(2)類別1,可實(shí)現(xiàn)基本互易操作的常用代碼:讀線圈(fc.1);讀開關(guān)量輸入(fc.2);讀輸入寄存器(fc.4);寫線圈(fc.5);寫單一寄存器(fc.6)。
(3)類別2,用于人機(jī)界面、監(jiān)控系統(tǒng)的例行操作和數(shù)
據(jù)傳送功能:
(4)強(qiáng)制多個(gè)線圈(fc.15);讀通用寄存器(fc.20);寫通用寄存器(fc.21);屏蔽寫寄存器(fc.22);讀寫寄存器(fc.23)。
5、VB的基本概念
VB(Visual Basic)是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,用它來開發(fā)Windows操作系統(tǒng)下的應(yīng)用程序,它提供了很多接口成員,對象、屬性、事件、方法就是4個(gè)重要的接口,VB提供了許多常用的控件。
5.1卷標(biāo)控件
卷標(biāo)控件如圖4(a)所示,該控件專用于顯示文字、數(shù)字用,顯示如圖4(b)所示。




圖8 監(jiān)控程序界面圖[/align]
在界面中用按鈕控制Y0的ON/OFF及D100、D200數(shù)據(jù)的寫與讀;用shape組件做指示燈,指示Y0的ON/OFF狀態(tài);用Winsock控件實(shí)現(xiàn)PLC與VB的通信。
(1)實(shí)現(xiàn)功能的代碼構(gòu)成
(2)建立網(wǎng)絡(luò)連接
Private Sub Command1_Click()
Winsock1.Close
Winsock1.Connect Text1, 502
Label2.Caption = "Version: 1.0 : " + Format(Now, "mmm dd yyyy Hh:Nn:Ss")
Command1.Enabled = False
Command1.Enabled = False
Text1.Enabled = False
End Sub
(3)、Y0的ON/OFF控制
Private Sub Comd_send_Click()
On Error GoTo ErrProc
Dim sendstr(14) As Byte
sendstr(0) = &H0 ‘交換識別號高字節(jié),通常為0
sendstr(1) = &H0 ‘交換識別號低字節(jié),通常為0
sendstr(2) = &H0 ‘協(xié)議識別號高字節(jié),為 0
sendstr(3) = &H0 ‘協(xié)議識別號低字節(jié),為 0
sendstr(4) = &H0 ‘字節(jié)長度高字節(jié)
sendstr(5) = &H9 ‘以下字節(jié)長度低字節(jié)
sendstr(6) = &HFF ‘單元識別號,確省為 255
sendstr(7) = &H5 ‘寫一個(gè)線圈命令代碼
sendstr(8) = &H0 ‘寫線圈的起始地址高字節(jié)
sendstr(9) = &H1‘寫線圈的起始地址低字節(jié)
sendstr(10) = a ‘=FF打開線圈,=00關(guān)閉線圈
sendstr(11) = &H0 ‘
Dim aStr As String
Dim i, j As Integer
For i = 0 To 11
aStr = aStr & Chr(sendstr(i))
Next
Winsock1.SendData aStr
Exit Sub
ErrProc:
MsgBox "傳輸數(shù)據(jù)失敗", vbCritical, "網(wǎng)絡(luò)傳輸"
End Sub
(4)線圈狀態(tài)顯示及寄存器讀出數(shù)據(jù)顯示
Private Sub winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strdata() As Byte
Dim i, j As Integer
Dim s As String
Dim s1 As String
Dim IO As Byte
i = Winsock1.BytesReceived
ReDim strdata(i)
Winsock1.GetData strdata, vbByte, i
For j = 0 To i - 1
s = s + Hex(strdata(j))
Next
If s Like "*5*" Then
s1 = Mid(s, 12, 2)
If s1 = "FF" Then
IO = 1
a = &H0
Else
IO = 0
a = &HFF
End If
If IO = 1 Then
Shape1.FillColor = RGB(0, 255, 0) ‘green
Labl3.Caption = "IO點(diǎn)接通"
Else
Shape1.FillColor = RGB(255, 0, 0) ‘red
Labl3.Caption = "IO點(diǎn)斷開"
End If
End If If s Like "*3*" Then
Text3.Text = Text3.Text + Mid(s, 11) + ""
End If
(5)、讀多個(gè)寄存器數(shù)據(jù)
End Sub Private Sub Command4_Click()
On Error GoTo ErrProc
Dim str(12) As Byte
str(0) = &H0 ‘交換識別號高字節(jié),通常為 0
str(1) = &H0 ‘交換識別號低字節(jié),通常為 0
str(2) = &H0 ‘協(xié)議識別號高字節(jié),為 0
str(3) = &H0 ‘協(xié)議識別號低字節(jié),為 0
str(4) = &H0 ‘字節(jié)長度高字節(jié)
str(5) = &H6 ‘以下字節(jié)長度低字節(jié)
str(6) = &HFF ‘單元識別號,確省為 255
str(7) = &H3 ‘讀多個(gè)寄存器命令代碼
str(8) = &H10 ‘讀數(shù)據(jù)的起始地址高字節(jié)
str(9) = &HC8 ‘讀數(shù)據(jù)的起始地址低字節(jié)
str(10) = &H0 ‘?dāng)?shù)據(jù)長度高字節(jié)
str(11) = &H1 ‘?dāng)?shù)據(jù)長度低字節(jié)
Dim bStr As String
Dim i As Integer
For i = 0 To 11
bStr = bStr & Chr(str(i))
Next
Winsock1.SendData bStr
Exit Sub
ErrProc:
MsgBox "傳輸數(shù)據(jù)失敗", vbCritical, "網(wǎng)絡(luò)傳輸"
End Sub
D100寄存器的寫入操作類似,由于篇幅所限其他代碼在此就不再贅述。
9.結(jié)速語
工業(yè)以太網(wǎng)是工業(yè)自動化網(wǎng)絡(luò)發(fā)展的必然趨勢,為了對工業(yè)設(shè)備進(jìn)行實(shí)時(shí)的管理與監(jiān)控,工業(yè)以太網(wǎng)設(shè)備大多都支持遠(yuǎn)程管理,而且各廠商業(yè)都有各自的網(wǎng)絡(luò)管理軟件以提供對網(wǎng)絡(luò)設(shè)備進(jìn)行友好的圖形化界面操作。管理員還可以通過遠(yuǎn)程telnet或web界面的方式直接對設(shè)備進(jìn)行調(diào)試。完善的兼容性,可靠的穩(wěn)定性,對惡劣環(huán)境的適應(yīng)性,強(qiáng)大的冗余能力和方便的可管理性,是人們越來越多地在網(wǎng)絡(luò)設(shè)計(jì)過程中采用工業(yè)以太網(wǎng)的原因,而這也勢必成為工業(yè)以太網(wǎng)在越來越多的網(wǎng)絡(luò)環(huán)境里大顯身手的重要契機(jī)。借臺達(dá)即將推出以太網(wǎng)模塊之際撰寫此文,希望能夠?yàn)槠湟蕴W(wǎng)模塊的推廣提供一些幫助。由于本人水平有限本文編寫難免會有錯(cuò)漏之處,也請讀者給予批評指正。
標(biāo)簽:
傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(m.y3602.cn)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價(jià)比王者」NK290M普及型數(shù)控...
2025-10-09
2025-09-23
2025-09-23