vb.net以态网通讯,vbnet tcp通讯

谁有VB和OMRON PLC 通信例子啊?能否发个原始代码? 再次特别感谢!

提供一个VB.NET与OMRON以太网通讯的代码,是我项目里面复制出来的:

成都创新互联公司是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信小程序开发,10余年建站对成都玻璃钢雕塑等多个方面,拥有丰富的网站建设经验。

Dim Handle1 As Int32 'PLC的连接句柄

Dim EntLink As Boolean '连接标志

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联接成功! ")

Else

EntLink = False

MsgBox("PLC联接失败: "  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建立联接!")

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建立联接!")

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

如何用vb.net通过以太网使用modulebus协议读写西门子s7-200 smart 能实现吗?

没用过modbus通信写过,但是使用自由通信可以

VB.net带有通信控件,在里面设置波特率、奇偶效验、数据位、COM口

在PLC里做个自由通信就可以

用vb.net实现网络通信

用 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


名称栏目:vb.net以态网通讯,vbnet tcp通讯
本文URL:http://pwwzsj.com/article/hssjhg.html