xiaomz12345678 2023-03-15 09:51 采纳率: 50%
浏览 76
已结题

OPCUA open62541连接西门子840d sl出现错误,有偿求解

采用open62541连接连接西门子840d sl服务器,连接代码如下:

   OpcuaClient* opcClient = new OpcuaClient();  
    UA_ClientConfig* clientConfig = UA_Client_getConfig(opcClient->m_Client);
    UA_ClientConfig_setDefault(clientConfig);
    clientConfig->timeout =10000;
    clientConfig->securityMode = UA_MESSAGESECURITYMODE_NONE;
    clientConfig->securityPolicyUri = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#None");
    //连接OPCUA Server
    opcClient->ConnectServer("192.168.1.201", 4840, "OpcUaClient", "OpcUaClient");

连接后出现的问题,可能是安全策略的问题 ,想向大家请教一下如何解决~

img

  • 写回答

8条回答 默认 最新

  • qq_57703145 2023-03-15 09:56
    关注

    根据您提供的代码和错误描述,连接问题可能与安全策略有关。在您的代码中,您设置了安全模式为"UA_MESSAGESECURITYMODE_NONE",并且安全策略为"http://opcfoundation.org/UA/SecurityPolicy#None%22%EF%BC%8C%E8%BF%99%E8%A1%A8%E7%A4%BA%E6%82%A8%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%AE%89%E5%85%A8%E7%9A%84%E8%BF%9E%E6%8E%A5%E6%96%B9%E5%BC%8F%E3%80%82%E4%BD%86%E6%98%AF%EF%BC%8C%E5%A6%82%E6%9E%9COPC UA服务器需要安全连接,您将无法连接并获得连接错误。

    要解决此问题,您需要了解OPC UA服务器的安全配置,并相应地更改客户端的安全配置。如果OPC UA服务器需要安全连接,则必须使用安全模式和安全策略来设置客户端。通常,安全模式将设置为"UA_MESSAGESECURITYMODE_SIGNANDENCRYPT",而安全策略将设置为服务器所支持的策略之一。

    以下是示例代码,用于使用安全模式和安全策略连接OPC UA服务器:

    OpcuaClient* opcClient = new OpcuaClient();  
    UA_ClientConfig* clientConfig = UA_Client_getConfig(opcClient->m_Client);
    UA_ClientConfig_setDefault(clientConfig);
    clientConfig->timeout = 10000;
    clientConfig->securityMode = UA_MESSAGESECURITYMODE_SIGNANDENCRYPT;
    
    // 设置支持的安全策略之一,例如:http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256
    UA_String securityPolicy = UA_STRING("http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256");
    clientConfig->securityPolicyUri = securityPolicy;
    
    // 连接OPCUA服务器
    opcClient->ConnectServer("192.168.1.201", 4840, "OpcUaClient", "OpcUaClient");
    

    注意,您需要使用服务器支持的安全策略之一,否则连接仍然将失败。另外,您还需要正确设置OPC UA服务器的证书和密钥,以确保安全连接的成功。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 3月27日
  • 已采纳回答 3月19日
  • 创建了问题 3月15日

悬赏问题

  • ¥15 R语言爬虫的时候元素和园代码不一样怎么解决呀
  • ¥15 VS2022多项目启动有问题
  • ¥15 SQL删除添加数据后序号不连续问题。
  • ¥15 首次运行OmniEvent运行报错
  • ¥15 有没有人知道这个问题怎么解决
  • ¥15 comsol电力电缆载流量仿真
  • ¥15 webSocket可以接TCP socket接口吗
  • ¥60 mpi并行出错,CFD++计算
  • ¥15 c#:vsto,powerpoint的外接程序中换主题颜色
  • ¥15 状态机/汽车转向灯/Sateflow