使用组态连接(S7-1500, S7-1500T) 简介 本节介绍了如何为 OPC UA 指令使用组态连接(第三步)。 要求 •已创建客户端接口,并已向该接口添加 PLC 变量和 PLC 方法,参见(“第一步 (页 1951)”)。 • 已组态与OPC UA 服务器的连接(第二步 (页 1964))。 概述 要从 OPC UA 服务器读取数据或向 OPC UA服务器写入数据,请使用以下指令: • OPC_UA_Connect • OPC_UA_NamespaceGetIndexList •OPC_UA_NodeGetHandleList • OPC_UA_ReadList or OPC_UA_WriteList •OPC_UA_NodeReleaseHandleList • OPC_UA_DisconnectOPC UA 指令的顺序下图显示了使用 OPC UA 指令读取或写入 PLC 变量时这些指令在用户程序中的调用顺序:如果要将数据写入 OPC UA服务器中,则可在“数据访问 > 读取/写入列表”(Data access > Read/ Writelist)中选择需使用的写入列表(在本示例中,为写入列表“ProductionStatus”)。 8.使用拖放操作,将“OPC_UA_ReadList”指令移动到程序编辑器中。 – 选择“多重实例”(Multi-instance)调用选项。 – 如果编辑器尚未打开,请单击工具箱符号(LAD 和 FBD)或实例名称下方的小绿框 (STL 和 SCL)。 –选择要使用的客户端接口。示例使用“ProductionLine”客户端接口。 – 在“数据访问 > 读取列表”(Dataaccess > Read list) 中,选择需使用的读取列表(在本 示例中,为读取列表“Product”)。 STEP 7现在自动与“OPC_UA_ReadList”指令的所有参数互连。 如果要将数据写入 OPC UA服务器中,则可使用“OPC_UA_Write”指令,并在“数据访问 > 写入列表”(Data access >Writelist) 中选择待发送到服务器的变量列表(在示例中,为写入列表 “ProductionStatus”)。 9.如果要在用户程序中使用不同的读取列表或写入列表作为程序控制列表,则可使用拖放操作,将“OPC_UA_NodeReleaseHandleList”指令移动到程序编辑器中。 – 选择要使用的客户端接口。 –现在选择要发布的读取列表或写入列表。由于重新注册非常耗时,仅释放极少使用的 读取或写入列表。 –然后使用“UA_NodeGetHandleList”指令重复执行第 7 步开始的步骤。10.使用拖放操作,将“OPC_UA_Disconnect”指令移动到程序编辑器中。 –选择“多重实例”(Multi-instance) 调用选项。 – 如果编辑器尚未打开,请单击工具箱符号(LAD 和FBD)或实例名称下方的小绿框 (STL 和 SCL)。 –选择要使用的客户端接口。在本示例中,使用“ProductionLine”客户端接口。 STEP 7现在自动与“OPC_UA_Disconnect”指令的所有参数互连。 支持的指令 对于下列指令,如果使用的是客户端接口以及与 OPCUA 服务器的已组态连接,则 STEP 7 会 自动提供参数。 • OPC_UA_Connect •OPC_UA_NamespaceGetIndexList • OPC_UA_NodeGetHandleList •OPC_UA_MethodGetHandleList • OPC_UA_MethodReleaseHandleList •OPC_UA_ReadList • OPC_UA_WriteList① 用于准备读取和写入操作的指令 ② 读取和写入指令 ③完成读取或写入操作后用于进行“清理”的指令 如果随后立即调用“OPC_UA_Disconnect”,则可省略“OPC_UA_NodeReleaseHandleList”指令。 如果使用的是客户端接口以及与 OPC UA 服务器的已组态连接,则STEP 7 (TIA Portal) 会自 动提供这些指令的参数。 使用客户端接口和已组态连接 要使用已组态 OPC UA连接,请按以下步骤操作: 1. 在 TIA Portal 中打开用户程序。 2.使用拖放操作,将“OPC_UA_Connect”指令移动到程序编辑器中。 该指令位于 TIA Portal 的“指令 > 通信> OPC UA”(Instructions > Communication > OPC UA) 中。 3.选择指令的调用选项。 示例使用多重实例。 STEP 7 会在程序编辑器中显示指令。 函数块图 (FBD)编程语言编辑器使用以下显示:
用户认证方式可通过以下几种方式进行用户认证: • 访客 此类用户无需进行身份验证(匿名访问)。CPU 将为该用户创建一个匿名会话,同时 OPCUA 服务器也不会对该客户端用户进行身份验证。 • 用户名和密码 此类用户需证明身份验证(非匿名访问)。OPC UA服务器将检查客户端用户是否具备访 问服务器的权限。并通过用户名和正确的密码进行身份验证。客户端接口无法检查这些输入,即所有值都将接受为有效值。 说明 STEP 7 会将用户名和密码以未加密形式存储在数据块/背景数据块中。建议:使用用户认证“用户(TIA Portal - 安全设置)”(User (TIA Portal - security settings))。 •用户(TIA Portal - 安全设置) 通过在项目中所输入的用户名列表中输入一个用户名进行验证。在项目树中的用户管理中,通过“安全设置 > 用户和角色”(Security Settings > Users and roles)查看当前项目中 已注册的用户名称。此外,也可输入其它用户名。用户可输入该项目用户管理中未列出的名称,或将该字段保留为空。仅当运行过程中相 应的用户名出处不同(如,通过 HMI 或来自不同的OPC UA 客户端)时,才需执行该操作。 “不安全”安全策略和通过用户名和密码进行身份验证 可执行以下组合设置:“不安全”安全策略和通过用户名和密码进行身份验证 • S7-1500 的 OPC UA 服务器支持该组合设置。OPC UA客户端可连接并加密认证数据,反 之亦然。 • S7-1500 CPU 的 OPC UA客户端也支持该组合设置:但在运行时,仅当通过电缆发送加 密的认证数据时才能连接! 结果:使用以下组态,无法在运行时中建立连接。 •S7-1500 用作 OPC UA 客户端 • 当安全策略设置为“不安全”(="none") 时,不支持认证数据加密的 OPC UA服务器。 参见 具有 OPC UA 功能权限的用户和角色 (页 1879)提示和建议 (S7-1200, S7-1500,S7-1500T) 订阅规则 (S7-1200, S7-1500, S7-1500T) 以下规则适用于订阅部分: •根据不同的采样和发布时间间隔对订阅分组,并将被监视的元素(变量)分配到这些组 中。 示例:创建一个发布时间间隔较长(如 5秒)的订阅和一个发布时间间隔较短(如 0.1 秒)的订阅。 • 禁用不需要的订阅。 原因:“已禁用”订阅模式可以降低资源消耗。 •为进一步优化资源利用率,请缩短客户端的订阅超时。订阅超时不能直接修复,此时间由服务器确认的订阅设置“PublishingInterval”和“LifetimeCount”决定。背景:客户端创建了订阅并且会话终止时,订阅仍保留在服务器中并占用存储器资源。 OPC UA服务器仅在因订阅超时而结束订阅周期时释放所需资源。 • 需注意相应 S7-1500 CPU 可监视的订阅项目的Zui大数量。 在相应CPU 的技术规范中,可以找到该信息。此信息基于 1 秒的采样/发布时间间隔。 更多信息,请参见”。 • 针对 OPC UA 客户端和OPC UA 服务器,选择相同的采样和发布时间间隔。 • 避免将数组和结构作为订阅的元素(如果过程允许)。原因:即使数组/结构中有一个值发生变化,也需要传送整个结构,从而产生不必要的通 信负载。 •偶尔发生与所需的采样率不兼容的情况,S7-1500 CPU 的 OPC UA 服务器根据 OPC UA 规范使用“GoodOverload”错误代码进行确认,另请参见 TIA Portal 帮助。不同的 OPC UA 客户端以不同的方式处理不等于“0”的“Good”错误代码。请注意此行为,必要时根据上述措 施降低通信负载。面向用户程序的规则(S7-1200, S7-1500, S7-1500T) OPC UA 的用户程序 以下规则适用于用户程序: •如果应用程序允许,并且通信负载过高,应该设置周期性 OB 的Zui小时间。 优势: – 循环时间多数情况下是不变的 – 整个过程中 CPU可以分配更多的时间处理通信任务 提示:要分析 CPU 利用率(例如通信),请使用指令“RT_INFO:读取运行系统统计数 据”;模式21 或模式 25(参见 TIA Portal 帮助)。 • 减少可以通过 OPC UA/HMI访问的变量或数据块的数量。默认情况下,创建变量/DB/IDB 时,来自 OPC UA/HMI的所有变量都可以访问。在运行状态下加载时,此措施可以改进 性能。 提示:通过在 TIA Portal 中使用详细对象显示,可以轻松将非OPC-UA 相关数据块标记为 “无法从 OPC UA 访问”(not accessible from OPC UA)。 • 只有通过OPC UA 方法才能实现一致的数据传输,不受简单数据类型的限制。如果使用 其他 OPC UA功能(订阅、读写),必须确保应用中的数据一致性。 • OPC UA提供“RegisterNodes”服务对相同的变量进行重复读写。服务器可使用该服务准备 对变量的优化访问。作为 OPC UA 客户端的S7-1500 的指令 “OPC_UA_NodeGetHandleList”可隐式调用该服务,使服务器准备好进行优化访问(在 OPCUA 用法“注册的读写”中)。 在 TIA Portal 中调用详细的对象显示 要调用详细的对象显示,请执行以下步骤: 1.在门户视图中切换到“PLC 编程”(PLC Programming) 门户。 2. 选择“显示所有对象”(Show allobjects)