vb.net设置opc vb net

vb.net如何建立OPC通讯读取WINCC中的变量值

您好,我用过的是S7-200 PLC与WINCC通讯,两者通讯必须使用西门子提供的软件PC_ACCESS。在PC_ACCESS中建立变量,地址要与PLC变量地址对应。然后通过wincc的OPC服务器添加PC_ACCESS里面的变量即可。这样WINCC就和PLC变量链接上了!

成都创新互联公司成立于2013年,我们提供高端成都网站建设成都网站制作成都网站设计、网站定制、全网营销推广小程序设计、微信公众号开发、seo优化服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为凿毛机企业提供源源不断的流量和订单咨询。

如何使用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.NET的OPC读取西门子PLC数值转换

12601, 转换成16进制是3139,16进制 ASC吗31对应字符1, 39对应9。 后面的用这个思路去转换就对上了。

0001 2569这两个应该是和格式相关的字符。0001一般就是开始的意思。

一个变量包含两个字符,转换算法如下。

1。 取高位字符,除以H100, H是VB中16进制表示法。 除以H100效果是右移8位。 位了保险起见,再和H00FF做与运算,保证取得的ASC码是合法的。

2。取低位字符,与H00FF做与运算,去掉高位数据,剩下的就是低位ASC码。

3。将ASC码转换为字符,用CHR函数即可,然后连接所有的字符即可得String

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.net设置opc vb net
新闻来源:https://www.cdcxhl.com/article38/doscjpp.html

成都网站建设公司_创新互联,为您提供微信公众号网站制作网站设计公司App开发外贸建站定制开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站优化排名