Skip to main content

使用到 OPC UA 服务器的动态连接

数据源(OPC UA 客户端)和 OPC UA 服务器之间的通信设置可以通过 IEC 代码动态配置,也可以在运行时更改。为此,中提供了一个结构 DatasourceOpcUAServer 图书馆。当你使用这种 “动态连接” 时,可以在运行时再次更改服务器 URL。例如,如果设备在配置时位于不同的网络上,则这可能是必要的。此外,可以为 OPC UA 连接进行详细设置

过程. 扩展 IEC 代码

要求:您已在中创建了 OPC UA 客户端数据源 CODESYS 项目。有关更多信息,请参阅以下内容: 建立数据源 OPC UA 客户端到 OPC UA 服务器的加密连接

  1. 在你的项目中,声明一个类型的变量 DatasourceOpcUaServer.UserConfigurationV1 在静态内存中。例如,在 GVL 或程序中这是可能的。

    变量 config 在 POU 中 PLC_PRG

    PROGRAM PLC_PRG
    VAR	
        config : DatasourceOpcUaServer.UserConfigurationV1 := (
            SessionName := 'MyCustomSession',		
            EndpointUrl := 'opc.tcp://DevXY:4840',		
            SecurityPolicyUri := DatasourceOpcUaServer.CmpOpcUaStack_Interfaces.OpcUa_SecurityPolicy_None);	
        value : INT;
    END_VAR
  2. 打开数据源的编辑器并选择 沟通 选项卡。

  3. 在输入字段中,引用变量 PLC_PRG.config从 IEC 变量读取连接设置 选项。

    该选项卡的屏幕截图

    _comm_use_lib_DatasourceOpcUAServer.png
  4. 现在使用设置值填充结构。请注意,您可以填充的字段 UserConfigurationV1 随时使用值进行结构。例如,这可以在启动控制器时、从配置文件或可视化对话框中完成。

    但是, EndpointUrl 必须始终定义设置。

    所有其他设置可以自由分配。例如,通过这种方式,可以使用与普通编辑器不同的安全操作模式。此外,编辑器中不可用的某些设置可以在 OPC-UA 连接上进行配置

  5. 配置完所有连接设置后,您可以设置 xValid 的参数 UserkonfigurationV1TRUE

    在的实施部分 PLC_PRG:

    config.SubscriptionPublishingInterval := config.SamplingInterval := TIME#2S;
    config.xValid := TRUE;

    在下一个周期中,数据源建立连接。只要存在连接,对设置的更改就不会生效。它们只有在下次建立新连接时才会被传输。

    xValid 设置设置为 FALSE,数据源会自动断开与服务器的连接,并且可以再次更改设置。

在文档视图中 DatasourceOpcUAServer 库,您可以在库管理器中查看结构的当前可用设置参数及其默认值的概览。新版本的数据源可能会提供新的选项。