提供一個(gè)VB.NET與OMRON以太網(wǎng)通訊的代碼,是我項(xiàng)目里面復(fù)制出來的:
成都創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),微信小程序開發(fā),10余年建站對(duì)成都玻璃鋼雕塑等多個(gè)方面,擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)。
Dim?Handle1?As?Int32?'PLC的連接句柄
Dim?EntLink?As?Boolean?'連接標(biāo)志
Dim?PLC?As?New?FinsTcp.PlcClient?'引用OMRON的通訊組件
Private?Sub?butLink_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butLink.Click
Dim?re?As?Short
Dim?restr?As?String?=?""
re?=?PLC.EntLink(Trim(txtLocalIP.Text),?Val(txtLocalPort.Text),?Trim(txtRemoteIP.Text),?Val(txtRemotePort.Text),?"DEMO",?Handle1)
txtReLink.Text?=?re.ToString
If?re?=?0?Then
EntLink?=?True
MsgBox("PLC聯(lián)接成功!?")
Else
EntLink?=?False
MsgBox("PLC聯(lián)接失敗:?"??restr)
End?If
End?Sub
Private?Sub?butClose_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butClose.Click
Dim?re?As?Short
EntLink?=?False
re?=?PLC.DeLink(Handle1)
txtReClose.Text?=?re.ToString
End?Sub
Private?Sub?butRead_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butRead.Click
Dim?re?As?Short
Dim?i?As?Short
Dim?RD()?As?Object
ReDim?RD(Val(txtReadCnt.Text?-?1))
If?Not?EntLink?Then
MsgBox("還未與PLC建立聯(lián)接!")
Exit?Sub
End?If
Dim?mry?As?FinsTcp.PlcClient.PlcMemory?=?cmbReadMry.SelectedIndex?+?1
Dim?typ?As?FinsTcp.PlcClient.DataType?=?cmbReadType.SelectedIndex?+?1
re?=?PLC.CmdRead(Handle1,?mry,?typ,?CUShort(Val(txtReadAdd.Text)),?CUShort(Val(txtReadCnt.Text)),?RD)
txtReRead.Text?=?re.ToString
lstRead.Items.Clear()
For?i?=?0?To?UBound(RD)?Step?1
If?Not?IsNothing(RD(i))?Then?lstRead.Items.Add(RD(i))
Next?i
If?re??0?Then
Timer1.Enabled?=?False
butScan.Text?=?"Cycle?R/W"
End?If
End?Sub
Private?Sub?butWrite_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butWrite.Click
Dim?re?As?Short
Dim?i?As?Short
Dim?temp()?As?String
Dim?WD()?As?Object
If?Not?EntLink?Then
MsgBox("還未與PLC建立聯(lián)接!")
Exit?Sub
End?If
ReDim?WD(Val(txtWriteCnt.Text)?-?1)
temp?=?Split(txtWrite.Text,?vbCrLf)
For?i?=?0?To?UBound(WD)?Step?1
If?i??UBound(temp)?Then
WD(i)?=?0
Else
WD(i)?=?Trim(temp(i))
End?If
Next?i
Dim?mry?As?FinsTcp.PlcClient.PlcMemory?=?cmbWriteMry.SelectedIndex?+?1
Dim?typ?As?FinsTcp.PlcClient.DataType?=?cmbWriteType.SelectedIndex?+?1
re?=?PLC.CmdWrite(Handle1,?mry,?typ,?CUShort(Val(txtWriteAdd.Text)),?CUShort(Val(txtWriteCnt.Text)),?WD)
txtReWrite.Text?=?re.ToString
If?re??0?Then
Timer1.Enabled?=?False
butScan.Text?=?"Cycle?R/W"
End?If
End?Sub
沒用過modbus通信寫過,但是使用自由通信可以
VB.net帶有通信控件,在里面設(shè)置波特率、奇偶效驗(yàn)、數(shù)據(jù)位、COM口
在PLC里做個(gè)自由通信就可以
用 vb.net socket通信
Dim th As Threading.Thread
2 Dim tcpl As System.Net.Sockets.TcpListener
3
4 Private Sub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
5 th = New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf MyListen))
6 th.Start()
7 End Sub
8
9 Public Sub SendMessage()Sub SendMessage(ByVal IP As String, ByVal SendMsg As String)
10 Try
11 If IP "" Then
12 Dim tcpc As New System.Net.Sockets.TcpClient(IP, 5656)
13 Dim tcpStream As Net.Sockets.NetworkStream = tcpc.GetStream
14 Dim reqStream As New IO.StreamWriter(tcpStream)
15 reqStream.Write(SendMsg)
16 reqStream.Flush()
17 tcpStream.Close()
18 tcpc.Close()
19 End If
20 Catch ex As Exception
21 MsgBox(ex.Message.ToString)
22 End Try
23 End Sub
24 Private Sub MyListen()Sub MyListen()
25 Try
26 Dim ipAddress As System.Net.IPAddress = System.Net.Dns.Resolve(System.Net.Dns.GetHostName).AddressList(0)
27 tcpl = New System.Net.Sockets.TcpListener(ipAddress, 5656)
28 tcpl.Start()
29 While True
30 Dim s As System.Net.Sockets.Socket = tcpl.AcceptSocket()
31 Dim MyBuffer(1024) As Byte
32 Dim i As Integer
33 i = s.Receive(MyBuffer)
34 If i 0 Then
35 Dim lstrRec As String
36 Dim j As Integer
37 For j = 0 To i - 1
38 TextBox1.Text += Chr(MyBuffer(j)) ","
39 Next
40 End If
41 End While
42 Catch ex As Exception
43 MsgBox(ex.Message.ToString)
44 End Try
45 End Sub
46
47 Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
48 SendMessage("192.168.0.61", TextBox2.Text)
49 End Sub
本文標(biāo)題:vb.net以態(tài)網(wǎng)通訊,vbnet tcp通訊
網(wǎng)站路徑:http://vcdvsql.cn/article46/hssjhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)