可以通过 SFB/FB 14 "GET",从远程 CPU 中读取数据。
S7-300:在 REQ 的上升沿处读取数据。在 REQ 的每个上升沿处传送参数 ID、ADDR_1和RD_1。在每个作业结束之后,可以分配新数值给 ID、ADDR_1 和 RD_1 参数。
S7-400:在控制输入 REQ 的上升沿处启动 SFB。在此过程中,将要读取的区域的相关指针(ADDR_i)发送到伙伴CPU。远程伙伴返回此数据。在下一个 SFB/FB 调用处,已接收的数据被复制到组态的接收区(RD_i)中。必须要参数 ADDR_i和 RD_i 定义的区域在长度和数据类型方面要相互匹配。
通过状态参数 NDR 数值为 1 来指示此作业已完成。只有在前一个作业已经完成之后, 才能重新激活读作业。远程 CPU 可以处千RUN或 STOP 工作状态。如果正在读取数据时发生访问故障,或如果数据类型检查过程中出错,则出错和警告信息将通过 ERROR和STATUS 输出表示。
通过使用 SFB/FB 15 "PUT",可以将数据写入到远程 CPU。
S7-300:在 REQ 的上升沿处发送数据。在 REQ 的每个上升沿处传送参数 ID、ADDR_1和SD_1。在每个作业结束之后,可以给 ID、ADDR_1 和 SD_1 参数分配新数值。
S7-400:在控制输入 REQ 的上升沿处启动SFB。在此过程中,将指向要写入数据的区域(ADDR_i)的指针和数据(SD_i)发送到伙伴CPU。远程伙伴将所需要的数据保存在随数据一起提供的地址下面,并返回一个执行确认。必须要参数 ADDR_i 和 SD_i定义的区域在编号、长度和数据类型方面相互匹配。
如果没有产生任何错误,则在下一个 SFB/FB 调用时,通过状态参数DONE 来指示,其数值为1。只有在Zui后一个作业完成之后,才能激活写作业。远程 CPU 可以处千RUN 或 STOP模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过 ERROR 和 STATUS输出表示。
打开 SIMATIC 315PN-1 的 OB1,在 OB1 中依次调用 FB14,FB15 如图 11、图 12 所示:
图11
参数 | 描述 | 数据类型 | 存储区 | 描述 |
REQ | INPUT | BOOL | I、Q、M、D、L | 上升沿触发调用功能块 |
ID | WORD | M、D、常数 | 地址参数 ID | |
ERROR | OUTPUT | 接收到新数据 | ||
STATUS | 故障代码 | |||
S7-300:ADDR_1 S7-400: ADDR_i (1 ≤i ≤ 4) | IN_OUT | ANY | M、D I、Q、M、D、 T、C | 从 S7-200 SMART 的数据地址中读取数据;V 区数据对应 DB1。 |
S7-300:RD_1 S7-400: RD_i (1 ≤i ≤4) | S7-300:M、D S7-400 I、Q、 M、D、T、C | 本站接收数据地址 |
FB14 参数说明
图12