产品名称 | SIEMENS西门子 CPU中央处理器 6ES75184AP000AB0 |
---|---|
公司名称 | 浔之漫智控技术(上海)有限公司 |
价格 | .00/件 |
规格参数 | 西门子:代理销售商 S7-1500:全新原装 假一罚十 德国:正品现货 实体经营 |
公司地址 | 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室 |
联系电话 | 15801815554 15801815554 |
在 OPC UA 服务器上提供方法关于服务器方法的有用信息 提供用于服务器方法的用户程序 在 S7-1500 CPU(自固件版本 V2.5 起)的 OPC UA 服务器中,可以选择通过用户程序提供方 法。例如,OPC UA 客户端可使用这些方法,通过 S7-1500 CPU 的方法调用启动生产作业。 OPC UA 方法是“远程过程调用”的实现,为不同通信节点之间的交互提供了有效机制。该机制 提供作业确认和反馈值,因此用户无需再编程握手机制。 例如,使用 OPC UA 方法,可以持续传输数据,而无需触发位/握手或触发控制器上的特定操 作。 OPC UA 方法的工作原理 通常,OPC UA 方法的工作原理与运行系统中由外部 OPC UA 客户端调用的受专有技术保护函 数块的原理类似。 OPC UA 客户端仅“监视”已定义的输入和输出。函数块、方法或算法的内容对外部 OPC UA 客户 端保持隐藏。OPC UA 客户端接收成功执行的反馈以及函数块(方法)返回的值,或者,如果 执行不成功,则会收到错误消息。 作为程序员,对 OPC UA 方法运行的程序环境负有责任并具有完全控制权。 编程方法和运行行为的规则 确保 OPC UA 方法返回的值与 OPC UA 客户端提供的输入值一致。 遵守分配参数名称和结构的规则以及允许的数据类型(请参见 OPC UA 服务器指令的说 明)。 运行期间的行为:对于每个实例,OPC UA 服务器均接受一次调用。在调用已由用户程序处 理或已超时之前,方法实例不可用于其它 OPC UA 客户端。 实现用户程序(作为服务器方法)的基本步骤如下。 服务器方法的实现 用于实现服务器方法的程序(函数块)的结构如下: 1. 使用 OPC_UA_ServerMethodPre 查询服务器方法调用 先在用户程序中(即服务器方法中)调用“OPC_UA_ServerMethodPre”指令。 该指令将执行以下任务: – 通过该指令询问 CPU 的 OPC UA 服务器是否已通过 OPC UA 客户端调用服务器方法。 – 如果已调用方法,并且服务器方法具有输入参数,服务器方法现在会接收到输入参数。 服务器方法的输入参数来自调用 OPC UA 客户端。 2. 编辑服务器方法 在这部分服务器方法中,用户提供实际用户程序。 选项与其它任何用户程序中的选项相同(例如访问其它函数块或全局数据块)。 如果服务器方法使用输入参数,则可使用这些参数。 仅当 OPC UA 客户端已调用服务器方法时,才可执行服务器方法的这一部分。 成功执行方法后,如果方法具有输出参数,需要设置服务器方法的输出参数。 3. 使用 OPC_UA_ServerMethodPost 响应服务器方法 要完成服务器方法,应调用“OPC_UA_ServerMethodPost”指令。 使用参数通知“OPC_UA_ServerMethodPost”指令是否已处理用户程序。 如果用户程序已成功执行,则会通过相关参数通知 OPC UA 服务器。OPC UA 服务器随后会 将服务器方法的输出参数发送到 OPC UA 客户端。无论用户程序是由“OPC_UA_ServerMethodPre”和“OPC_UA_ServerMethodPost”指令处理还是在 下一个周期继续执行,始终以成对的形式调用这两个指令。 有关实现服务器方法的示例,请参见 STEP 7 在线帮助。 集成服务器方法 下图显示了 OPC UA 客户端 (A) 如何调用服务器方法“Cool”: CPU 在循环用户程序 ⑥ 中执行服务器方法“Cool”的实例“Cool1”。 CPU 首先使用指令“OPC_UA_ServerMethodPre”查询 ④ OPC UA 客户端是否调用了服务器方 法“Cool”①。 如果尚未调用服务器方法,则程序执行将通过 ④ 和 ⑥ 直接返回至循环用户程序。 在“Cool1”之后,CPU 恢复循环用户程序。 如果已调用服务器方法,则该信息将通过 ④ 返回至服务器方法“Cool”。实际功能现在会在 Cool 服务器方法中执行,请参见图中的“<方法功能>”()。 然后服务器方法使用指令“OPC_UA_ServerMethodPost”⑤ 通知固件 (B) 该指令已执行 ③。 固件通过 ② 将该信息返回至调用 OPC UA 客户端 (A)。 在“Cool1”之后,CPU 恢复循环用户程序。服务器方法的调用以及“完成”(Done) 信息(方法已完成)的管理 ① 服务器方法的异步调用 ② 调用方法的异步“完成”(Done) 信息(方法已完成) B 等待 OPC UA 客户端调用,管理队列中的调用,将“完成”(Done) 信息从循环用户程序转发到 OPC UA 客户端 ③ 在 OPC UA 服务器与用户程序的方法实例之间的数据传输 C 检查方法是否已调用。 如果已调用,将输入数据从 OPC UA 服务器转发到用户程序的方法实例,并为方法实例反馈方法已调用(“已调 用”) ④ 同步调用指令 OPC_UA_ServerMethodPre(作为多重实例),说明来自 OPC UA 服务器的输入数据的存储区域。 返回值指示 OPC UA 客户端是否调用了方法。
⑤ 检查方法是已完成还是仍处于活动状态(“忙”)。 D 检查方法是否已完成。 如果已完成,则会将方法实例的输出数据转发到 OPC UA 服务器,并通知方法实例方法已完成。通知 OPC UA 服务 器。 ⑥ 使用所需实例和过程参数调用方法 FB(在本例中为:FB Cool) 图 10-51 示例:调用“Cool”服务器方法 关于服务器指令的信息 “指令 > 通信 > OPC UA 服务器”(Instructions > Communication > OPC UA > OPC UA server) 的 帮助中详细介绍了“OPC_UA_ServerMethodPre”和“OPC_UA_ServerMethodPost”。 10.3.5.2 使用服务器方法的边界条件 支持的数据类型 提供服务器方法时,请遵循以下规则: 根据下图所示,指定数据类型(SIMATIC 数据类型 - OPC UA 数据类型)。系统不支持其它 分配方式。 STEP 7 不会检查是否遵循该规则,因此也不会预防分配错误。用户需确保所做的选择和数据 类型分配符合规则。 例如,所列出的数据类型,也可用作自定义服务器方法(UAMethod_InParameters 和 UAMethod_OutParameters)中输入和输出参数结构/数组/UDT 的元素。超出时的错误消息 如果超出服务器方法的最大数量,则指令 OPC_UA_ServerMethodPre 或 OPC_UA_ServerMethodPost 将报告错误代码 0xB080_B000 (TooManyMethods)。 使用带有嵌套数组的结构化数据类型 如果结构化数据类型 (Struct/UDT) 中包含一个数组,则 OPC UA 服务器无法提供该数组的长度 信息。 如果将该结构用作服务器方法的输入或输出参数,则需确保调用该方式时使用的嵌套数组长度 正确。 如果长度错误,则该方法调用失败且错误代码为“BadInvalidArgument”。提供 OPC UA 服务器报警有关报警的实用信息 通过报警可以快速检测自动化系统中的过程控制错误,并准确定位和清除这些错误。这有助于 大幅缩短工厂停机时间。OPC UA 信息模型“Alarms & Conditions”提供不限平台的标准化消息 处理方式。自固件版本 V2.9 起,S7-1500 CPU 的 OPC UA 支持 OPC UA 信息模型“报警和条件”。通过这种 方式,OPC UA 服务器可支持访问控制报警。 下面部分将介绍 SIMATIC 中可用的哪些报警类型是 OPC UA 服务器的 OPC UA 接口所支持的。 下文中还介绍了 S7-1500 CPU 中 OPC UA 服务器的报警和条件组态;OPC UA 与报警和条件模 型的架构;以及与 CPU 报警系统的 SIMATIC 控制器报警相比,使用 OPC UA 服务器地址空间 的报警时,需考虑的特殊事项。 将报警转换到 OPC UA Alarms & Conditions 的基础 Alarms and Conditions 信息模型在“OPC 10000-9: OPC Unified Architecture Part 9: Alarms & Conditions”规范中指定。 SIMATIC 中的控制器报警 S7-1500 CPU 的 OPC UA 服务器支持下列控制器报警,这些报警均可供 S7-1500 CPU 使用。用 户可按常规方式对这些报警进行组态和编程,无需额外考虑在 OPC UA 客户端上使用这些报警 的规则。 OPC UA Alarms and Conditions 所带来的额外优势是,这些报警类型不仅可通过 HMI 设备、 Web 浏览器、CPU 显示屏或 TIA Portal 显示,而且也可在支持 OPC UA 报警和条件的所有 OPC UA 客户端中显示。 ProDiag 的 PLC 监控报警 只需执行几个组态步骤,即可在程序中快速集成监控功能,且无需更改程序代码。由于仅 监控单个的操作数且无需额外编程,因此监控的组态与 TIA Portal 的编程语言无关。 系统诊断报警 与配置相关的模块事件以 CPU 硬件配置的方式提供,并可通过连接的显示设备加以评估。 这些事件只能在报警编辑器中查看,不能编辑。 程序报警(Program_Alarm 指令) 为报告程序同步事件,程序报警一次分配到一个块中。这些报警在程序编辑器中创建,在 报警编辑器 (TIA Portal) 中编辑。 GRAPH 报警 对于 GRAPH 函数块,用户还可启用报警;例如用于互锁、监控和 GRAPH 警告(步时间监 视)。 有关报警类型的重要信息 在报警行为的差异上,下列特性有重要意义: 报警是否有状态(例如,报警当前是处于进入还是离开状态,是否有相应的时间戳)? 报警是否需要确认? 如果这些特性均不适用,也就是说报警没有任何状态且无需确认,那么报警的作用仅是就已经 发生的事件提供相关信息(“发后即忘”)。具体是将报警缓存起来以备后用,还是仅用于显示 目的,这取决于接收报警的设备。 报警类别决定确认行为 本部分将介绍程序报警的设置选项。用户还可为系统诊断报警和 PLC 监控报警(例如, ProDiag 监控设置)设置报警行为 - 有关详细信息,请参见链接中的更多信息。