运用 VC#编程通过 OPC 方式实现 PC 机与西门子 PLC 通讯
<同步通讯篇>
1、 OPC 服务介绍
西门子提供的最新软件:Simatic Net PC-Software CD 2005 为各种组态软件的开发
提供了一个统一的平台,它建立的 PC 站既为一些组态软件,如:WinCC、Protol 等提
供了与 PLC 的通讯平台,也提供了一套编程接口,可使用高级语言编程通过 Simatic Net
访问 PLC 数据。本文讨论的主要就是这个编程接口,最新版的 Simatic NET 支持五种编
程方式:
<1>、ActiveX 控件
提供了一系列数据访问控件,以便于向 VB6 这种语言使用控件的方式与 PLC 通讯。
<2>、OPC 自动化
为 VB6、Dephi 等语言运用 OLE 自动化的方式进行编程。
<3>、OPC 用户接口
这是专门为 VC++提供的一种高效编程方式,其灵活程度与执行效率比前面的两种
方式均要高得多。
<4>、针对微软的.NET 平台的 OPC 用户接口
这也是一种非常灵活的编程接口,不过它针对的是.NET平台,其提供了大量的.NET
类库,以便于像 VC#、VB.NET 等高级语言编程。本文将详细的介绍该接口。
<5>、OPL XML 接口
顾名思义,主要是针对 XML 编程的。
对于<2>、<3>、<4>编程方式,他们各自又可以分为同步访问方式和异步访问方式。
按西门子的文档解释:
同步通讯指的是当一个客户在访问服务器时,
其他客户的访问必
须等待,直到服务器处理完该客户的请求,才能继续进行下一个服务,异步访问与之正
好相反,本文主要讲的是同步编程篇,异步篇以后再提供。
2、 配置 OPC 服务器
要进行编程,必须先配置服务器。本文以 Prfibus DP 网络为例,介绍 PC 站的配置。其
内容主要来自西门子文档。
需要的软件:
Step7 V5.3
Simatic Net PC-Software CD 2005
需要的硬件:
至少为 CP5611 或以上级别,笔记本可以为 CP5511,带 DP 口的 S7-300
PLC(若使用 Simatic NET 的仿真功能可以不需要这些硬件,后面会介绍到)
<1>、组态一个 S7 站,配置 Profibus DP 网络,其 DP 地址设为 3,并下载到 PLC,
然后把网线由 MPI 口转到 DP 口。S7 站的配置这里就不介绍了。
<2>、在 Step7 V5.3 中建立一个新工程,插入一个 PC 站,并把该 PC 站的名字
改成与你的计算机名字相同。打开该 PC 站的硬件组态界面。插入 OPC 服务器和连接
卡 CP5611(或者 CP5511),他们在 PC 槽中处的位置可以任意,如下图:
www.plcworld.cn