没有合适的资源?快使用搜索试试~ 我知道了~
C#通过OPC 访问PLC中数据
需积分: 9 25 下载量 59 浏览量
2019-02-24
01:42:55
上传
评论 1
收藏 516KB PDF 举报
温馨提示
试读
45页
摘 要 本文主要讲述了在 C#语言环境下,编程实现通过 SimaticNet 提供的 OPC Server, 访问 PLC 中数据的步骤。此方法同样适用于 WinCC 作为 OPC Server 时的数据访问。 关键词 SimaticNet、C#、OPC、WinCC Key Words SimaticNet、C#、OPC、WinCC
资源推荐
资源详情
资源评论
如何在 C#中实现 OPC 数据访问
How to accomplish data accessing through OPC by C#
https://support.industry.siemens.com/cs/cn/zh/view/109481353
Getting-started Edition (2009 年 03 月)
IA&DT Service & Support Page 2-45
摘 要 本文主要讲述了在 C#语言环境下,编程实现通过 SimaticNet 提供的 OPC Server,
访问 PLC 中数据的步骤。此方法同样适用于 WinCC 作为 OPC Server 时的数据访问。
关键词 SimaticNet、C#、OPC、WinCC
Key Words SimaticNet、C#、OPC、WinCC
IA&DT Service & Support Page 3-45
如何在 C#中实现 OPC 数据访问 ............................................................................................... 1
1、概述 ............................................................................................................................... 4
1.1 OPC 介绍 .................................................................................................................. 4
1.2 OPC 的读写方式 ........................................................................................................ 5
1.3 OPC 访问接口方式 .................................................................................................... 6
2、测试环境 ........................................................................................................................ 7
2.1 硬件要求 .................................................................................................................... 7
2.2 软件要求 .................................................................................................................... 7
3、OPC Server 端组态配置 ................................................................................................ 7
4、采用自定义接口过程 ...................................................................................................... 9
4.1 同步读写 .................................................................................................................... 9
4.2 异步读写 .................................................................................................................. 12
5、采用自动化接口实现过程 ............................................................................................. 19
6、OPCItem 的数据类型 ................................................................................................... 23
7、小结 ............................................................................................................................. 23
8、代码 ............................................................................................................................. 23
8.1 自动化接口 .............................................................................................................. 23
8.2 自定义接口同步读写 ................................................................................................ 28
8.3 自定义接口异步读写 ................................................................................................ 34
IA&DT Service & Support Page 4-45
1、概述
1.1 OPC 介绍
OPC 是 Object Linking and Embedding(OLE)for Process Control 的缩写,它是微软
公司的对象链接和嵌入技术在过程控制方面的应用。OPC 以 OLE/COM/DCOM 技术为基
础,采用客户/服务器模式,为工业自动化软件面向对象的开发提供了统一的标准,这个标
准定义了应用 Microsoft 操作系统在基于 PC 的客户机之间交换自动化实时数据的方法,采
用这项标准后,硬件开发商将取代软件开发商为自己的硬件产品开发统一的 OPC 接口程
序,而软件开发者可免除开发驱动程序的工作,充分发挥自己的特长,把更多的精力投入
到其核心产品的开发上。
SimaticNet 是西门子全集成自动化系统中的一个重要组成部分,它为完善的工业自动化
控制系统的通讯提供部件和网络,同时提供多个 OPCServer,为数据的外部访问提供接
口,本文主要以 OPC.SimaticNET 为例说明。
图 1:SimatcicNet 提供的 OPCServer
采用不同的通信方式,通过 OPC.SimaticNET,现场数据可以方便地提供给用户:
图 2:多种数据提供方式
OPC.SimaticNET
DP
OPC Client
SNMP
PNIO
……
OPC Client
……
IA&DT Service & Support Page 5-45
1.2 OPC 的读写方式
在实际使用中,主要包括对现场数据的读写操作。
OPC 读数有三种方式:同步、异步、订阅。
同步通讯时,OPC 客户程序向 OPC 服务器进行请求时,OPC 客户程序必须等到 OPC
服务器对应的响应全部完成以后才能返回,在此期间 OPC 客户程序一直处于等待状态,若
进行读操作,那么必须等待 OPC 服务器响应后才返回。因此在同步通讯时,如果有大量数
据进行操作或者有很多 OPC 客户程序对 OPC 服务器进行读操作,必然造成 OPC 客户程序
的阻塞现象。因此同步通讯适用于 OPC 客户程序较少,数据量较小时的场合。
图 3 OPC 同步读写服务器-客户端数据流图
异步通讯时,OPC 客户程序对服务器进行请求时,OPC 客户程序请求后立刻返回,不
用等待 OPC 服务器的响应,可以进行其它操作。OPC 服务器完成响应后再通知 OPC 客户
程序,如进行读操作,OPC 客户程序通知 OPC 服务器后离开返回,不等待 OPC 服务器的
读完成,而 OPC 服务器完成读后,会自动的通知 OPC 客户程序,把读结果传送给 OPC 客
户程序。因此相对于同步通讯,异步通讯的效率更高。
图 4 OPC 异步读服务器-客户端数据流图
myGroup.SynchRead()
client
Call
Reply
server
myGroup.AsyncRead(
)
myGroup_AsyncReadComplete(
serve
r
Cal
Repl
clien
t
剩余44页未读,继续阅读
资源评论
「已注销」
- 粉丝: 18
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功