全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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))。三、打开OPC Scout,(Start;SIMATIC;SIMATICNet;OPC Scout), 双击“OPCSimaticNet”在随之弹出的“ADD Group”对话框中输入组名,本例命名为“OPC”。点击OK 确认 ;双击已添加的连接组(OPC),即弹出“OPC Navigator”对话框,此窗口中显示所有的连接协议。双击“S7”,在PC Station 组态NetPro 中所建的连接名会被显示(S7connection_1)。双击此连接,即可出现有可能被访问的对象树(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.Connect 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 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, abServerHandles, 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 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编版一年级上册语文《自选商场》教案
- 一元二次不等式的应用高一数学北师大版教案
- 一去二三里第一课时教案
- 一元一次方程的解法二去括号七年级数学上册人教版教案
- 部编版一年级上册语文第五单元(识字写字核心素养导向)教案
- 版语文人教版必修三老人和海导部分教案
- 七年级数学下册两平行线之间的距离湘教版教案
- 文丘里面罩储氧面罩的使用教案
- 江苏省滨海县第一初级中学七年级数学下册不等式的解集教新版苏科版教案(2025-2026学年)
- 八年级语文上册阿里山纪行苏教版教案
- 学堂在线 智能时代下的创新创业实践 期末考试答案
- 体育舞蹈之拉丁舞智慧树知到期末考试答案章节答案2024年浙江大学
- 《习作:我的拿手好戏》第2课时示范公开课教学课件【统编人教版六年级语文上册】
- 年中小学生学会坚持永不放弃主题班会专题课件
- GB/T 17615-1998镍铬硅-镍硅镁热电偶丝
- GB 34660-2017道路车辆电磁兼容性要求和试验方法
- 垂直轴风轮涡轮式风力发电机组技术说明书
- 大学生旅游调查报告模板
- 急诊科医疗质量管理考核标准
- 《中华人民共和国公务员法》试题及答案
- 【水处理计算书+公式】BAF计算(全)
评论
0/150
提交评论