VB与西门子OPC通信注解_第1页
VB与西门子OPC通信注解_第2页
VB与西门子OPC通信注解_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VB与西门子S7300的OPC通信一、通过STEP7软件建立一个新项目OPC,在项目中添加SIMATIC 300站和一个PC 站,其中PLC站中第四个槽安装的CP343模块。PC站的第一个槽 为OPC SERVER ,第三个槽为 IE GENERAL,然后在NETPRO下配置PLC和PC站的网络连接:(注意:是在PC站上新建的网络连接,连接类型选的S7连接)二、通过station configurator软件 配置本机的PC站(要和STEP7中配置的相同),然后把PLC和PC站都下载下去(注意:下载PC站的时候要把S7ONLINE (STEP7)-;PC internal(local))。三、

2、打开OPC Scout,(Start;SIMATIC;SIMATICNet;OPC Scout), 双击“OPCSimaticNet”在随之弹出的“ADD Group”对话框中输入组名,本例命名为“OPC”。点击OK 确认 ;双击已添加的连接组(OPC),即弹出“OPC Navigator”对话框,此窗口中显示所有的连接协议。双击“S7”,在PC Station 组态NetPro 中所建的连接名会被显示(S7connection_1)。双击此连接,即可出现有可能被访问的对象树

3、(objects tree),在PLCCPU 中已存在的DB 块也会出现以上完成的OPC SERVER部分的配置。四、用VB编写了OPC客户端应用程序。主要程序代码如下:在VB中引在VB中还要引用 siemens opc daautomation 2.0(1) 连接OPC服务器Dim WithEvents MyOPCServer As OPCServer 定义服务器对象变量MyOPCServerDim WithEvents MyOPCGroupAs OPCGroup 定义OPC组对象变量MyOPCGroupSet MyOPCServer = New OPCServerMyOPCServer.C

4、onnect OPC.SimaticNET 连接SIMATICNET 的OPC服务器(2) 添加OPC组对象Set MyOPCGroup=MyOPCServer.OPCGroups.Add(Group1)添加OPC组对象MyOPCGroup.IsSubscribed= True设置该组数据为后台刷新MyOPCGroup.IsActive = True设置该组为激活状态MyOPCGroup.UpdateRate=1000设置数据刷新时间为1000(3) 添加数据项Dim abItemIDs() As String项标识符Dim abClientHandles() As Long客户端句柄Dim

5、abServerHandles() As Long服务器端句柄Dim abErrors() As LongDim i As LongItemCount=3abItemIDs(1) = S7:S7 connection_1IB1abItemIDs(2) = S7:S7 connection_1MB1abItemIDs(3) = S7:S7 connection_1QB1for i=1 t0 3abClientHandles(i) = i给客户端句柄赋值NextMyOPCGroup.OPCItems.AddItems ItemCount, abItemIDs, abClientHandles, a

6、bServerHandles, abErrors添加数据项操作(4) 同步数据读写OPC数据存取有同步方式和异步方式两种。异步读写数据复杂,需要与事件结合使用,与同步相比速度慢但准确性高。同步读写数据简单,直接使用OPCItem的方法即可。Dim One As OPCItemDim Index As LongIndex为标签顺序号Dim OneRead As StringDim Xie As StringSet One = MyOPCGroup.OPCItems(Index)One.Read OPCCacheOneRead = One.Value读数据MyOPCGroup.SyncWrite

7、ItemCount, ServerHandles, valuess, Errors同步写数据MyOPCGroup.SyncRead OPCCache, ItemCount, ServerHandles, ReadValue, Errors同步读数据One.Write (Xie)写数据若只读取数据,可以使用DataChange事件,当控制器中所要访问的数据一旦发生改变时将会触发该事件,并将该数据自动读到TxtValue文本框。Private Sub MyOPCGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)自动刷新数据Dim i As LongFor i = 1 To NumItemstxtValue(ClientHandles(i) = ItemValues(i)获取项的值txtTime(ClientHandles(i) = TimeStamps(i)获取项的时间戳txtQuantity(ClientHandles(i)=GetQualityString(Qualities(i)获取项的品

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论