OPC UA 客户端数据源与 OPC UA 服务器之间的通信设置可通过 IEC 代码动态配置,也可在运行时更改。为此,DatasourceOpcUAServer
库中提供了一个结构。
在使用这种 "动态连接 "时,例如在运行时,如果设备所在的网络与配置时不同,则可以再次更改服务器 URL。它还可用于配置 OPC UA 连接的详细设置。
Requirement
-
您在 CODESYS 项目中创建了一个 OPC UA 客户端数据源。更多信息,请参见建立数据源 OPC UA 客户端与 OPC UA 服务器的连接。
-
在数据源的“Communication” 选项卡上,现在选择“Read Connection Settings from IEC Variable” 选项。
-
在静态存储器中(例如,在 GVL 或项目中的程序中),创建一个类型为
DatasourceOpcUaServer.UserConfigurationV1
的变量。示例:
PLC_PRG
程序中的config
变量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
-
在“从 IEC 变量读取连接设置” 选项下方的输入框中,引用步骤 2 中创建的变量:
例如
PLC_PRG.config
现在,您可以随时在
UserConfigurationV1
结构的字段中填入数值。例如,可以在启动控制器时、从配置文件或可视化对话框中进行操作。在结构中填入设置值时,应遵循以下原则:
-
EndpointUrl
设置总是必须定义的。 -
所有其他设置均可根据需要分配。例如,它们允许使用与普通编辑器不同的安全模式。编辑器中没有的某些设置也可以在 OPC UA 连接上配置。
-
配置好所有连接设置后,可将UserkonfigurationV1
的xValid
参数设置为TRUE
。
示例:在PLC_PRG
的实施部分:
config.SubscriptionPublishingInterval := config.SamplingInterval := TIME#2S; config.xValid := TRUE;
然后,数据源开始在下一个周期建立连接。
在建立连接时更改设置不会产生任何影响,只有在下一次建立新连接时才会应用。
当xValid
设置为FALSE
时,数据源会自动断开与服务器的连接,然后可以再次更改设置。
在DatasourceOpcUAServer
库的文档视图中,可以看到当前可用的结构设置参数概览及其在库管理器中的默认值。新版本的数据源可能会提供新的选项。