资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb点虐 连接opc vbnet lib

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点虐 的数据库连接

1·绑定数据源来进行连接

2.用代码连接

先到数据库建立一个数据库和相应的表

连接数据库的代码:

Dim str As String = "Data Source=服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=;Password="

dim conn As SqlClient.SqlConnection

try

conn = New SqlClient.SqlConnection

conn.ConnectionString = str

conn.Open()

Return True

Catch ex As Exception

MsgBox(ex.ToString)

Return False

End Try

登录代码:Dim str As String = "Data Source=服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=;Password="

dim conn As SqlClient.SqlConnection

conn = New SqlClient.SqlConnection

conn.ConnectionString = str

conn.Open()

sqlstr = "Select * From Amd Where AmdName='" TextBox1.Text "' And AmdPwd = '" TextBox2.Text "'"

Dim sqlcmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(sqlstr, conn)

Dim dr As SqlClient.SqlDataReader

dr = sqlcmd.ExecuteReader

If dr.Read = True Then '判断一条记录为真

kf.Show() '显示下个窗体

Me.Hide() ’隐藏当前窗体

Else

MessageBox.Show("输入信息有误!", "提示")

TextBox1.Text = ""

TextBox2.Text = ""

End If

OPC 读取西门子PLC地址只要16个及是否需新建多组GROUP问题

你把16个放在一个group足够了,group的作用,是把相关参数放在一组里面,这样相关地址的信息,能看起来明确一点,无任何其他作用


网站栏目:vb点虐 连接opc vbnet lib
链接URL:http://cdkjz.cn/article/ddiopsd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220