于宏涛
(承德石油高等专科学校,河北 承德 067000)
在过去的工业领域中,要想实现良好的数据采集,就要借助驱动程序和设备实现数据交换,但过程控制系统为一对一系统,如果使用了上位监控软件,那么就要开发特殊的驱动程序,不仅难以实现系统集成,而且会给工作人员带来一定工作压力。通过OPC技术能够有效解决这一问题,OPC能够提供通用接口,不论在过程控制中使用何种设备都能够实现设备通讯。而且上层管理软件大多是Java开发的,为了实现集成,本系统同样利用Java来实现。
OPC,即OLE for Process Control,是微软公司研发的规范接口协议,能够对不同应用程序和设备间实现标准化软件接口,让数据更加简便的交换,OPC技术是借助DCOM、COM以及OLE技术为基础,通过客户端服务器结构,对Server与Client间的规定进行制定。在对客户端进行开发时,无需程序在意服务器是否处于最佳性能,而且底层设备无需考虑如何实现软硬件间的通讯,仅仅需要遵循接口协议,就能在服务器中获得想要的数据。
与过去的数据库存储有很大不同,OPC为树形结构存储格式。在服务端主机中,有很多Server,每个都存在不同的item,在这其中,存储信息为目前设备需要监控以及采集的数据,在客户端对数据进行截取时,要指明主机名,具体到Server和获取路径。除了Server外,在客户端下面还存在存储层Group,能够对item进行分类存储,因此不但能够连续获取item,还能利用批处理技术监理Group,将item放置在Group中,进而将其全部获取。
利用Kepware作为OPC服务器,能够对PLC运行中的数据信息进行快速获取,而且Kepware还有很大优势,能够支持市场上大部分PLC厂商,而且可以在远程数据访问技术、历史数据访问技术、数据采集技术等领域实现良好应用。
Utgard是利用Java开发的纯开源类库,包含于Open SCADA项目下,具备良好的跨平台性,是以DCOM为基础来实现的,通过Utgard库文件能够与OPC服务器实现通讯。能够在Linux以及Windows系统上运行,能够实现异步查询、同步查询、组查询等功能。
应该在本地系统中配置DCOM,并通过Utgard对OPC数据进行采集。Utgard可以提供API函数,并与OPC服务器实现连接,能对变量参数值进行读取与写入,使变量值能够快速传送至软件系统,实现持久存储,并录入到追溯系统中。
选择MySQL当作持久化存储系统,这种系统库属于关系型数据库,而且体积较小,能够快速运行,不需要花费过多成本即能实现,不仅如此,此系统还具备开源免费的属性。选择MySQL数据库能够对实际生产中出现的数据进行采集,将其中的关键数据进行存储,这样能够便于工作人员在之后对其进行追溯。被存储起来的关键数据能够实现不同类型的生产控制与过程控制,能够对产品下列信息进行追溯,包括成品中都有哪些零部件;在生产产品的过程中,出现了哪些关键控制数据,这些数据能够满足生产需求;对当前产品生产控制的严密性等等。
OPC数据服务器是由Item、Group以及Server所组成的,在连接OPC Server后能够读取或写入数据,而且Utgard能够实现多种数据读取方式,包括发布订阅模式查询、异步查询、同步查询等,支持同步写入方式。
综上所述,随着经济发展,我国工业产业近年发展速度十分迅猛,生产规模逐步扩大,增添了许多新型设备,通过OPC技术能够实现生产过程数据的快速采集,并且让管理软件与控制系统实现更好的通讯方式,本文已经阐述了基于Java的OPC数据采集系统的设计与实现,本系统使用的开发语言为Java,能够与目前Java EE企业架构系统实现集成,而且通过纯Java语言编写的OPC服务器通信和Utgard开源类库具备可移植性、平台无关性等属性,并且具备良好的稳定性与扩展性,希望对我国工业产业的发展有所帮助。