vb.net的通讯组件 VB net

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

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

为木兰等地区用户提供了全套网页设计制作服务,及木兰网站建设行业解决方案。主营业务为网站设计制作、成都网站建设、木兰网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

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和三菱Q系列PLC通信

1.0 通讯组件概述

通讯组件用于PC与可编程控制器(PLC)、智能仪表等进行数据通讯,适用于基于PC高级语言的工业自动化控制系统。组件采用动态链接库文件(*.DLL)的形式,在PC系统的项目工程里引用该组件,调用相应的属性与方法函数,即可快速实现PC与PLC的高效数据交换。

DLL通讯组件无须安装,直接复制到工程文件目录,方便打包安装部署;无须任何配置,直接调用函数,与应用开发无缝衔接;多年工程经验的软件团队开发测试,经过本公司及客户的海量实际工程应用检验,稳定可靠;采用稳定高效的内部协议,无须编写PLC内部程序配合,直接访问PLC的内存,通讯响应快速;内建动态管理的多独立线程连接,同时支持外部应用的多线程结构调用;兼容WINDOWS系统下的所有开发环境,包括各种版本的VB.NET、C#、VC++,以及DEIPHI 、VB、LabView等;支持几乎所有PLC的CPU自带通讯口、通讯扩展模块。

你可以在技成看视频教程,这个案例比较经典,看视频更容易理解。

vb.net的COM组件的编写问题

我想了两种思路,winform没有findControl,只有个this.Controls.Contains("textBox1"),因此除了遍历没办法了。。。

思路1:遍历Controls,具体你自己完善下,

if(this.Controls.Count0)

{

foreach(Control c in this.Controls)

if(c.GetTepy==Tepyof(TextBox))

string str += ((TextBox)c).Text;

}

用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的通讯组件 VB net
转载来于:http://myzitong.com/article/dodpede.html