vb.netopc控件 vbnet class
如何用VB编写OPC客户端程序
开发OPC 客户端程序时,首先应该生成OPC 服务器支持的OPC 对象,然后就 可以使用OPC 对象支持的属性和方法,对其进行各种操作。这样使得客户程序可 以像使用自己支持的数据和功能一样,去使用服务器对象支持的数据和功能。在 VisualBasic6.0 里,是以对象为单位对OPC 服务器进行访问的。通过OPC 自动化 服务器的对象模型,可以得知OPC 自动化接口由以下四种对象所定义。1. OPCServer 服务器对象OPCServer 的一个实例,OPC 服务器自动含有一个OPC 组集合 对象,并可在其基础上生成一个OPC 浏览器对象。 OPCServer 服务器对象在使用其它OPC 对象前必须生成,也就是说在引用 其他对象之前必须先创建OPCServer。OPCServer 对象提供了对数据源访问和通 信的方法,其提供了“Connect”方法来连接OPC 自动化服务器。 主要属性: StartTime(只读属性,服务器启动运行的时间) CurrentTime(只读属性,返回服务器显示的当前时间) LastUpdateTime(对于本OPC 应用程序的最后数据更新时间) MajorVersion(只读属性,OPC 服务器的主版本号) MinorVersion(只读属性,OPC 服务器的次版本号) Bandwith(只读属性,返回OPC 服务器的不敏感区的百分比) ServerState(只读属性,返回服务器的运行状态,这个属性是比较重要的,方 便客户端程序查询服务器的状态,从而达到排除故障的目的) ServerName(只读属性,返回客户程序所要连接的服务器名,也就是OPC 服 务器的ProgID) ServerNode(服务器所在计算机名或者计算机的IP,用于连接远程的计算机) 等。 主要方法: GetOPCservers(获得己经注册的OPC 服务器的程序标识符,即ProgID) Connect(用来建立与OPC 数据存取服务器的连接) Disconnect(断开与服务器的连接) CreatBrowser(创建OPC 浏览器的对象)等。 事件: 只有一个ServerShutDown(关闭服务器,这个事件在服务器即将关闭之前发 生,OPC 服务器以此通知OPC 客户程序预告即将关闭,OPC 客户程序应该在接 到此事件通知后,立即清除所有的OPC 组并断开与OPC 服务器的连接)。
创新互联致力于互联网品牌建设与网络营销,包括网站设计制作、成都网站建设、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。创新互联为不同类型的客户提供良好的互联网应用定制及解决方案,创新互联核心团队10余年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。
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读取西门子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.netopc控件 vbnet class
路径分享:http://cdiso.cn/article/dodjiee.html