加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线18475208684

西门子代理商PLC中国(授权)儋州市

更新时间
2024-06-18 16:41:32
价格
请来电询价
西门子变频器
西门子触摸屏
西门子伺服电机
西门子PLC
西门子直流调速器
西门子电缆
联系电话
13922889745
联系手机
18475208684
联系人
向小姐
立即询价

详细介绍
OPC UA 服务器方法的创建

在 S7-1500 CPU(自固件版本 V2.5 起)的 OPC UA 服务器中,可以选择通过用户程序提供方法。    OPC UA 方法为不同通信节点之间的交互提供了有效机制,该机制提供作业确认和反馈值,因此用户无需再编程握手机制。

OPC UA 方法的工作原理
   通常,OPC UA 方法的工作原理与运行系统中由外部 OPC UA 客户端调用的受专有技术保护函数块的原理类似。OPC UA 客户端仅"监视"已定义的输入和输出,函数块、方法或算法的内容对外部 OPC     UA 客户端保持隐藏,OPC UA 客户端接收成功执行的反馈以及函数块(方法)返回的值,或者,如果执行不成功,则会收到错误消息。

服务器方法的实现
1. 使用 OPC_UA_ServerMethodPre 查询服务器方法调用该指令将执行以下任务:
–  通过该指令询问 CPU 的 OPC UA 服务器是否已通过 OPC UA 客户端调用服务器方法。
–  如果已调用方法,并且服务器方法具有输入参数,服务器方法现在会接收到输入参数。
2. 编辑服务器方法
   在这部分服务器方法中,用户提供实际用户程序。如果服务器方法使用输入参数,则可使用这些参数。   仅当 OPC UA 客户端已调用服务器方法时,才可执行服务器方法的这一部分。成功执行方法后,如果方法具有输出参数,需要设置服务器方法的输出参数。
3. 使用 OPC_UA_ServerMethodPost 响应服务器方法
   要完成服务器方法,应调用 “OPC_UA_ServerMethodPost” 指令。使用参数通知 “OPC_UA_ServerMethodPost” 指令是否已处理用户程序,如果用户程序已成功执行,则会通过相关参数通知 OPC UA 服务器。OPC UA 服务器随后会将服务器方法的输出参数发送到 OPC UA 客户端。
   无论用户程序是由 “OPC_UA_ServerMethodPre” 和 “OPC_UA_ServerMethodPost” 指令处理还是在下一个周期继续执行,始终以成对的形式调用这两个指令。

如下图20所示给出了使用 OPC UA 服务器方法指令为用户程序中所执行的 OPC UA 客户端提供一个方法。需要注意的是服务器方法指令的多重实例必须命名为 “OPC_UA_ServerMethodPre_Instance” 和 “OPC_UA_ServerMethodPost_Instance”,否则不会在服务器上创建方法,还有就是需要声明 “UAMethod_InParameters” 和 “UAMethod_OutParameters” 两个变量分别连接到方法指令引脚上,否则方法指令会报错。

图片

图20.方法程序代码

在客户端内浏览到创建的服务器方法,选中 Method 后鼠标右键来调用方法,在调用方法对话框中传输输入参数点击 Call 按钮,返回输出参数及方法执行后的状态,如下图 21 所示。

图片

图21.方法测试

常见问题及建议

1、通过 OPC UA 客户端访问 OPC UA 服务器的建议

●  对于一次性或不频繁的数据访问,请使用标准的读/写访问。

● 对于少量数据的循环访问(循环间隔Zui长约为 5 秒),请使用订阅。 优化 OPC UA 服务器中的Zui短发布时间间隔设置和Zui小采样时间间隔设置。

● 如果定期访问某些特定变量(重复访问),则可使用函数 “RegisteredRead” 和 “Regist  eredWrite” 。

2、导致 OPC UA 服务器连接失败的原因

当建立到 OPC UA 服务器的连接时,需用注意许多要点来保证过程顺利地进行。以下连接建立出错的原因与用到的 OPC UA 客户端和服务器无关。

基于证书连接的日期和时间

基于证书授权的通讯中,在OPC UA 服务器上,需要检查证书的有效期。这就要求终端系统具备当前时间。对证书检查时,OPC UA 服务器可能会给出时间错误响应,状态码为 “BadSecurityChecksFailed” 或者 “BadCertificateTimeInvalid” 。解决方案建议使用 NTP 服务器来实现时钟同步。如果 NTP 无法实现,则只能手动为终端系统设置当前时间。

经过 NAT 路由器的 OPC UA 客户端-服务器连接尝试失败,产生错误信息 “BadCommunicationError” 或 “BadNotConnected” 。

在NAT系统中,IPv4 数据包被路由器处理。?这意味着数据包的源IP?( “Source NAT” ) 或者目的 IP ( “Destination NAT” ) 会被路由器配置的IP地址替换掉 ( 取决于目的端口 )。而客户端和服务器并不知道这个过程。


联系方式

  • 电  话:13922889745
  • 经理:向小姐
  • 手  机:18475208684
  • 微  信:18475208684