论文部分内容阅读
OPC(OLE for Process Control)技术是过程控制领域中的新兴基础技术之一,它为数据源(如现场设备或数据库)和与其连接的应用程序之间的接口制定了统一的标准,使其间的数据交换更加简单化。 许多用PLC进行控制的大型复杂控制系统都应用了OPC技术,这使系统中数据源和应用程序之间的数据交换更加简单化和标准化。但在某些非生产应用的情况下,如训练系统操作员及系统调试时,开启整个控制系统会造成很大的人财物的浪费,甚至造成不必要的损坏。 本课题设计了一个仿真PLC系统。在这个系统中,包括用Visual C++编写实现的仿真PLC,以及为该仿真PLC开发的OPC DA服务器。我们可以利用OPC“即插即用”的特性,通过其拥有的通用OPC接口,将仿真PLC系统无缝连接到整个大型系统中。在非生产应用时,OPC客户端的监控、报表等应用软件就可以与拥有OPC接口的仿真PLC系统交换数据,而不必启动实物PLC系统从而解决了上述在非生产应用时遇到的问题。 仿真PLC的软件实现是根据编译原理等相关理论,对STL语言编写的用户程序文件进行词法分析和语法分析,获得用户程序的语法结构,然后根据语法结构用程序块对各项指令的逻辑进行仿真,从而实现能够根据用户程序读取输入点状态,把运算结果写到输出点。仿真PLC软件用一个DLL动态链接库封装,目的是方便与OPC DA服务器交换仿真数据。 仿真PLC的OPC DA服务器是根据OPC规范编写的。OPC规范对OPC DA服务器的各个对象和接口以至接口的方法都进行了框架级的规定,所以课题的主要开发工作集中在了对接口方法的实现和与仿真PLC程序的数据通讯上。OPC DA服务器通过静态加载仿真PLC的DLL,获取仿真数据,并放在数据存储区中。OPC客户端应用程序通过相关接口调用数据存储区或仿真DLL中的仿真数据。 课题用一个液体加注系统做为应用实例,将其PLC用户程序做为仿真PLC的输入文件代入,对仿真PLC及其OPC DA服务器进行了性能测试,各项运转正常,从而验证了整个仿真系统的正确性和可行性。