网站建设资讯

NEWS

网站建设资讯

vb.net上位机教程,vb上位机串口通信

求助高手,怎样用VB写上位机的人机界面

后台做好通讯和数据入库,在窗体界面上关联数据库进行数据显示和查询。为了界面生动,可适当加入一些动画效果。其实VB还是比较适合做上位机界面的。要么就用组态软件,进行二次开发,感觉功能上要受一些限制。

创新互联建站网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、成都网站制作、成都做网站、外贸营销网站建设易于使用并且具有良好的响应性。

VB.NET做上位机 serialport控件问题

要用委托的形式(界面上拖一个txt_Rect文本框)

Delegate Sub SetTextCallback(ByVal InputString As String)

Private Sub ShowString(ByVal comData As String)

txt_Rect.Text += comData   '将收到的数据入接收文字框中

txt_Rect.SelectionStart = txt_Rect.Text.Length

txt_Rect.ScrollToCaret()

End Sub

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

Dim inData As String = SerialPort1.ReadExisting

Dim d As New SetTextCallback(AddressOf ShowString)

BeginInvoke(d, inData)

End Sub

VB实现PLC与上位机通信

可利用OPC服务器来完成,比较方便。可适用于各类PLC。

下面以西门子PLC为例说下实现方法:

一、通过STEP7软件建立一个新项目OPC,在项目中添加SIMATIC 300站和一个PC 站,其中PLC站中第四个槽安装的CP343模块。PC站的第一个槽 为OPC SERVER ,第三个槽为 IE GENERAL,然后在NETPRO下配置PLC和PC站的网络连接:(注意:是在PC站上新建的网络连接,连接类型选的S7连接)

二、通过station configurator软件 配置本机的PC站(要和STEP7中配置的相同),然后把PLC和PC站都下载下去(注意:下载PC站的时候要把S7ONLINE (STEP7)---;PC internal(local))。

三、打开OPC Scout,(Start;SIMATIC;SIMATICNet;OPC Scout), 双击ldquo;OPC

SimaticNetrdquo;在随之弹出的ldquo;ADD Grouprdquo;对话框中输入组名,本例命名为ldquo;OPCrdquo;。

点击OK 确认 ;

;双击已添加的连接组(OPC),即弹出ldquo;OPC Navigatorrdquo;对话框,此窗口中显示

所有的连接协议。双击ldquo;S7rdquo;,在PC Station 组态NetPro 中所建的连接名会被显示(S7

connection_1)。双击此连接,即可出现有可能被访问的对象树(objects tree),在PLC

CPU 中已存在的DB 块也会出现

以上完成的OPC SERVER部分的配置。

四、用VB编写了OPC客户端应用程序。主要程序代码如下:

在VB中引在VB中还要引用 siemens opc daautomation 2.0

(1) 连接OPC服务器

Dim WithEvents MyOPCServer As OPCServer ‘定义服务器对象变量MyOPCServer

Dim WithEvents MyOPCGroup As OPCGroup ‘定义OPC组对象变量MyOPCGroup

Set MyOPCServer = New OPCServer

MyOPCServer.Connect " OPC.SimaticNET" ‘连接SIMATICNET 的OPC服务器

(2) 添加OPC组对象

Set MyOPCGroup=MyOPCServer.OPCGroups.Add("Group1")

‘添加OPC组对象

MyOPCGroup.IsSubscribed= True

‘设置该组数据为后台刷新

MyOPCGroup.IsActive = True

‘设置该组为激活状态

MyOPCGroup.UpdateRate=1000

‘设置数据刷新时间为1000

(3) 添加数据项

Dim abItemIDs() As String

‘项标识符

Dim abClientHandles() As Long

‘客户端句柄

Dim abServerHandles() As Long

‘服务器端句柄

Dim abErrors() As Long

Dim i As Long

ItemCount=3

abItemIDs(1) = " S7:【S7 connection_1】IB1"

abItemIDs(2) = " S7:【S7 connection_1】MB1"

abItemIDs(3) = " S7:【S7 connection_1】QB1"

for i=1 to 3

abClientHandles(i) = i

‘给客户端句柄赋值

Next

MyOPCGroup.OPCItems.AddItems ItemCount, abItemIDs, abClientHandles, abServerHandles, abErrors

‘添加数据项操作

(4) 同步数据读写

OPC数据存取有同步方式和异步方式两种。异步读写数据复杂,需要与事件结合使用,与同步相比速度慢但准确性高。同步读写数据简单,直接使用OPCItem的方法即可。

Dim One As OPCItem

Dim Index As Long

‘Index为标签顺序号

Dim OneRead As String

Dim Xie As String

Set One = MyOPCGroup.OPCItems(Index)

One.Read OPCCache

OneRead = One.Value

‘读数据

MyOPCGroup.SyncWrite ItemCount, ServerHandles, valuess, Errors

‘同步写数据

MyOPCGroup.SyncRead OPCCache, ItemCount, ServerHandles, ReadValue, Errors

‘同步读数据

One.Write (Xie)

‘写数据

若只读取数据,可以使用DataChange事件,当控制器中所要访问的数据一旦发生改变时将会触发该事件,并将该数据自动读到TxtValue文本框。

Private Sub MyOPCGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)

‘自动刷新数据

Dim i As Long

For i = 1 To NumItems

txtValue(ClientHandles(i)) = ItemValues(i)

‘获取项的值

txtTime(ClientHandles(i)) = TimeStamps(i)

‘获取项的时间戳

txtQuantity(ClientHandles(i))=GetQualityString(Qualities(i))

‘获取项的品质

Next i

End Sub

(5) 断开OPC服务器

MyOPCServer.OPCGroups.RemoveAll

‘移除所有OPC Group,空出资源

Set MyOPCGroup = Nothing

MyOPCServer.Disconnect

‘断开连接


网站题目:vb.net上位机教程,vb上位机串口通信
标题网址:http://njwzjz.com/article/dsegdhh.html