在 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_ServerMethodPre 查询服务器方法调用
先在用户程序中(即服务器方法中)调用“OPC_UA_ServerMethodPre”指令。
该指令将执行以下任务:
- 通过该指令询问 CPU 的 OPC UA 服务器是否已通过 OPC UA 客户端调用服务器方法。
- 如果已调用方法,并且服务器方法具有输入参数,服务器方法现在会接收到输入参数。
服务器方法的输入参数来自调用 OPC UA 客户端。
编辑服务器方法
在这部分服务器方法中,用户提供实际用户程序。
选项与其它任何用户程序中的选项相同(例如访问其它函数块或全局数据块)。
如果服务器方法使用输入参数,则可使用这些参数。
仅当 OPC UA 客户端已调用服务器方法时,才可执行服务器方法的这一部分。
成功执行方法后,如果方法具有输出参数,需要设置服务器方法的输出参数。
使用 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 服务器方法中执行,请参见图中的“<方法功能>”(<Method Functionality>)。
然后服务器方法使用指令“OPC_UA_ServerMethodPost”⑤ 通知固件 (B) 该指令已执行 ③。
固件通过 ② 将该信息返回至调用 OPC UA 客户端 (A)。
在“Cool1”之后,CPU 恢复循环用户程序。
A | 服务器方法的调用以及“完成”(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) |
“指令 > 通信 > OPC UA 服务器”(Instructions > Communication > OPC UA > OPC UA server) 的帮助中详细介绍了“OPC_UA_ServerMethodPre”和“OPC_UA_ServerMethodPost”。
词条
词条说明
组态提示如果与设备不存在在线连接,则只会显示“ PLUG 上的固件”(Firmware on PLUG) 复选框(见下图)。注意操作期间请勿卸下或插入 C-PLUG/KEY-PLUG!只允许在设备关闭后取出或插入 PLUG。设备会以一秒为间隔检查是否已插入 PLUG。如果检测到 PLUG 被卸下,则会重启。如果在设备中插入了有效 PLUG,设备会在重启后切换到预定的错误状态。若设备先前组态了 PL
详细视图详细视图的用途在详细视图中,将显示总览窗口或项目树中所选对象的特定内容。其中,可包含文本列表或变量。详细视图的布局下图显示了详细视图的一个示例:①标题栏②选项卡③所选对象的内容标题栏关闭详细视图的箭头位于详细视图的标题栏中。窗口关闭后,箭头的方向将从向左变为向右。此时,可使用该箭头重新打开详细视图。选项卡详细视图中显示的选项卡与所选择的对象有关。选择一个设备、设备链接,或包含这类对象的某个
编码器基础1.1光电编码器编码器是传感器的一种,主要用来检测机械运动的速度、位置、角度、距离和计数等,许多马达控制均需配备编码器以供马达控制器作为换相、速度及位置的检出等,应用范围相当广泛。按照不同的分类方法,编码器可以分为以下几种类型:Ø 根据检测原理,可分为光学式、磁电式、感应式和电容式。
可在打开的项目中搜索特定文本(搜索关键字)。搜索关键字可以是一个字、多个字或是句子的一部分。长度是限定搜索内容的一条件。可搜索的关键字较大长度为 255 个字符。可以使用通配符创建各种复杂的搜索条目。还可将搜索范围限定为特定区域、对象或对象属性。搜索时不区分大写和小写字母。系统会在后台自动创建可在项目中搜索的编辑器文本索引。每次更改后,系统都会更新搜索索引。仅当索引更新完成后,才能进行搜索。用户
公司名: 上海腾希电气技术有限公司
联系人: 田礼科
电 话: 021-37660026
手 机: 13681875601
微 信: 13681875601
地 址: 上海松江上海市松江区广富林路4855弄星月大业**88号4楼
邮 编:
网 址: shtxjd.cn.b2b168.com
公司名: 上海腾希电气技术有限公司
联系人: 田礼科
手 机: 13681875601
电 话: 021-37660026
地 址: 上海松江上海市松江区广富林路4855弄星月大业**88号4楼
邮 编:
网 址: shtxjd.cn.b2b168.com