最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

VB访问OPC

来源:动视网 责编:小OO 时间:2025-09-23 21:20:41
文档

VB访问OPC

一、通过STEP7软件建立一个新项目OPC,在项目中添加SIMATIC300站和一个PC站,其中PLC站中第四个槽安装的CP343模块。PC站的第一个槽为OPCSERVER,第三个槽为IEGENERAL,然后在NETPRO下配置PLC和PC站的网络连接:(注意:是在PC站上新建的网络连接,连接类型选的S7连接)二、通过stationconfigurator软件配置本机的PC站(要和STEP7中配置的相同),然后把PLC和PC站都下载下去(注意:下载PC站的时候要把S7ONLINE(STEP7)
推荐度:
导读一、通过STEP7软件建立一个新项目OPC,在项目中添加SIMATIC300站和一个PC站,其中PLC站中第四个槽安装的CP343模块。PC站的第一个槽为OPCSERVER,第三个槽为IEGENERAL,然后在NETPRO下配置PLC和PC站的网络连接:(注意:是在PC站上新建的网络连接,连接类型选的S7连接)二、通过stationconfigurator软件配置本机的PC站(要和STEP7中配置的相同),然后把PLC和PC站都下载下去(注意:下载PC站的时候要把S7ONLINE(STEP7)
一、通过STEP7软件建立一个新项目OPC,在项目中添加SIMATIC300站和一个PC站,其中PLC站中第四个槽安装的CP343模块。PC站的第一个槽为OPCSERVER,第三个槽为IEGENERAL,然后在NETPRO下配置PLC和PC站的网络连接:(注意:是在PC站上新建的网络连接,连接类型选的S7连接)

二、通过stationconfigurator软件配置本机的PC站(要和STEP7中配置的相同),然后把PLC和PC站都下载下去(注意:下载PC站的时候要把S7ONLINE(STEP7)--->;PCinternal(local))。

三、打开OPCScout,(Start>;SIMATIC>;SIMATICNet>;OPCScout),双击“OPC

SimaticNet”在随之弹出的“ADDGroup”对话框中输入组名,本例命名为“OPC”。

点击OK确认;

;双击已添加的连接组(OPC),即弹出“OPCNavigator”对话框,此窗口中显示

所有的连接协议。双击“S7”,在PCStation组态NetPro中所建的连接名会被显示(S7

connection_1)。双击此连接,即可出现有可能被访问的对象树(objectstree),在PLC

CPU中已存在的DB块也会出现

以上完成的OPCSERVER部分的配置。

四、四、用VB编写了OPC客户端应用程序。主要程序代码如下:

(1)连接OPC服务器

DimWithEventsMyOPCServerAsOPCServer‘定义服务器对象变量MyOPCServer

DimWithEventsMyOPCGroupAsOPCGroup‘定义OPC组对象变量MyOPCGroup

SetMyOPCServer=NewOPCServer

MyOPCServer.Connect"OPC.SimaticNET"‘连接SIMATICNET的OPC服务器

(2)添加OPC组对象

SetMyOPCGroup="MyOPCServer".OPCGroups.Add("Group1")

‘添加OPC组对象

MyOPCGroup.IsSubscribed=True

‘设置该组数据为后台刷新

MyOPCGroup.IsActive=True

‘设置该组为激活状态

MyOPCGroup.UpdateRate=1000

‘设置数据刷新时间为1000

(3)添加数据项

DimabItemIDs()AsString

‘项标识符

DimabClientHandles()AsLong

‘客户端句柄

DimabServerHandles()AsLong

‘服务器端句柄

DimabErrors()AsLong

DimiAsLong

ItemCount=3

abItemIDs(1)="S7:[S7connection_1]IB1"

abItemIDs(2)="S7:[S7connection_1]MB1"

abItemIDs(3)="S7:[S7connection_1]QB1"

fori="1"t03

abClientHandles(i)=i

‘给客户端句柄赋值

Next

MyOPCGroup.OPCItems.AddItemsItemCount,abItemIDs,abClientHandles,abServerHandles,abErrors

‘添加数据项操作

(4)同步数据读写

OPC数据存取有同步方式和异步方式两种。异步读写数据复杂,需要与事件结合使用,与同步相比速度慢但准确性高。同步读写数据简单,直接使用OPCItem的方法即可。

DimOneAsOPCItem

DimIndexAsLong

‘Index为标签顺序号

DimOneReadAsString

DimXieAsString

SetOne=MyOPCGroup.OPCItems(Index)

One.ReadOPCCache

OneRead=One.Value

‘读数据

MyOPCGroup.SyncWriteItemCount,ServerHandles,valuess,Errors

‘同步写数据

MyOPCGroup.SyncReadOPCCache,ItemCount,ServerHandles,ReadValue,Errors

‘同步读数据

One.Write(Xie)

‘写数据

若只读取数据,可以使用DataChange事件,当控制器中所要访问的数据一旦发生改变时将会触发该事件,并将该数据自动读到TxtValue文本框。

PrivateSubMyOPCGroup_DataChange(ByValTransactionIDAsLong,ByValNumItemsAsLong,ClientHandles()AsLong,ItemValues()AsVariant,Qualities()AsLong,TimeStamps()AsDate)

‘自动刷新数据

DimiAsLong

Fori=1ToNumItems

txtValue(ClientHandles(i))=ItemValues(i)

‘获取项的值

txtTime(ClientHandles(i))=TimeStamps(i)

‘获取项的时间戳

txtQuantity(ClientHandles(i))=GetQualityString(Qualities(i))

‘获取项的品质

Nexti

EndSub

(5)断开OPC服务器

MyOPCServer.OPCGroups.RemoveAll

‘移除所有OPCGroup,空出资源

SetMyOPCGroup=Nothing

MyOPCServer.Disconnect

‘断开连接

在VB中还要引用siemensopcdaautomation2.0才行

文档

VB访问OPC

一、通过STEP7软件建立一个新项目OPC,在项目中添加SIMATIC300站和一个PC站,其中PLC站中第四个槽安装的CP343模块。PC站的第一个槽为OPCSERVER,第三个槽为IEGENERAL,然后在NETPRO下配置PLC和PC站的网络连接:(注意:是在PC站上新建的网络连接,连接类型选的S7连接)二、通过stationconfigurator软件配置本机的PC站(要和STEP7中配置的相同),然后把PLC和PC站都下载下去(注意:下载PC站的时候要把S7ONLINE(STEP7)
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top