成都网站建设设计

将想法与焦点和您一起共享

vb点虐 打开opc vbnet openfiledialog

winccopcda设置

运行信首悔VBSimaticNet.exe,然后进行设滑正置。

揭阳网站建设公司创新互联建站,揭阳网站设计制作,有大型网站制作公司丰富经验。已为揭阳上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的揭阳做网站的公司定做!

1、运行VBSimaticNet.exe,右键单击OPCDA。

2、从OPC-DA服务器标签中选择新建。

3、在服务器属性对话框中,勾选运行服务器,设置服务器名称,并选择相应的数据源。

4、单击确芹配定,完成WinCCOPCDA设置操作。

vb怎么读取或修改opc变量值?

首先申明OPC对象:

Option Base 1

Dim WithEvents ServerObj As OPCServer 'OPC Server对象,连晌帆慧接OPC服务器

Dim GroupsObj As OPCGroups 'OPC Groups对象,添加OPC组

Dim WithEvents GroupObj As OPCGroup 'OPC Group对象

Dim ItemsObj As OPCItems 'OPC Item集合

Dim ServerHandles() As Long '服务器端OPC Item的句柄

Dim ClientHandles() as Long '客户端OPC Item的句柄

Dim ItemId(2) As String

Dim Errors() As Long

接下来,轿搏生成各个对象:

If ServerObj Is Nothing Then Set ServerObj = New OPCServer

'连接OPC服务器

If ServerObj.ServerState = OPCDisconnected Then

ServerObj.Connect ("OPC.SimaticNET") '假设OPC服务器运行在本机

End If

If GroupsObj Is Nothing Then Set GroupsObj = ServerObj.OPCGroups

If GroupObj Is Nothing Then Set GroupObj = GroupsObj.Add

If ItemsObj Is Nothing Then Set ItemsObj = GroupObj.OPCItems

GroupObj.IsActive = True '设置组为活动状态

'假设有两个数据源,一个是8位开关量输入,一个是8位开关量输出

ItemId(1) = "S7:[S7 connection_1]IB0"

ItemId(2) = "S7:[S7 connection_1]QB0"

ClientHandles(1) = 1

ClientHandles(2) = 2

'添加组项目,ServerHandles数组的值为各个OPC Item的服务器句柄,

' ClientHandles数组的值为各个OPC Item的客户端宴答句柄,由应用程序设定

Call ItemsObj.AddItems(2, ItemId, ClientHandles, ServerHandles, Errors)

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点虐 打开opc vbnet openfiledialog
文章来源:http://chengdu.cdxwcx.cn/article/ddpjcho.html