基于python的OPC DA跨平台解决方案(NO DCOM模式)

时间:2024-04-06 17:35:14

KepLinuxOPC是为了解决工业现场的OPC通讯依赖DCOM技术而诞生的跨平台OPC DA客户端,它分为客户端和服务端两部分,开发语言采用跨平台的python语言,适用于Windows All及Linux操作系统环境。下面以Windows下的客户端为例介绍使用方法:
1、程序及安装

基于python的OPC DA跨平台解决方案(NO DCOM模式)

图1 程序内容

    图一中config.txt和KepLinuxOPC.exe是Windows客户端程序,它可以运行在任何一台计算机上,运行前不需要配置DCOM,只需要关闭Windows的防火墙OpenOPCService.exe是OPC DA Server端的服务程序,它需要安装并以服务的方式启动运行,详细操作方法如下图2、3、4。

基于python的OPC DA跨平台解决方案(NO DCOM模式)

图2 cmd管理员切换到OpenOPCService.exe所在目录

基于python的OPC DA跨平台解决方案(NO DCOM模式)

图3 输入OpenOPCService.exe install回车见到安装或更新成功消息

基于python的OPC DA跨平台解决方案(NO DCOM模式)

图4 输入sc start zzzOpenOPCService运行服务

    这样OpenOPCService.exe服务安装就完成了,安装完成并且启动服务(sc start zzzOpenOPCService 启动服务、sc stop zzzOpenOPCService命令停止服务、sc delete zzzOpenOPCService删除服务),安装完成后在系统服务中找到OpenOPC Gateway Service,按照下图5完成启动项设置。

基于python的OPC DA跨平台解决方案(NO DCOM模式)

图5 设置服务启动方式

    2、客户端程序运行

    运行客户端程序前请填写配置文件(config.txt),如图6所示:

基于python的OPC DA跨平台解决方案(NO DCOM模式)

图6 客户端程序配置文件说明

    第一行是需要安装了OpenOPCService 的OPC Server服务器IP地址;第二行是OPC SERVER的名称;第三行是模式2下手动添加的opc标签点全名,按照示例的格式填写,注意单引号和逗号分隔符是必须的;第四行是扫描周期;第五行是运行模式,1代表自动获取OPC SERVER的所以标签并读取,选择前5个点的值和状态打印在屏幕上,2代表按照第三行手动添加的标签点读值并全部打印输出。配置文件填写完成后,即可打开KepLinuxOPC.exe程序,测试是否能够读出您需要的值和状态。

基于python的OPC DA跨平台解决方案(NO DCOM模式)

图7 客户端程序运行界面

 KepLinuxOPC测试程序下载地址:https://pan.baidu.com/s/1KO__M9ITilhDTQc9U3GN5A

**************************************KepOPC不用配置DCOM版本*******************************************

    基于NO DCOM模式下的KepOPC可实现跨网任意OPC读写,基本功能继承KepOPC V1.05版本的功能,2018年06月12日更新KepOPC (NO DCOM)版本的技术特点如下:

1、继承KepOPC v1.05版本特性,升级NO DCOM模式,从此告别繁琐的DCOM配置

2、优化了历史表的数据处理方式,由之前的批量插入改为变化则插入,不变化不处理,减少数据冗余;

3、优化了OPC读写方式,程序更加稳定可靠;

4、增加了OpenOPCService.exe服务端程序,OpenOPCService.exe安装在您需要读取的OPC Server服务器端,安装方式见上图1-图5所示,安装完毕运行客户端程序时注意关闭Windows防火墙;

5、修改了部分BUG。

(KepOPC NO DCOM MSSQL版本)下载地址:https://pan.baidu.com/s/1KIzo4sUszPqeTftdvluZlQ

(KepOPC NO DCOM MYSQL版本)下载地址:https://pan.baidu.com/s/1oVYR2qDdvspKr9wyq3dotw

总结:KepLinuxOPC是基于python语言自主开发的OPC client(OPC客户端)跨平台中间件软件,他支持目前市面上绝大多数国内外OPC SERVER的OPC DA1.0/2.0/3.0协议的数据读写,如(Kepserver、Matrikon、GE IGS、亚控、力控等),不同的是KepLinuxOPC解决了不依赖DCOM的技术问题,真正实现了跨网络和跨平台的OPC DA数据的读写,实时采集数据后可以转存到MSSQL/MYSQL等关系型数据库,提供java、PHP、.net、python、go等自主开发语言的跨平台查询和交互,最终形成区别于组态软件的应用系统,很好地填补了工业自动化数据到互联网、云架构平台的跨平台数据交换和过渡,为MES系统或工业大数据平台提供现场基础数据支撑,且适用于所有的工业控制行业。