在通过RK512与S7有链接的情况下,SFB12 (BSEND)和SFB13 (BRCV)上的参数 R_ID

问题:
在两个 S7 控制器之间存在有通过 RK512 的链接时, SFB12 (BSEND)和nSFB13 (BRCV)上的参数 R_ID 应是什么?

解答:

1. 使用 BSEND 和 BRCV

使用该编程选项,指定数据源为发送方,数据目的地为接收方。这种类型的数据传送的优点为:使用nBRCV 你可以估算 NDRn参数以了解何时数据被完全接收;使用EN_R参数,则可以防止数据接收方覆盖尚未处理的数据。

你的自动化系统
对于 BSEND 上的参数 R_ID,可以指定一个介于 0 和 255n之间的值(十进制)。CPU启动时该值被传送一次,之后不可再更改。你也不可指定其为任何其它值。CPn441 将在 RK 512 信息头中的 R_ID 值(介于 0-255 之间的一个值)作为nDX0-255(扩展数据块)传送到通信伙伴的 CP441。
R_ID 0-255 (十进制) --> DX 0-255 (十进制)

在通信伙伴的 CP441 中,R_ID 值(介于 0-255n之间的一个值)被重新构作,使得通过它可以寻址在通讯伙伴 CPU 上的有关nBRCV。注意:被传送数据的长度限制为 4 Kb。

通信伙伴的 CP441
通信伙伴的 CP441可依据 RK512 信息头中的数据类型 DXn识别出所选择的数据传送类型。这种情况下 RK512n信息头中的技术规范并不是目的地参数。它们代表了对一个 BRCV (SFBn13)的 R_ID 参考。而你必须在 CPU 的 S7n用户程序中调用该访问。下列关系应遵守:
DX0-255 (十进制) --> R_ID=0-255 (十进制)

重要的是,BRCV 的 R_ID 与 BSEND 的 R_ID 相等

调用 SFB12 (BSEND) 和 SFB13 (BRCV)的实例:
你的自动化系统

STL代码

注释

L 10
T DB20.DBW2

CALL SFB 12, DB12
REQ :=DB20.DBX0.0
R :=DB20.DBX0.1
ID :=W#16#1000
R_ID :=W#16#1
DONE :=DB20.DBX0.2
ERROR :=DB20.DBX0.3
STATUS :=DB20.DBW4
SD_1 :=p#DB10.DBX5.0 WORD 1
LEN :=DB20.DBW2

调用SFB12和SFB13。在参数 REQ 出现一个上升沿后,DB10n中的数据被通过 BSEND 作业把从数据字节 5n开始的数据(长度为10字节)传送到通信伙伴。
R-ID 为 1n

通信伙伴 CP 441

STL代码

注释

SET
= DB20.DBX0.4

CALL SFB 13, DB13
EN_R DB20.DBX0.4
ID :=W#16#1001
R_ID :=W#16#1
NDR :=DB20.DBX0.5
ERROR :=DB20.DBX0.6
STATUS :=DB20.DBW6
RD_1 :=p#DB20.DBX10.0 WORD 2048
LEN :=DB20.DBW8

数据由 BRCV 作业接收并被存在 DB20中的数据字节 10 中。在参数nLEN上,显示10字节作为接收到数据的长度。
重要的是,BRCV 的 R_ID 与 BSEND 的 R_ID 相等。

2. 使用 BSEND

使用此编程选项,由发送方指定数据源和数据目的地。这种类型的数据传送的优点在于您无需在用户程序中编程通信伙伴。

你的自动化系统
在参数 R_IDn中指定通信伙伴的目的数据区。CPU启动时该值被传送一次,之后不可再更改。参数nR_ID (DWORD)的结构如下:

字中的地址n

含义n

字节1n

数据类型 DB 的 ID:1 (十六进制)n

字节2n

不相关(可为任何值)n

字节3n

偏置值:0-255 (十进制,按字计)n

字节4n

DB号:1-255 (十进制)n

目的数据区的参数在 RK 512 信息头中被传送给通信伙伴。

注意事项:

  • 根据通信伙伴的 CPU 的型号,可传送数据的长度限制为450字节。
  • 因为对登录到通信伙伴上的 RK 512 的参数的限制,只能访问数据块n1 - 255。
  • 至于偏置值,最大可为255。

通信伙伴 CP 441
通信伙伴的 CP 441可依据 RK 512 信息头中的数据类型 DXn识别出所选择的数据传送类型。无须编程 CPU 的 S7 用户程序。

调用 SFB12 (BSEND)的实例:

STL代码

注释

L 10
T DB20.DBW2
L B#16#1
T DB20.DBB20
L 0
T DB20.DBB21
L 20
T DB20.DBB22
L 71
T DB20.DBB23

CALL SFB 12, DB12
REQ :=DB20.DBX0.0
R :=DB20.DBX0.1
ID :=W#16#1000
R_ID :=DB20.DBD20
DONE :=DB20.DBX0.2
ERROR :=DB20.DBX0.3
STATUS :=DB20.DBW4
SD_1 :=p#DB10.DBX5.0 WORD 1
LEN :=DB20.DBW2

长度 = 10 字节

数据类型DB

不相关

从数据字 20 (偏移量)开始

DB 编号 71

在参数 REQ 出现一个上升沿后,DB10 中的数据被通过 BSENDn作业把从数据字节 5 开始的数据(长度为 10n字节)传送到通信伙伴。在通讯伙伴一边,数据被从数据字 20 开始存储在nDB 71 中。CPU 启动时存储在 R_IDn中的目的地信息被传送一次,之后不再可更改。

 n

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc340902.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论