首页 > 范文大全 > 正文

WinCC与VisualC++的OPC通讯实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇WinCC与VisualC++的OPC通讯实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要 本文利用opc接口实现了服务器wincc组态软件和模型机Visual C++客户端的通讯,完成了两者之间的数据交换。详细介绍了Visual C++应用程序的代码实现过程,最终完成了OPC服务器与客户端的实时通讯。

关键词 OPC接口;组态软件WinCC;Visual C++

中图分类号O1 文献标识码A 文章编号 1674-6708(2012)79-0191-02

1 OPC接口概述

OPC是一套在基于Windows操作平台的工业应用程序之间提供高效的信息集成和交互功能的组件对象模型的接口规范,该规范定义了一个开放的接口,在这个接口上,基于PC的软件组件能交换数据。

2 现场上位机控制参数组成

使用Visual C++开发OPC客户机,完成数据的运算处理,通过接口传回OPC服务器WinCC,实现数据采集与处理的无缝连接。钢板出精轧机后,经辊道传输进入淬火控冷区,在精轧机后的HMD检测到钢板信号后,会将通讯变量传送到WinCC上进行显示,当检测温度值与设定值差值超过限定值时,由Visual C++根据OPC接口传输来的变量进行模型计算,重新设定集管流量、辊道速度等,然后将计算后的模型传回WinCC,对淬火控冷过程进行设定控制。

3 客户端Visual C++应用程序实现

WinCC与VC之间基于OPC接口的通讯程序开发的实现过程如下:

1)Visual C++中利用MFC AppWizard生成程序框架,建立基于对话框的应用程序项目

执行“File”—“New”命令,出现New对话框,选择“MFC AppWizard[exe]”项,输入程序名“OPCClient”,单击“OK”按钮,选择“Dialog based”完成创建。

2)添加控件及成员变量

该应用程序要求VC客户端能够从WinCC服务器获取通讯变量数据,经过运算后,再将计算结果返回给WinCC,所以程序界面中要设置各种控件。根据项目要求在VC开发环境下添加编辑框、按钮等控件,并为控件关联成员变量。

3)添加其他成员变量

4)包含OPC头文件

之后,再指定这些文件的存放路径就可以了,在VC环境中的“Tools”-“Options”对话框下设置。

5)COM支持库

代码如下:

CoInitialize(NULL); //初始化COM库

6)得到OPC服务器的CLSID

代码如下:

7)连接OPC服务器

8)创建OPC组和OPC数据项,该步骤要依据通讯变量表中变量的个数来确定数据项数目

代码如下:

然后就可以编写读写的消息映射函数了,在此不做详细介绍。

9)删除对象,释放内存

代码如下:

至此,OPC客户端Visual C++应用程序编写完成,项目中,根据现场的实际情况和服务器WinCC与客户端VC之间传递的参数表,定义了传递的变量,完成数据的通讯,VC中接收到组态软件WinCC传递过来的参数后,进行模型的运算处理,对控制冷却模型进行修正,再将修正后的模型参数传递给WinCC,WinCC通过以太网通信传递给下位机PLC,完成淬火空冷线的控制任务。

4结论

OPC接口实现了二级过程控制级WinCC组态软件与Visual C++客户端之间的通讯,完成两者之间的数据交换。结果表明,WinCC与Visual C++之间通讯正常,数据交换速度能够满足工业控制要求,从而为二级系统的控制集成功能提供了保障。

参考文献

[1]胡志坤.Visual C++通信编程工程实例精解[M].北京:机械工业出版社,2007.