使用到 OPC UA 服务器的动态连接
数据源(OPC UA 客户端)和 OPC UA 服务器之间的通信设置可以通过 IEC 代码动态配置,也可以在运行时更改。为此,中提供了一个结构 DatasourceOpcUAServer 图书馆。当你使用这种 “动态连接” 时,可以在运行时再次更改服务器 URL。例如,如果设备在配置时位于不同的网络上,则这可能是必要的。此外,可以为 OPC UA 连接进行详细设置
要求:您已在中创建了 OPC UA 客户端数据源 CODESYS 项目。有关更多信息,请参阅以下内容: 建立数据源 OPC UA 客户端到 OPC UA 服务器的加密连接
在你的项目中,声明一个类型的变量
DatasourceOpcUaServer.UserConfigurationV1在静态内存中。例如,在 GVL 或程序中这是可能的。变量
config在 POU 中PLC_PRGPROGRAM PLC_PRG VAR config : DatasourceOpcUaServer.UserConfigurationV1 := ( SessionName := 'MyCustomSession', EndpointUrl := 'opc.tcp://DevXY:4840', SecurityPolicyUri := DatasourceOpcUaServer.CmpOpcUaStack_Interfaces.OpcUa_SecurityPolicy_None); value : INT; END_VAR打开数据源的编辑器并选择 沟通 选项卡。
在输入字段中,引用变量
PLC_PRG.config的 从 IEC 变量读取连接设置 选项。该选项卡的屏幕截图

现在使用设置值填充结构。请注意,您可以填充的字段
UserConfigurationV1随时使用值进行结构。例如,这可以在启动控制器时、从配置文件或可视化对话框中完成。但是,
EndpointUrl必须始终定义设置。所有其他设置可以自由分配。例如,通过这种方式,可以使用与普通编辑器不同的安全操作模式。此外,编辑器中不可用的某些设置可以在 OPC-UA 连接上进行配置
配置完所有连接设置后,您可以设置
xValid的参数UserkonfigurationV1到TRUE。在的实施部分
PLC_PRG:config.SubscriptionPublishingInterval := config.SamplingInterval := TIME#2S; config.xValid := TRUE;
在下一个周期中,数据源建立连接。只要存在连接,对设置的更改就不会生效。它们只有在下次建立新连接时才会被传输。
当
xValid设置设置为FALSE,数据源会自动断开与服务器的连接,并且可以再次更改设置。
在文档视图中 DatasourceOpcUAServer 库,您可以在库管理器中查看结构的当前可用设置参数及其默认值的概览。新版本的数据源可能会提供新的选项。