如何配置SIMATIC S7-1500 的OPC UA 客户端可以通过FQDN 或绕过FQDN 连接服务器?
SIMATIC S7-1500 CPU 充当OPC UA 客户端,用于建立到OPC UA 服务器的连接。在CPU的的用户程序中,"OPC_UA_Connect" 块上的错误位是在建立连接时置位的,返回状态值"8005_0000" ("OpcUa_BadCommunicationError").
上述连接错误的常见原因有以下两种:
1. 服务器发送的终端包括一个完整的计算机名(Fully-Qualified Domain Name: "FQDN"完整的域名).
在客户端接口中输入一个IP地址,通过这个地址可以访问到
OPC UA服务器。在建立连接之前,CPU向服务器上的这个IP地址发送一个"GetEndpointRequest"获取终端节点请求,服务器用"GetEndpointResponse"给出响应,并将FQDN作为服务器URI传给客户端。但CPU本身不能处理FQDN。
解决方法
需要一个外部DNS服务器来解析这个FQDN,这必须能够解析与IP 地址对应的名称。DNS服务的IP地址必须让CPU知道,CPU的
DNS配置在硬件配置中的"属性> 高级组态> DNS 组态":
图 1
没有DNS服务器的替代解决方案(S7-1500 固件 2.8 及以上)
在客户端接口的配置数据块(OpcUaClientInterface_Configuration)的"ServerUri"字段中输入客户端接口的"ServerEndpointUrl"的IP地址,可以在块的以下路径中到"ServerUri"字段: "Connection > ConnectInfo > ServerUri". 这样,客户端将通过输入的服务器URI与OPC UA服务器建立连接,而不依赖于服务器通过"GetEndpointResponse" 响应的服务器URI。服务器地址
图. 2
2. OPC UA服务器只能通过FQDN访问。
在客户端接口中只能输入一个IP地址,但是,服务器只能通过名称访问。
注意
只适用TIA Portal V15.1. 从TIA Portal V16开始,可以在配置客户端接口时输入FQDN。
解决方法
必须手动设置"OPC_UA_Connect"块的终端URL。为此,使用"String"类型的全局或静态变量连接到用户程序中
"OPC_UA_Connect"指令的"ServerEndpointUrl"参数,必须在此变量
中指定包含端口的完整服务器。为了能够解析URL中的FQDN,必须在图1中设置DNS服务器地址。
Fig. 3
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论