说明
OPC (OLE for process control)即用于过程控制领域的对象链接和嵌入技术,这一概念是由Fisher Rosemount公司1995年首次提出的,它借用了微软的OLE(Object Linking and Embedding)和COM(Component Object Model)/DCOM(Distributed Component Object Model) 技术,并应用于过程控制中。它为过程控制和工业自动化领域提供了一套标准的接口、属性和方法,是实现控制系统现场设备与过程监控级进行信息互连,实现控制系统开放性的关键技术。
...
- 本机上的OPC服务
- 64位的OPC服务程序只能由64位的OPC驱动连接
- 32位OPC服务程序只能由32位OPC驱动连接。绝大部分OPC是32位的服务
- 如果OPC驱动和OPC服务的位数不同,会导致OPC服务连接不上
- 验证方法:
- 我们下面提供的OPC客户端工具是32位的,如果连得上本机OPC服务,说明OPC服务是32位,此时eview 的OPC驱动必须用32位,整个eview都需要是32位!
- 远程服务器上的OPC服务
- 64位和32位OPC服务可以互相连接
eView服务上支持OPC环境配置
eview服务器需要OPC的环境配置,否则会浏览不到OPC(即使本机浏览本机也可能浏览不到)。截图:
...
- 以管理员身份执行RegOPCEnum\onekey.bat(ftp的software/opc目录下),否则在用工具浏览OPC Server时会提示:
- 安装Kepware KEPServer 4.500.46注册破解版.zip(ftp的software/opc目录下),但不需要运行,该软件安装过程会设置
驱动配置
- opc驱动在网关中无法使用,只能在windows版eview使用。
- 该驱动属于内置驱动,安装后就有了
设备配置
增加一个设备,设备属性如下:
- 设备连接类型选取“自定义”
- 连接字符串。支持三种写法:
- OPC服务名,访问本机的OPC服务,不带OPC。OPC服务名,访问本机的OPC服务。
- 如Matrikon.OPC.Simulation,表示访问本地(本机上的atrikon.OPC.Simulation服务名称)。
- OPC服务名@IP,访问远程机器OPC服务。
- 如Matrikon.OPC.Simulation@192.168.10.XX,表示OPC服务部署和运行在192.168.10.XX这个机器上,通过远程进行访问远程进行访问
- OPC服务名@IP1,IP2,访问远程机器OPC服务。
- 如Matrikon.OPC.Simulation@192.168.10.XX,192.168.10.YY。表示OPC服务部署和运行在192.168.10.XX和192.168.10.YY这两个机器上,通过远程访问。远程访问。
- 这两个机器同时互为主备,但同时只会连接其中一个,但该连接不同时会自动连接另外一个。
- OPC服务名,访问本机的OPC服务,不带OPC。OPC服务名,访问本机的OPC服务。
- OPC连接串的查找方法
- 从FTP下载OPC工具并运行。ftp://ftp.peakinfo.cn/software/opc/OPC_KOS_Client/KOCTool.exe
- 在弹出界面,主菜单:OPC/New Connection,会弹出:Connect OPC Server。如果是本地的OPC服务,点击Find
- 列表中有对应的OPC服务,说明运行工具的机器可以连到这个OPC服务
- 该OPC服务名称,就是设备的连接串,复制到连接字符串中
- 设备参数。通常不需要填写。
- 设备参数1:读取数据方式。缺省为空
- 空:表示要求OPC服务从设备读取
- 非空字符串:表示从OPC服务的缓存读取
- 设备参数2:读取IO方式,缺省为空
- 空:表示同步
- 非空:为异步读取
- 设备参数3:读取死区值,float类型,缺省为空。
- 设备参数1:读取数据方式。缺省为空
设备配置如下图所示:
变量配置
增加变量时,地址格式有两种形式:
- ItemName。大部分OPC服务只要输入ItemName就可以了。
- ItemName@AccessPath。多数OPCServer不支持AccessPath。如果OPC服务支持AcceePath,且AccessPath为空,则只需要输入ItemName
- 示例:
- 如下面一个第三方工具选择Item界面如下,变量地址需要输入为:Random.Boolean。如果OPC服务存在AccessPath,则地址为:Random.Boolean@AccessPath:
- 对于下面模拟器的OPC服务,则地址为ItemName,如a.a.b,其中a.a.b为Knight.OPC.Server.VC上的一个item
- 变量配置步骤
- 在设备变量管理中,点击新增按钮
- 弹出变量新增界面,需要:
- 选择设备
- 输入一个自定义的变量名
- 地址:输入下面查找数据项得到的ItemName
- 数据类型:根据下面查找数据项找到的数据类型
- 点击保存
- 确认OPC数据正确性
- 配置好OPC设备和变量后,重启eview服务pkservermgr
- 使用PKTagMonitor查看,看配置的OPC点值是否取得
- 确认OPC数据正确性
- OPC数据项的查找方法
- 运行上面的OPC查找工具,在查找的OPC服务列表中,双击要连接的OPC服务名称
- 服务名会出现在左侧树中。在服务名上右键鼠标,选择Add Group
- 在弹出框中都不需要修改Group Name等信息。直接点击“确定”
- 左侧书中,服务名下会出现New Group
- 在NewGroup右键,选择Add Item
- 在弹出的框中左侧树点击展开,再在右侧选择节点
- 上面Item Name框会显示Item名称。这个名称就是变量地址
- 点击Add Selected会增加到列表中,应该能读取到值
- 证明OPC服务正常
- 且获取数据正常
变量配置结果如下图所示:
验证步骤:
- 配置完成,可以运行eview,通过画面或者PKTagMonitor.exe查看数据是否正确
OPC模拟器
模拟器的使用:
- 以管理身份运行OPC_KOS_Server/KOSVC.exe,会出现Knight.OPC.Server.VC的模拟OPC服务界面
- 注册OPC服务。点击菜单OPC/Register,会弹出:Register OK
- 如果不是以管理员身份运行,则不会弹出Register OK,注册也无法成功。用其他OPC客户端查找本地的OPC服务,也会查找不到
- 如果不是以管理员身份运行,则不会弹出Register OK,注册也无法成功。用其他OPC客户端查找本地的OPC服务,也会查找不到
- 模拟出来的OPC数据项(Item)名称
- 运行该模拟程序,自动产生的Item,见上图框出来的部分。如a.a.a,a.a.b
- 也可以增加自己定义的名称,点击AddItem按钮,在弹出的窗口中添加新的Item变量,填写Item变量名、数据类型以及初始值的属性
OPC环境配置
- 如果eview的OPC驱动,和OPC服务不在一个机器,那么不许进行环境
如果eview的OPC驱动,和OPC服务不在一个机器,也需要配置,见:eView服务上支持OPC环境配置
即使配置完毕,也不能保证一定能够远程连接上OPC
实在连不上,就在OPC服务的那台机器上,安装1个eview,进行本机访问,再把eview数据同步到主eview服务
《OPC环境配置》保证标准的OPC客户端能够连接到OPC服务器,同时eview的服务器能够管理其自带的OPC驱动。OPC服务包括本地服务和远程服务,OPC客户端连接本地服务不需要特殊的配置,但是连接远程服务则需要进行比较复杂的操作,所以这里以WindowXP环境为例,详细介绍远程连接的计算机配置。
1. 本地连接环境
注意给防火墙添加例外,允许服务和客户程序。(也可以直接选择关闭防火墙。)
2. 远程连接环境
„操作系统用户配置
在OPC服务器上用Administrator用户建立一个拥有管理员权限的用户并设置密码(密码不能为空),如用户名OPCClientUser,密码123;在OPC客户机上进行相同的操作,并用该用户登入。只有建立了能相互识别的用户账号,才可能建立OPC通讯。
...