【PLC】如何使用KepServer搭建Opc UA Client
一、配置OPC UA服务器
OPC UA 官方介绍:
OPC统一体系结构(UA)是OPC基金会在几十个成员组织的帮助下创建的一个开放标准。虽然UA打算提供一个平台独立的互操作性标准(为了摆脱Microsoft COM),但它并不是OPC数据访问(DA)技术的替代品。对于大多数工业应用程序,UA将补充或增强现有的DA架构。它不会是一个全系统的替代。OPC UA以以下方式补充OPC DA基础设施:
它提供了一种不依赖于Microsoft DCOM的客户机到服务器连接的安全方法,并且能够通过防火墙和VPN连接安全地连接。对于在域上的企业网络(防火墙内)中连接到远程计算机的用户,OPC DA和DCOM连接可能是令人满意的。
它提供了一种将工厂层数据共享给业务系统(从车间到顶层)的额外方式。OPC UA可以将来自多个OPC DA源的数据聚合到非工业系统中。
对于大多数用户应用程序,UA标准最相关的组件如下:
通过客户端和服务器端点的可信证书进行安全连接。
健壮的项目订阅模型,提供客户端和服务器之间的高效数据更新。从参与的UA服务器发现可用信息的增强方法。
OPC UA配置管理器:
OPC UA配置管理器帮助用户管理UA服务器配置设置。OPC UA的安全性要求所有参与UA通信的端点都通过安全连接进行此操作。为了满足这个安全要求,每个UA服务器实例和UA客户机实例必须提供可信的证书来标识自己。这些证书可以自签名。因此,在尝试任何安全的UA客户机/服务器连接之前,必须由具有管理员权限的用户将它们添加到服务器和客户机节点上的本地可信证书存储区。OPC UA配置管理器是一个用户友好的界面,通过它可以执行证书交换。
1、KepServer连接PLC后即可作为OPC DA服务器了,当然UA服务器也可以用了,下面介绍一下如何对UA进行相应设置,UA的设置在Administrator中,点击过后可以看到任务栏右下角有KepServer的图标,右击。
二、OPC UA Client Driver
官方简介
OPC UA Client Driver 作为服务器之间的隧道解决方案,通过 VPN 或 Internet
连接同一网络上的两个OPC服务器。它支持 OPC 统一架构 (UA) 规范,一种基于 OPC 数据访问扩展而来的技术。OPC UA提供了无需DCOM配置的即插即用功能,并提供了 OPC 服务器之间的安全可靠的连接。
OPC UA Client Driver 支持连接到支持以下配置文件的 UA 服务器︰
(1)、Nano 嵌入式设备服务器配置文件
此配置文件适用于资源有限的芯片级设备。由于资源限制,支持此 OPC UA 配置文件的设备不支持订阅或受监视项 UA 服务。UA 服务器仅支持无安全防护的连接。当“Device Update Mode”(设备更新模式) 属性设置为“Poll”(轮询) 时,OPC UA Client Driver 与 UA 服务器一起运行。
(2)、Micro 嵌入式设备服务器配置文件
此配置文件适用于资源有限的设备。支持此配置文件的 UA 服务器至少支持两个会话和小部分受监视项的订阅。当“Device Update Mode”(设备更新模式) 属性设置为“轮询”和“异常”时,OPC UA Client Driver与 UA 服务器一起运行;然而,在添加信道、设备和标记时,用户应清楚会话、订阅和受监视项的限制。
(3)、嵌入式 UA 服务器配置文件
支持此配置文件的 UA 服务器应等同于安全性更高的 Micro 嵌入式设备服务器配置文件。当“Device Update Mode”(设备更新模式) 属性设置为“轮询”和“异常”时,OPC UA Client 驱动程序与 UA 服务器一起运行;然而,在添加信道、设备和标记时,用户应清楚会话、订阅和受监视项的限制。
(4)、标准服务器
支持标准服务器配置文件的 UA 服务器支持多个会话、订阅和受监视项。当“Device Update Mode”(设备更新模式) 属性设置为“Poll”(轮询) 和“异常”时,OPC UA Client Driver与 UA 服务器一起运行。
OPC UA Client Driver图示:
OPC UA Client Driver可在两个 OPC 服务器间创建隧道。例如,假设要在 OPC 服务器 A 和 OPC 服务器 B 之间创建隧道,用户可在 PC 服务器 B 上创建OPC UA Client Driver信道,并配置该信道为连接到运行在 OPC 服务器 A 的 OPC UA 服务器接口上。一旦“数据客户端”连接到 OPC 服务器 B,则两个 OPC 服务器之间即存在隧道。尽管数据客户端可能无法独立从 OPC 服务器 A 接收数据,但它可在驱动程序帮助下接收数据。
信道和设备的最大数量:
此驱动程序支持的最大信道数量为 128。此驱动程序所支持设备的最大数量为每信道 256 个。
1、新建OPC UA Client Driver通道
自定义通道名:
点击下一步:
根据连接UA服务器进行设置:
端点 URL:UA服务器网址,共由3部分组成,一般设备商会直接提供。
安全策略这个设置要注意一下,一定要和UA服务器匹配,不然没发对设备进行读写,遇到过的大部分设备商安全策略都是无,这个根据UA服务器进行设置即可。
下面是官方设置资料:
“端点 URL”(Endpoint URL):此属性用于指定端点的 URL。每个端点都有唯一的 URL。要查找 URL,请单击 … 以调用 OPC UA 服务器浏览器。浏览器将返回选定端点的 URL、安全策略和消息模式。
注意︰当跨 Internet 或多个域进行连接时,无法浏览 OPC UA 端点。对于远程连接,必须手动输入端点。要执行此操作,用户需要端点类型 (“opc.tcp”)、端点主机名称 (IP 地址、URL 或 DSN) 和端点的端口号。
“安全策略”(Security Policy):此属性指定端点的安全策略。有三个选项:Basic128Rsa15、Basic256 和“无”。默认值为 Basic256。当选择其他选项时,连接需要OPC UA Client Driver和 UA 服务器交换证书。有关详细信息,请参阅证书模型。
“消息模式”(Message Mode):此属性指定当在驱动程序和服务器之间发送消息时,所使用的的加密模式。有三个选项:“无”、“签名”和“签名与加密”。默认值为“签名”。选项说明如下:
“无”:此模式最不安全,但是最快。
“签名”:此模式更安全,但会降低通信速度。使用时,校验和添加到末尾消息以确保内容到达清晰而不变。
SignAndEncrypt:此模式更安全,但会降低通信速度。使用时,使用安全策略中所选的加密方法已加密的校验和添加到消息以确保内容到达清晰而不变的结尾。
注意︰ u 某个端点支持对安全策略和消息模式。例如,服务器可能支持安全策略“无”和消息模式“无”,以形成“无,无”配对。同样,端点可能支持 “Basic128Rsa15, SignAndEncrypt” 配对。配置安全策略和消息模式时,请确保 UA 端点支持该配对。
直接下一步(可根据项目需求进行设置):
官方介绍:
“连接超时”(Connection Timeout):指定在发出连接调用后,信道等待成功连接的最长时间。短超时使应用程序响应更快;长超时使信道更容易连接。有效范围为 1 到 30。默认值为 30 秒。
“空闲会话超时”(Idle Session Timeout):指定在无活动时会话保持打开状态的最多分钟数。如果客户端无法在此时间间隔内发出请求,服务器将自动终止连接。有效范围为 1 到 20。默认值为 20 分钟。
“信道更新间隔”(Channel Renewal Interval):指定两次信道更新的时间间隔,单位为分钟。驱动程序会在该时间消耗 75% 后更新信道安全性。减小该时间间隔可使信道/连接更安全,但也可能会降低信息的传输速率。有效范围为 10 到 60。默认值为 60 分钟。
“重新连接间隔”(Reconnect Interval):指定信道连接失败或断开连接的情况下尝试重新连接的速率。有效范围为 5 到 600。默认值为 5 秒。连接尝试的间隔至少应是“重新连接间隔”指定的速率,但是如果“连接超时”间隔比“重新连接间隔”长,则连接尝试的间隔可能会更长。
“监视器间隔”:指定信道读取远程“服务器状态”节点以更新服务器的速率,以及该读取的超时时间。此读取结果可用于:
读取失败或超时后开始尝试重新连接
处理服务器正在关机的情况。
注意: 如果信道确定由于监视器读取失败导致其已断开连接,则将在尝试重新连接前等待“重新连接间隔”中设置的时长。重新连接尝试期间使用的超时值是由“连接超时”属性指定的。
查看通道属相,确认无误后点击完成:
设置ua的用户名
设置完成
自定义设备名,添加设备
直接下一步:
官方介绍:
“扫描模式”为需要设备通信的标记指定预订客户端请求的扫描速率。同步和异步设备的读取和写入会尽快处理;不受“扫描模式”属性的影响。
“扫描模式”(Scan Mode):为发送到预订客户端的更新指定在设备中扫描标记的方式。选项说明如下:
“遵循客户端指定的扫描速率”(Respect Client-Specified Scan Rate):此模式可使用客户端请求的扫描速率。
“不超过扫描速率请求数据”(Request Data No Faster than Scan Rate):此模式可指定要使用的最大扫描速率。有效范围为 10 至 99999990 毫秒。默认值为 1000 毫秒。
注意:当服务器有活动的客户端和设备项且扫描速率值有所提高时,更改会立即生效。当扫描速率值减小时,只有所有客户端应用程序都断开连接,更改才会生效。
“以扫描速率请求所有数据”(Request All Data at Scan Rate):此模式将以预订客户端的指定速率强制扫描标记。有效范围为 10 至 99999990 毫秒。默认值为 1000 毫秒。
“不扫描,仅按需求轮询”(Do Not Scan, Demand Poll Only):此模式不会定期轮询属于设备的标签,也不会在一个项变为活动状态后为获得项的初始值而执行读取操作。客户端负责轮询以便更新,方法为写入 _DemandPoll 标记或为各项发出显式设备读取。有关详细信息,请参阅服务器帮助中的“设备需求轮询”。
“遵循标签指定的扫描速率”(Respect Tag-Specified Scan Rate):此模式将以静态配置标记属性中指定的速率强制扫描静态标记。以客户端指定的扫描速率扫描动态标记。
“来自缓存的初始更新”(Initial Updates from Cache):启用后,此选项允许服务器为存储 (缓存) 数据的新激活标签参考提供第一批更新。只有新项参考共用相同的地址、扫描速率、数据类型、客户端访问和缩放属性时,才能提供缓存更新。设备读取仅用于第一个客户端参考的初始更新。默认设置为禁用;只要客户端激活标记参考,服务器就会尝试从设备读取初始值。
设置订阅参数:
官方介绍:
“订阅”(Subscription) 组用于配置监控项接收的数据更新。
“发布间隔”(Publishing Interval):指定驱动程序更新标记的速率 (以毫秒为单位)。如果 OPC UA 服务器不支持该值,则连接时将对该值进行协商。有效范围为 100 到 60000。默认值为 1000 毫秒。
“每次发布的最大通知数”(Max. Notifications Per Publish):指定单个发布响应过程中服务器发送到驱动程序的最大通知数。如果该值过低,不能足够快的发送标记更新,服务器可能会删除标记更新。值为 0 代表无限制。有效范围为 0 到 9,999,999,999。默认值为 0。
“更新模式”(Update Mode):选择订阅的更新方式。有两个选项:“例外”和 “轮询”。在“例外”模式下,如果数据发生更改,将按照发布间隔对订阅标记进行更新。在“轮询”模式下,将以发布间隔的速率对所有订阅标记进行异步读取。默认值为“例外”。
“已注册读取/写入”(Registered Read/Write):当订阅“更新模式”为“轮询”(Poll) 时,将标记注册到 UA 服务器可优化读取/写入操作。服务器客户端引用标记时,标记依然保持已注册到服务器的状态。默认值为“已启用”。
设置连接属性:
官方介绍:
“连接”组用于配置订阅超时和保持连接属性。
“生存期计数”(Lifetime Count):用于指定在 OPC UA Client Driver 未发送数据更新或保持连接消息的情况下,服务器删除订阅前发布间隔可到期的次数。生存期计数越大,通信中断后订阅保持运行的时间越长。有效范围为 3 到 300。默认值为 60。
“保持连接计数”(Keep-Alive Count):用于指定发送保持连接消息前必须经历的发布间隔数。有效范围为 1 到 10。默认值为 5。
注意:在 OPC UA Client Driver 和 UA 服务器之间传输少量数据期间,“保持连接计数”越小,通信次数就越多。而“保持连接计数”越大,上述期间内的通信次数就越少,但这也会降低驱动程序在连接中断时的响应能力。
“优先级”(Priority):选择订阅的相对优先级。当不止一个订阅需要发送通知时,OPC UA 服务器首先发送来自最高优先级订阅的数据。应将无需特殊优先级的应用程序设为最低优先级。默认值为最低。
设置通讯参数:
官方介绍:
通信参数配置预订的读/写属性。
请求大小
“每次可读取的最多项目”:指定服务器每次读取调用的最多项目数。由于分组情况下读取会更有效,因此,应尽可能提高此值以减少读取次数。有效范围为 1 到 4096。默认值为 512。此属性也可用于在标记生成过程中读取必须验证的标记属性,并将其导入。
“每次可写入的最多项目”:指定服务器每次写入调用的最多项目数。由于分组情况下写入会更有效,因此,应尽可能提高此值以减少写入次数。有效范围为 1 到 512。默认值为 512。
异步请求超时
“读取超时”:指定服务器针对每次读取调用等待的时间 (以毫秒为单位) 。超时越短,越可能导致读取超时。如果通信中断,长时间超时可能造成驱动程序响应变慢。有效范围为 100 到 30000。默认值为 1000。
“写入超时”:指定服务器针对每次写入调用等待的时间 (以毫秒为单位)。超时越短,越可能导致写入超时。如果通信中断,长时间超时可能造成驱动程序响应变慢。有效范围为 100 到 30000。默认值为 1000。
写入行为
“写入后读取”:选取“启用”,可在使用写入命令后强制执行显式读取 (以确认新值)。选取“禁用”,可在下一次发布或轮询响应后进行更新。默认设置为“启用”。
设置监控项参数:
官方介绍:
订阅包含监控项目,也称为标记。“监控项”组用于配置标记更新速度以及 OPC UA 服务器如何处理标记更新。
“采样间隔”(Sample Interval):指定监控项的最快更新速率。值为 -1 时,默认间隔为预订的发布间隔。值为零表示 OPC UA 服务器应使用最快的实际速率。有效范围为 -1 到 50000。默认值为 500 毫秒,是默认发布间隔的一半。
注意:如果数据的更改速度比“发布间隔”更快,则“采样间隔”必须设置为“发布间隔”的一半。这样可以确保数据以发布间隔更新。例如,如果发布间隔为 10000 毫秒,并且数据每 100 毫秒更改一次,则采样间隔必须至少为 5000 毫秒。这样可以确保数据每 10000 毫秒更新一次。
“队列大小”(Queue Size):指定 OPC UA 服务器排队进行订阅的数据更新数。值为 1 将禁用排队。值大于 1 将启用排队。有效范围为 1 到 100。默认值为 1。
“放弃最早的”(Discard Oldest):指定队列的放弃策略。启用后,队列中最早的通知将被丢弃,而不向驱动程序发送。禁用后,最新通知将被丢弃,而不向驱动程序发送。默认设置为已启用。
注意:只有在“发布间隔”到期之前队列填满时,才会丢弃通知。
“死区类型”(Deadband Type):指定要应用于数据更改的死区过滤器类型。提供三个选项:“无”、“百分比”和“绝对”。“无”会禁用死区。“百分比”仅在更改大于标记最大范围的某一百分比时才会发送数据更新。“绝对”将在更改大于某个指定值时发送数据更新。有效范围为 0 到 9,999,999,999。默认值为“无”。
“死区值”︰指定死区的值。如果将“死区类型”设为“百分比”,则此值为百分数 (如 10 = 10%)。如果将“死区类型”设为“绝对值”,则此值为精确值。有效范围为 0 到 9,999,999,999。默认值为 0。
点击导入项目:
浏览UA服务器中的数据,选择需要的进行导入,完成后点击确定。
官方介绍:
导入会启动浏览器,通过该浏览器可以从 OPC UA 服务器导入标记。单击“选择导入项目”(Select import items…) 启动标记浏览器。
选择要导入的项
OPC UA 标记浏览器用于浏览连接父通道的 OPC UA 服务器。
浏览”:提供表示 OPC UA 服务器层次结构的树结构。其中包括所有 OPC UA 服务器标记和标记组。
“叶状过滤器”(Leaf Filter)︰限制显示在浏览树中的项,仅显示与过滤器匹配的项。有关语法的详细信息,请参阅下表。
“导入为‘默认数据类型’”︰启用后,导入项的“数据类型”将设为“默认”。
阵列中的字符
字符串中的匹配项
? :任意单个字符
*:无字符或多个字符
#:任意单个数字 (0-9)
[charlist] :字符列表中的任意单个字符
[!charlist] :不在字符列表中的任意单个字符
“添加项”︰将在浏览树中选定的项目添加到导入项目列表。
“添加分支”(Add Branches)︰将浏览树中选定分支下的所有项目添加到导入项目列表。
“移除项”︰从项目列表中移除选定项目。
“导入项”︰由设备导入的所有项目的列表。
查看设备参数,确认无误后点击完成。
使用quickclient查看数据
- 本文标签: opc
- 本文链接: http://www.unknowtime.top/article/155
- 版权声明: 本文由仓颉大哥原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权