Protected Sub DelegateTest()Dim c1 As New class1' Create an instance of the delegate.Dim msd As MySubDelegate = AddressOf c1.Sub1' Call the method.msd.Invoke(10)End Sub
如何使用SIMATIC NET实现OPC UA冗余服务器的通信1、 OPC服务介绍
西门子提供的最新软件:Simatic Net PC-Software CD 2005为各种组态软件的开发提供了一个统一的平台 , 它建立的PC站既为一些组态软件,如:WinCC、Protol等提供了与PLC的通讯平台 , 也提供了一套编程接口,可使用高级语言编程通过Simatic Net访问PLC数据 。本文讨论的主要就是这个编程接口,最新版的Simatic NET支持五种编程方式:
1、ActiveX控件
提供了一系列数据访问控件,以便于向VB6这种语言使用控件的方式与PLC通讯 。
2、OPC自动化
为VB6、Dephi等语言运用OLE 自动化的方式进行编程 。
3、OPC用户接口
这是专门为VC++提供的一种高效编程方式,其灵活程度与执行效率比前面的两种方式均要高得多 。
4、针对微软的.NET平台的OPC用户接口
这也是一种非常灵活的编程接口,不过它针对的是.NET平台,其提供了大量的.NET类库,以便于像VC#、VB.NET等高级语言编程 。本文将详细的介绍该接口 。
5、OPL XML接口
顾名思义,主要是针对XML编程的 。
对于2、3、4编程方式 , 他们各自又可以分为同步访问方式和异步访问方式 。按西门子的文档解释:同步通讯指的是当一个客户在访问服务器时,其他客户的访问必须等待,直到服务器处理完该客户的请求,才能继续进行下一个服务,异步访问与之正好相反 , 本文主要讲的是同步编程篇,异步篇以后再提供 。
2、 配置OPC服务器
要进行编程 , 必须先配置服务器 。本文以Prfibus DP网络为例,介绍PC站的配置 。其内容主要来自西门子文档 。
需要的软件:
Step7 V5.3
Simatic Net PC-Software CD 2005
需要的硬件:
至少为CP5611或以上级别 , 笔记本可以为CP5511,带DP口的S7-300 PLC(若使用Simatic NET的仿真功能可以不需要这些硬件,后面会介绍到)
1、组态一个S7站 , 配置Profibus DP网络,其DP地址设为3 , 并下载到PLC,然后把网线由MPI口转到DP口 。S7站的配置这里就不介绍了 。
vb怎么读取或修改opc变量值?首先申明OPC对象vb.net设置opc:
Option Base 1
Dim WithEvents ServerObj As OPCServer'OPC Server对象vb.net设置opc,连接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 Itemvb.net设置opc的句柄
Dim ClientHandles() as Long'客户端OPC Item的句柄
Dim ItemId(2) As String
Dim Errors() As Long
接下来,生成各个对象vb.net设置opc:
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的客户端句柄,由应用程序设定
推荐阅读
- 微信小程序仿jquery插件,微信小程序可以使用jquery吗
- 手机网站如何推广,手机端网站推广
- erp系统结转,erp怎么结转损益
- 什么网络游戏最热门,什么网络游戏最火
- php怎么实现数据排序 php 排序函数
- oracle游标数据改变,oracle游标更新数据
- 酒营销如何引流,怎样营销酒,需要掌握哪些要点
- 花生直播话术大全,花生直播好还是育苗移栽好
- c语言变量数组调用函数 c语言函数调用数组格式