SIEMENS西门子 S-1FL2低惯量型电机 1FL2 103-4AG01-1SC0
在 OPC UA 服务器上提供方法 (S7-1200) 关于服务器方法的有用信息 (S7-1200) 通过用户程序提供服务器方法 可通过作为 OPC UA 服务器的 S7-1200 CPU 上的用户程序提供 OPC UA 方法。 使用 OPC UA 方法,可以在控制器上触发特定操作并保证数据传输的一致性。 OPC UA 方法可使用作为 OPC UA 客户端的 S7-1200 上的方法调用来启动生产订单。 OPC UA 方法是“远程过程调用”的实现,为不同通信节点之间的交互提供了有效机制。该 机制提供作业确认和反馈值,因此用户无需再编程握手机制。 OPC UA 方法的工作原理 OPC UA 方法的工作原理类似于运行期间调用的受专有技术保护的函数块。 OPC UA 客户端仅“监视”已定义的输入和输出。函数块的内容(方法或算法)对外部 OPC UA 客户端不可见。OPC UA 客户端接收成功执行的反馈以及函数块(方法)返回的值,如果 执行不成功,则收到错误消息。 程序员完全控制并负责 OPC UA 方法执行的程序环境。 编程方法和运行行为的规则 • 确保 OPC UA 方法返回的值与 OPC UA 客户端提供的输入值一致。 • 遵守分配参数名称和结构的规则以及允许的数据类型(请参见 OPC UA 服务器指令的描 述)。 • 运行期间的行为:OPC UA 服务器在每个实例中可以调用一次。在调用完成或超时之前, 该方法实例不可用于其它 OPC UA 客户端。当达到允许连接到服务器的Zui长时间时,实 例时间到期。 服务器方法的实现 服务器方法的实现包括以下任务: • 为服务器方法指定可选输入和输出参数 • 使用 OPC_UA_ServerMethodPre 查询服务器方法的调用创建用户程序及 FB 类型或 UDT 关于如何创建 FB 和 UDT 在此将不再赘述;就此目的,请参见有关创建用户程序的说明,举 例而言,可声明块接口和声明 PLC 数据类型 (UDT)。 一致性检查 一致性检查(编辑器的“一致性检查”(Consistency check) 按钮)还将检查数据类型的映射 并更新编辑器相应列中数据类型的显示。5. 编译项目。 在编译后,新生成的实例节点将出现在服务器接口中。STEP 7 为每个背景数据块都创建一个 对象。生成的元素将位于每个此等对象之下。 同样地,STEP 7 也会为在实例化 UDT 时所创建的每个全局数据块创建一个对象。
• 写入服务器方法 • 使用 OPC_UA_ServerMethodPost 响应服务器方法 为服务器方法指定可选输入和输出参数 OPC UA 方法可选择指定输入或输出参数。没有任何参数类型是强制使用的。OPC UA 客户 端在运行期间向 OPC UA 方法提供输入参数。OPC UA 方法完成时,将返回运行期间 OPC UA 客户端的输出参数。 要指定 OPC UA 方法的输入参数,请按以下步骤操作: 1. 在 FB 接口的静态部分,指定名为 UAMethod_InParameters 的结构体。将此结构体数据类型 标记为“从 HMI/OPC UA/Web API 可访问”和“从 HMI/OPC UA/Web API 可写”。 2. 在此结构体内,设置 OPC UA 方法的输入参数。输入参数可采用任何有效名称。OPC UA 方法 中输入参数的数据类型可以是标量类型(Int、Real 等)、结构化数据类型或数组。 要指定 OPC UA 方法的输出参数,请按以下步骤操作: 1. 在 FB 接口的静态部分,指定名为 UAMethod_OutParameters 的结构体。将此结构体数据类 型标记为“从 HMI/OPC UA/Web API 可访问”。 2. 在此结构体内,设置 OPC UA 方法的输出参数。输出参数可采用任何有效名称。OPC UA 方法 中输出参数的数据类型可以是标量类型(Int、Real 等)、结构化数据类型或数组。 以下示例中显示了 OPC UA 方法的用户自定义输入和输出参数:使用 OPC_UA_ServerMethodPre 查询服务器方法的调用 在用户程序中从服务器方法调用“OPC_UA_ServerMethodPre”指令。 通过该指令查询作为 OPC UA 服务器的 S7-1200 CPU 是否已通过 OPC UA 客户端调用服务器 方法。 OPC UA 客户端调用服务器方法后,服务器方法会从 OPC UA 客户端接收全部输入参数。写入服务器方法 在 OPC_UA_ServerMethodPre 和 OPC_UA_ServerMethodPost 调用之间的服务器方法部分, 写入实际用户程序。可用选项与其它任何用户程序中的选项相同(例如访问其它函数块或全 局数据块)。如果服务器方法支持输入参数,则可使用这些参数。只有在 OPC UA 客户端调 用了服务器方法并且服务器方法接下来调用了 OPC_UA_ServerMethodPre 时,服务器方法 才可以执行此部分。 成功执行方法后,需要设置服务器方法的输出参数(如果方法具有输出参数)。 使用 OPC_UA_ServerMethodPost 响应服务器方法 调用“OPC_UA_ServerMethodPost”指令以完成服务器方法。 使用参数通知“OPC_UA_ServerMethodPost”指令用户程序的处理状态。 只要用户程序已成功执行,就可以通过相关参数通知 OPC UA 服务器。OPC UA 服务器随后 会将服务器方法的输出参数发送到 OPC UA 客户端。 关于服务器方法的信息 写入 OPC UA 方法时,“OPC_UA_ServerMethodPre”和“OPC_UA_ServerMethodPost”需要成对 使用。OPC UA 方法仅在添加这两种方法时才有效。 有关“OPC_UA_ServerMethodPre”和“OPC_UA_ServerMethodPost”的详细描述,请参见 TIA Portal 信息系统。
O OPC UA 客户端调用 OPC UA 服务器方法并管理其“完成”(Done) 状态。 ① OPC UA 客户端和 OPC UA 服务器方法之间的 OPC UA 方法调用是异步指令。 B OPC UA 服务器的固件等待来自 OPC UA 客户端的调用,管理队列中的调用,并将“完成”(Done) 信息 从循环用户程序转发到 OPC UA 客户端。 ② 此调用将数据从 OPC UA 服务器传输到用户程序实例(“Cool”方法函数块)。 C 通过 OPC_UA_ServerMethodPre 指令查询作为 OPC UA 服务器的 CPU 是否已通过 OPC UA 客户端调用 OPC UA 服务器方法。OPC UA 客户端调用 OPC UA 服务器方法后,OPC_UA_ServerMethodPre 指令设 置一个标志以指示 OPC UA 客户端正在调用 OPC UA 服务器方法。如果存在来自 OPC UA 客户端的输 入参数,OPC_UA_ServerMethodPre 指令将其写入“Cool”方法函数块。用户程序(“Cool”方法函数块) 必须首先调用 OPC_UA_ServerMethodPre 指令。 ③ “Cool”方法函数块执行 OPC_UA_ServerMethodPre 指令的同步调用。OPC_UA_ServerMethodPre 指令 是一个静态多实例变量,用于存储来自 OPC UA 客户端的输入数据。同步调用的返回值指示客户端是 否调用了 OPC UA 服务器方法。 ④ 循环用户程序使用所需实例参数异步调用“Cool”方法函数块。 ⑤ 此同步调用检查 OPC UA 服务器方法的状态(已完成或“正在运行”)。D OPC UA 服务器方法完成后, OPC_UA_ServerMethodPost 将方法实例的输出数据转发到 OPC UA 服务 器。OPC_UA_ServerMethodPost 还会通知方法实例和 OPC UA 服务器该方法已完成。 ⑥ 此调用将数据从用户程序实例(“Cool”方法函数块)传输到 OPC UA 服务器。 ⑦ OPC UA 服务器的固件将信息发送回 OPC UA 客户端。 此示例的工作原理 CPU 在循环用户程序 ④ 中执行“Cool”服务器方法函数块的“Cool1”实例。 “Cool1”实例调用“OPC_UA_ServerMethodPre”指令来查询③OPC UA 客户端是否调用了“Cool” 服务器方法函数块 ①。 • 如果 OPC_UA_ServerMethodPre 服务器方法函数块尚未调用 Cool 指令,则程序执行将通 过 ③ 和 ④ 直接返回至循环用户程序。“Cool1”之后,CPU 恢复循环用户程序。 • 如果“Cool”服务器方法函数块已调用 OPC_UA_ServerMethodPre, OPC_UA_ServerMethodPre 将通过③将信息直接返回到“Cool”服务器方法函数块。“Cool” 方法函数块现在立即执行并访问来自工厂机器的数据。 OPC UA 服务器方法完成后,“Cool”服务器方法函数块调用“OPC_UA_ServerMethodPost”指令 ⑤ 通知固件 (B) 该指令 ⑥ 已执行。固件通过 ⑦ 将该信息返回至调用 OPC UA 客户端 (A)。 “Cool1”之后,CPU 恢复循环用户程序。 关于服务器指令的信息 “指令 > 通信 > OPC UA 服务器”(Instructions > Communication > OPC UA > OPC UA server) 的 帮助中详细介绍了“OPC_UA_ServerMethodPre”和“OPC_UA_ServerMethodPost”。 使用服务器方法的边界条件 (S7-1200) 支持的数据类型 提供服务器方法时,请遵循以下规则: • 根据下图所示,指定数据类型(SIMATIC 数据类型 - OPC UA 数据类型)。系统不支持其 它分配方式。 STEP 7 不会检查是否遵循该规则,因此也不会预防分配错误。用户需确保所做的选择和数 据类型分配符合规则。