通过注册提高访问速度 Registered Read/Write 有助于对数据进行重复的优化访问 –具有Zui高性能。注册变量节点时, OPC UA 服务器会创建一个直接引用所注册节点的数字 Identifier(数字NodeId)。对于客 户端对此数字 Identifier 的读取或写入作业,服务器不必将任何字符串解析为 Identifier,并且可以通过优化的方式访问所请求的变量。 该 Identifier 仅适用于当前会话。会话连接中断/丢失时,需重新查询。在以下示例中,在服务器上注册一个“StartTimer”变量。之后,将使用快速功能“RegisteredWrite”对该值进行设置。该过程提供了以下信息: • 启用的 PLC 变量、数据块和数据块元素 • 这些PLC 变量、数据块和 DB 元素的命名空间索引及标识符 • PLC 变量和 DB 元素的数据类型 •数组中的元素数量(读取和写入数组时需要) 还可读取有关 OPC UA 服务器自身的信息,以及基于 OPC Foundation中“OPC UA for Devices”标准的 S7-1500 信息(如,序列号和固件版本) 从服务器中读取数据和写入服务器中的数据现在,您已明确 PLC 变量的命名空间、标识符和数据类型。这表示,用户现在可专门读取各 个 PLC 变量和 DB元素,以及整个数组和结构。 有关读取布尔变量和数组数据块的示例,请参见“寻址节点 (页 1746)”部分。有关访问结构的规则,请单击此处 (页 1963)。 基于浏览服务器地址空间时所读取的信息(索引、标识符和数据类型),还可通过OPC UA 客户端将这些值传输到 S7-1500 中。在以下示例中,介绍了如何覆盖数组数据块“MyDB”中的前三个值。在相同模式中,也可使用函数“RegisteredRead”。在重复读出数据时,该函数优势彰显。但 在具体应用中,则建议使用Subscription 进行代替。 建议:由于注册需要等待一段时间,建议在将注册信息保存在 OPC UA 客户端的启动程 序中。请注意 S7-1500 CPU 属性中可设置的注册节点Zui大数目,客户端需也需符合该数目的 要求。具体信息,请参见“OPC UA服务器的常规设置 (页 1864)”。 订阅 术语“Subscription”时一个函数,该函数仅传输 OPC UA服务器上已注册 OPC UA 客户端中的 变量。数值发生变更后,OPC UA 服务器仅向 OPC UA客户端发送一条有关已注册变量的消息 (monitored Items)。通过对这些变量进行监视,OPC UA 客户端无需再进行固定采样(Polling),这有助于降低网络负荷。 要使用该功能,需创建一个 Subscription。为此,需在 UA 客户端中指定“发布间隔”(Publishing Interval),并单击“创建”(Create) 按钮。发布时间间隔是服务器在通知 (datachange notification) 中向客户端发送新值的时间间隔。 在下面的示例中,已创建了一个订阅:客户端将每隔 50 ms接收一条包含新值的消息(发 布间隔为 50 ms)。
防止服务器过载可通过“Zui小发布时间间隔”(Minimum publishing interval) 设置 S7-1500 CPU 的 OPC UA服 务器,确保不会提供客户端请求的极短发送时间间隔。请参见“服务器的订阅设置(页 1866)”。示例:如上所述,客户端想要以 50 ms 的发布时间间隔进行操作。这样短的发布时间间隔会导致网络负荷和服务器负荷较高。应将服务器的“Zui短发布时间间 隔”(Minimum publishinginterval) 设置为 1000 ms。并将那些订阅需要较短发布时间间隔的 客户端“减速”为1000 ms,从而防止服务器过载。 订阅范围内的采样和传输 (Sampling & Publishing)属于通信过程,与其它通信过程 (TCP/UDP/Web 服务器通信...)一样,均由 CPU 按优先级 15 进行处理。优先级较高的OB 会 中断通信。如果设置的采样和传输时间间隔过短,该设置会导致通信负荷过高。在满足应用需求的前提下,应尽可能选择较大的时间间隔。 有关变量一致性的信息,请参见“变量的一致性在“Voltage”变量中,包含S7-1500 CPU 检测的电压值。 采样间隔(“Sampling Interval”)包含一个负值(-1)。该值决定了将为采样间隔使用 OPC UA 服务器的默认设置。默认设置由订阅的传输间隔(“PublishingInterval”)定义。如果要设置 Zui小的可行采样间隔,请选择数值“0”。 在本示例中,该队列的长度设置为“1”:每隔 50ms,从 CPU 中仅读取一个值,并在该值发 生变更后发送到 OPC UA 客户端。 在本示例中,“死区”(Deadband)参数设置为“0.1”:值的更改值需要达到 0.1 V;只有这样,发送方才会向客户端发送新值。若值的更改幅度小于该值,则服务器不会发送。例如,可使用该参数禁用信号噪声:没有实际意义的过程变量的轻微变化。OPC UA 的信息安全 (S7-1200, S7-1500,S7-1500T) 安全设置 (S7-1200, S7-1500, S7-1500T) 寻址风险 OPC UA支持过程和生产层级中的不同系统之间以及这些系统与控制与企业层级中的系统之 间的数据交换。 这同样将导致信息安全风险。OPC UA提供了一系列安全防护机制: • OPC UA 服务器和客户端的身份验证。 • 检查用户的身份。 • 在 OPC UA服务器和客户端间,对已签名/加密的数据进行交换。 仅在juedui有必要的情况下,才应绕过这些安全策略: • 调试过程中 •在没有外部以太网连接的独立项目中 例如,如果 OPC Foundation 的“UA SampleClient”端点选择了“无”(None),则程序将发出 一条明确的警告消息:STEP 7编译项目时,还会检查用户是否考虑保护设置选项,并会警告用户可能存在的风险。 还包括采用“不安全”(no security) 设置的OPC UA 安全策略,该设置对应于端点 “无”(None)。 说明 禁用不需要的安全策略 如果在 S7-1500 OPC UA服务器的安全通道设置中启用了所有安全策略,即采用端点“无”(None)(不安全),则服务器和客户端之间还可能存在非安全数据通信(既未签名也 未加密)。S7-1500 CPU 的 OPCUA 服务器还会向设置为“无”(None)(不安全)的客户端发送公用证书。某些客户端会检查该证书。但不会强制客户端向服务器发送证书。客户端的 身份可能仍保持未知。无论后续为哪种安全设置,每个OPC UA 客户端随后都可以连接到服 务器。 组态 OPC UA服务器时,请确保只选择与您的设备或工厂的安全概念兼容的安全策略。应禁 用所有其它安全策略。 建议:使用“Basic256Sha256- 签名和加密”(Basic256Sha256 - Sign and Encrypt) 设置,说 明服务器只接受 Sha256证书。安全策略“Basic128Rsa15”和“Basic256”默认取消激活,不能 用作端点。请选择安全策略较高的端点。附加安全规则 • 仅在特殊情况下,使用端点“无”(None)。 • 仅在特殊情况下,使用“访客身份验证”。 •如果确实有必要,则仅允许通过 OPC UA 访问 PLC 变量和 DB 元素。 • 在 S7-1500 OPC UA客户端的设置中使用可信客户端列表,以仅允许对特定客户端进行 访问。 参见 设备相关的安全功能 (页 367) 安全通道 -选择安全策略 (页 1872) ITU X.509 证书 (S7-1200, S7-1500, S7-1500T) OPCUA 的多个层级中,都集成有安全机制。其中,数字证书至关重要。仅当 OPC UA 服务 器接受 OPC UA客户端的数字证书并将其归类为可信时,客户端才能与服务器建立安全连 接。请参见“处理客户端和服务器证书(页 1868)”部分。 客户端还必须检查并信任服务器的证书。服务器和客户端必须显示自己的身份,并证明该身份与声明的相同。即,服务器和客户端必须证明自己的身份。例如,客户端和服 务器的相互验证可有效防止中间人攻击。 “中间人”攻击“中间人”可能会出现在服务器和客户端之间。中间人是一种程序,会截获服务器与客户端 之间的通信并将自身伪装为客户端或服务器,以获取 S7程序的相关信息或设置 CPU 的值, 进而对设备或工厂进行攻击。 OPC UA 使用的数字证书符合国际电信联盟 (ITU) 的X.509 标准, 可识别(认证)一个程序、计算机或机构的身份。 X.509 证书 X.509 证书包含以下信息: • 证书的版本号• 证书的序列号 • 证书颁发机构对证书进行签名的算法。 • 证书颁发机构的名称 • 证书有效期的起始和结束时间 •由证书颁发机构签名证书的程序、个人或机构名称。 • 程序、个人或机构的公钥。 X509证书将身份(程序、个人或机构的名称)与该程序、个人或机构的公钥关联在 一起。 在连接建立期间检查客户端与服务器建立连接时,设备将基于证书检查全部所需信息以确保其完整性,如签名、 有效期、应用程序名称 (URN),对于固件版本V2.5,还会检查客户端证书中客户端的 IP 地址。 说明 还会检查证书中存储的有效期。必须设置 CPU时钟,且日期/时间必须在有效期 内,否则将无法进行通信。