浔之漫智控技术(上海)有限公司
西门子授权代理商 , 西门子授权代理商 , 西门子一级代理商
SIEMENS西门子 ET200S输出模块 6ES71324HB500AB0

               FETCH_RK: 获取数据(RK 512) (S7-300, S7-400) 说明 使用指令 FETCH_RK,可以从通信伙伴获取一块数据,并将数据存储在数据块内。 • 调用该块并且在控制输入 REQ 上检测到上升沿之后,就会激活该发送过程。 • 已获取数据的存储区由 RD_1(数据块编号和起始地址)指定,数据块的长度由 LEN 给出。 • 也可以指定伙伴区域,指令将从该区域访存数据。 CPU 将该信息输入 RK512 消息帧的头 部,并将该帧传送给通信伙伴。 • 伙伴区域由 R_CPU 内的 CPU 编号(仅与多处理器通信有关)、R_TYPE 内的数据类型(数 据块、扩展数据块、存储位、输入、输出、计数器和定时器)、R_DBNO 内的数据块编号 (仅与数据块和扩展数据块有关)和 R_OFFSET 内的偏移量(将从该位置获取第一个字节) 等参数确定。 • 使用 R_CF_BYT 和 R_CF_BIT,可以在伙伴 CPU 上声明处理器间通信的标志字节和标志位。 • 使用参数 SYNC_DB,可以指定某个数据块,以存储所有指令用于启动时初始化和用于同 步的共用数据。 对于用户程序中的所有指令,该数据块的编号都必须相同。 • 为使该指令可以处理该作业,调用该指令时,必须满足 R(Reset)= FALSE。 控制输入 R 出现上升沿时,当前的发送任务会被取消,且指令会复位至初始状态。 终止已取消的作 业时,会发出一个错误消息(STATUS 输出)。 • 使用 LADDR 指定子模块 I/O 地址,该地址已在硬件组态期间定义。 • DONE 如果设置为 TRUE,则表明作业已成功完成;ERROR 如果设置为 TRUE,则表示作 业已经结束,但存在错误。 • 通过 STATUS,CPU 会显示错误或警告信息的相应事件 ID。 • 对指令执行 RESET 时(R = TRUE),还输出 DONE 或者 ERROR/STATUS。   

              取决于 CPU 0 发送参数: 此处可以指定: • DB 编号,将从此 DB 中传递数据。 • 数据字节编号,从该数据字节编号 开始发送数据。可能值: 0 至 8190 例如:DB 10,自第 2 个字节开始 -> DB10.DBB2 注: 注意,对于 S7-300 CPU,参数 SD_1 需要 DB 参数的所有技术数据 (例如,P#DB13.DBX0.0 字节 100)。只有 S7-300 CPU,才可省略 显式 DB 编号,否则会导致用户程序报 错。 LEN Input INT 1 至 1024 1 此处可以定义需传送的数据块的长度 (此处间接设置长度信息)。 有关有效数据类型的更多信息,请参见“有效数据类型概述数据一致性 数据一致性jinxian于 128 个字节。 如果希望一致性地传输超过 128 个字节的数据,则必须考 虑: 发送过程结束之前,不得对发送范围 SD_1 当前已使用区域再次执行写入操作。 状态参数 DONE 的值为 TRUE 时,情况也如此。出现错误时,会复位二进制结果 BR。 该指令正确执行完毕后,二进制结果的状态为 TRUE。 说明 本指令不含参数检查功能。如果参数分配不正确,CPU 将进入 STOP 模式。如果需要从您的 CPU 上获取数据,则必须在您的 CPU 上编写一条 SERVE_RK (页 9402) 指令。 背景数据块 FETCH_RK 指令的执行需要配合使用背景数据块。 通过调用传递该数据块的编号。 不允许 访问该背景数据块内的数据。 (扩展)数据块的特点 从数据块或者扩展数据块“获取数据”时,请注意以下特点: • 使用 RK 512 时,仅能发送偶数个字节的数据。 如果声明的数据长度(LEN)为奇数,则 将在被发送数据的后面追加一个填充字节。 然而,在目标数据块内,一定要写入正确的 数据编号。 • 对于 RK 512,声明的偏移值只能是偶数。 如果声明的偏移值为奇数,则在伙伴站上,数 据将自小于该偏移值的第一个偶数偏移值开始存储。 示例: 偏移量为 7 时,数据将从第 6 个字节开始存储。 定时器和计数器的特点 获取通信伙伴的定时器值或者计数器值时,必须注意,对于每个定时器值或者计数器值,都 必须获取两个字节。 例如,如果您想获取 10 个计数器值,则长度值必须声明为 20。 参数 指令“FETCH_RK”的参数如下表所示: 参数 声明 数据类 型 取值范围 默认值 说明 SYNC_DB Input INT 取决于 CPU 0 用来存储 RK 指令同步共同数据的数据 块的编号(Zui小长度 = 240 个字节)。 REQ Input BOOL TRUE/FALSE FALSE 控制参数 Request: 上升沿时激活该作业。参数 声明 数据类 型 取值范围 默认值 说明 R Input BOOL TRUE/FALSE FALSE 控制参数 Reset: 作业已终止。 LADDR Input WORD 取决于 CPU W#16#03FF 用户在硬件组态期间指定的子模块 I/O 地址。 R_CPU Input INT 0 至 4 1 伙伴 CPU 的 CPU 编号 (仅适用于多处理器操作) R_TYPE Input CHAR “D”、“X”、 “M”、“I”、“Q”、 “C”、“T” “D” 伙伴 CPU 上的地址类型 • “D”: 数据块 • “X”: 扩展数据块 • “M”: 位存储器 • “I”: 输入 • “Q”: 输出 • “C”: 计数器 • “T”: 定时器 R_DBNO Input INT 0 至 255 0 伙伴 CPU 上的数据块编号 R_OFFSET Input INT 请参见表: “数 据源(伙伴 CPU)的参数” 0 伙伴 CPU 上的数据字节编号 R_CF_BYT Input INT 0 至 255 255 伙伴 CPU 上的通信标志字节 (255: 意味着:没有处理器间通信标志) R_CF_BIT Input INT 0 至 7 0 伙伴 CPU 上的通信标志位 DONE Output BOOL TRUE/FALSE FALSE 状态参数(该参数的设置仅维持一个调 用周期): • FALSE:作业未启动,或仍在执行。 • TRUE:作业已成功执行完毕。 ERROR Output BOOL TRUE/FALSE FALSE 状态参数(该参数的设置仅维持一个调 用周期): 作业已成功完成参数 声明 数据类 型 取值范围 默认值 说明 STATUS Output WORD W#16#0000 至 W#16#FFFF W#16#0000 状态参数(该参数仅用于维持一个调用 周期。 为了显示该状态,应将 STATUS 复制至某个可用的数据区域。) STATUS 的含义如下(取决于 ERROR 位): • ERROR=FALSE: – STATUS 的值为 W#16#0000: 既无警告也无错误 – STATUS 的值不等于 W#16#0000: 警告,详细信息 请参见 STATUS。 • ERROR=TRUE: 出错,关于错误类型的详细信息, 请参见 STATUS。 RD_1 Input ANY 取决于 CPU 0 接收参数: 此处可以指定: • 用来存储已获取数据的数据块的编 号。 • 数据字节编号,将自该位置起存储 已获取的数据。可能值: 0 至 8190 例如:DB 10,自第 2 个字节开始 -> DB10.DBB2 注: 注意,对于 S7-300 CPU,参数 RD_1 需要 DB 参数的所有技术数据(例 如,P#DB13.DBX0.0 字节 100)。只 有 S7-300 CPU,才可省略显式 DB 编 号,否则会导致用户程序报错。 LEN Input INT 1 至 1024 1 此处可以定义需获取的数据块的长度 (此处间接设置长度信息)。 对于每个定时器和计数器,其长度都必 须声明为两个字节。 有关有效数据类型的更多信息,请参见“有效数据类型概述。

展开全文
拨打电话 微信咨询 发送询价