SIEMENS西门子 S120 伺服电机1FK7022-5AK71-1LG5
智能设备 / 智能从站 (S7-1200, S7-1500) RCVREC:接收数据记录 (S7-1200, S7-1500) 说明 智能设备可以从上位控制器接收数据记录。使用指令“RCVREC”(receive record),可以在 用户程序中进行接收。 该指令具有以下操作模式: • 检查智能设备是否有数据记录接收请求。 • 将数据记录提供给输出参数。 • 向上位控制器发送应答。 使用输入参数 MODE,可以确定该指令的操作模式(见下面)。智能设备必须处于 RUN 或 STARTUP 模式。 使用 MLEN,可以指定要接收的Zui大字节数。选择长度至少为 MLEN 个字节的目标区域 RECORD。 如果数据已接收(MODE=1 或 MODE=2),则输出参数 NEW 表示数据已存储在 RECORD 中。 注意 RECORD 应有足够的长度。输出参数 LEN 存储所接收数据记录的实际长度,单位为[字 节]。 将 CODE1 和 CODE2 置为 0,以给上位控制器发送肯定响应。如果拒绝接收的数据记录,则 在 CODE1 中输入 Error Code 1 并在 CODE2 中输入 Error Code 2,作为上位控制器的否定应答。 说明 如果智能设备已接收到数据记录接收请求,则必须确认该请求在特定时间内完成。确认后, 必须在该时间段内,向上位控制器发送响应。否则,智能设备会检测到超时错误,造成智能 设备的操作系统向上位控制器发送否定响应。描述有关持续时间值的信息,请参见 PRVREC (页 2932) 说明。 发生错误后,输出参数 STATUS 接收到错误信息。 操作模式 使用输入参数 MODE,可以确定指令“RCVREC”行的操作模式。具体解释见下表。MODE 含义 0 检查是否存在数据记录接收请求。 如果智能设备中存在上位控制器的数据记录,那么该指令将只写入输出参数 NEW、SLOT、SUBSLOT, INDEX 和 LEN。如果通过 MODE=0 调用该指令多次,则输出参数只针对同一请求。 1 从智能设备的任何子插槽接收数据记录。 如果在智能设备中存在用于智能设备任何子插槽的上位控制器的数据记录,则该指令只写入输出参 数,并将数据记录传送到参数 RECORD。 2 从智能设备的特定子插槽接收数据记录 如果在智能设备中存在用于智能设备特定子插槽的上位控制器的数据记录,则该指令只写入输出参 数,并将数据记录传送到参数 RECORD。3 向上位控制器发送肯定响应。 该指令检查上位控制器的请求,以接收数据记录,接受现有数据记录,并向上位控制器发送肯定响 应。 4 向上位控制器发送否定响应。 该指令检查上位控制器的请求,以接收数据记录,拒绝现有数据记录,并向上位控制器发送否定响 应。将拒绝原因输入到输入参数 CODE1 和 CODE2。 说明 接收到数据记录后(NEW=1),必须调用“RCVREC”两次,以确保完全处理。必须按下面顺 序操作: • 首次调用时,MODE=1 或 MODE=2 (必须在接收到请求后 1 秒内完成,否则系统将请求 IO 控制器的指令确认为否定响应。即,参数 STATUS (字段元素 STATUS[3] 对应于 Error_code_1): C2 (Resource busy)) • 第二次调用时,MODE=3 或 MODE=4 (必须在 MODE=1 或 MODE=2 时进行调用后 10 秒内 完成。等待时间结束后,上位 IO 控制器会接收到请求指令 (RDREC) 的 STATUS 参数中的以下 错误: STATUS 参数(字段元素 STATUS[3] 对应于 Error_code_1): A7 (Application busy))
通过智能设备执行的 RCVREC 编程示例 (S7-1200, S7-1500) 下例中,将数据记录从 IO 控制器写入传送区域,并在相应的智能设备中接收数据记录。 要求 • 两个固件版本不低于 v1.8 的 CPU S7-1500 • 其中一个 CPU 组态为智能设备。另一个 CPU 定义为gaoji IO 控制器。(参见 CPU 属性 > 工 作模式) • 如果尚不可用:创建两个传送区域。第一个传送区域供输入数据使用,另一个传送区域 供输出数据使用。每个传送区域的长度应为 1024 字节。(参见 CPU 属性 > 工作模式 > 传 送区域)CPU 1/函数块“SLI_FB_WRREC_iDevice”:程序段 2 的结果 如果常开触点(“start”)的信号状态为“TRUE”,则启动“WRREC”指令。WRREC 会通过几个周 期将存储在 RECORD 参数(“recordComm”)中的数据记录写入到 CPU 的传送区域(参见“id” 变量)。写入数据记录的长度不受限制,对应于输入参数 MLEN(“maxLength”)的“0”值。 处理的成功状态(VALID 为 TRUE)通过“checkedValid”变量进行存储。 IO 控制器通知智能设备已根据“WRREC”指令的输入参数 ID(“id”)将新的数据记录写入到输 出数据的传送区域。该数据记录随后通过“RCVREC”指令被智能设备接收。 CPU 1/函数块“SLI_FB_WRREC_iDevice”:程序段 3 的结果 当 WRREC 完成处理但仍在运行时,“start”变量会复位,WRREC 结束。 CPU 1/函数块“SLI_FB_WRREC_iDevice”:程序段 4 的结果 如果发生错误 WRREC(“error”变量的值为“TRUE”),则会将“#statStatus”变量的值传输到 “memErrStatus”变量,并且将重置“start”变量。 CPU 2/函数块“SLI_FB_RCVREC_iDevice”:程序段 1 的结果 函数块“SLI_FB_setMode_RCVREC”中的“newDataReceived”决定“0”模式适用还是应在其它模 式下运行“RCVREC”指令。 CPU 2/函数块“SLI_FB_RCVREC_iDevice”:程序段 2 的结果 “RCVREC”指令按照 MODE 参数(“mode”)指定的模式执行。如果“0”模式下输出参数 NEW (“newDataReceived”)的信号状态为“TRUE”,RCVREC 会在“1”模式下执行,随后进入“3”模 式。 RCVREC 通过智能设备的传送区域接收数据记录,并通过参数 RECORD(“recordComm”)进由 RCVREC 读取的数据长度会在输出参数“LEN”(“#statRLength”、“receivelength”)中输出。 数据长度受输入参数 MLEN(“maxLength”)的值“0”的限制。 接收到的数据记录数(如果对智能设备已知)会在输出参数“INDEX”(“dataRecNbr”)中输 出。PRVREC:使数据记录可用 (S7-1200, S7-1500) 说明 智能设备可以从上位控制器接收请求,以使数据记录可用。使用指令“PRVREC”,智能设备可 使数据记录在用户程序中可用(provide record)。MODE 含义 2 从智能设备的特定子插槽接收使数据记录可用请求。 如果在智能设备中存在用于智能设备特定子插槽,且来自上位控制器的使数据记录可用请求,则该 指令只写入输出参数。 3 使数据记录可用,并向上位控制器发送肯定响应。 该指令检查上位控制器的请求,以使数据记录可用,将请求的数据记录提供给 RECORD,并向上位 控制器发送肯定响应。 4 向上位控制器发送否定响应。 该指令检查上位控制器的请求,以使数据记录可用,拒绝该请求,并向上位控制器发送否定响应。 将拒绝原因输入到输入参数 CODE1 和 CODE2。 说明 接收到请求后(NEW=1),必须调用该指令两次,以确保完全处理。必须按下面顺序操作: • 首次调用时,MODE=1 或 MODE=2 (必须在接收到请求后 1 秒内完成,否则系统将请求 IO 控 制器的指令确认为否定响应。即,参数 STATUS (字段元素 STATUS[3] 对应于 Error_code_1): C2 (Resource busy)) • 第二次调用时,MODE=3 或 MODE=4 (必须在 MODE=1 或 MODE=2 时进行调用后 10 秒内 完成。等待时间结束后,上位 IO 控制器会接收到请求指令 (RDREC) 的 STATUS 参数中的以下 错误: STATUS 参数(字段元素 STATUS[3] 对应于 Error_code_1): A7 (Application busy)) 提示 可直接对第一次和第二次调用连续编程。 背景:通过 Mode 1 或 Mode 2 第一次调用指令后,CPU 无法处理该指令的其它实例,这意 味着没有其它数据记录作业。只有通过 Mode 3 或 Mode 4 编辑第二次调用后,CPU 才能处 理其它数据记录作业。如果在 Mode 1 或 Mode 2 时进行首次调用后调用了该指令的其它实例, 则状态会返回值 0xC080C300(= 错误,资源不可用)。 示例:在智能设备用户程序中使用资产管理数据记录功能以及 PROFIenergy 功能。资产管理 使用指令 PRVREC,而 PROFIenergy 使用指令 PE_I_DEV。PE_I_DEV 内部也使用指令 PRVREC 和 RCVREC。通过智能设备执行的 PRVREC 编程示例 (S7-1200, S7-1500) 在以下示例中,在智能设备中提供数据记录,并读取gaoji控制器中的数据记录。 要求 • 两个固件版本不低于 v1.8 的 CPU S7-1500 • 其中一个 CPU 组态为智能设备。另一个 CPU 定义为gaoji IO 控制器。(参见 CPU 属性 > 工 作模式) • 如果尚不可用:创建两个传送区域。第一个传送区域供输入数据使用,另一个传送区域 供输出数据使用。每个传送区域的长度应为 1024 字节。(参见 CPU 属性 > 工作模式 > 传 送区域) CPU 1(IO 控制器):数据的存储 创建以下变量,在全局数据块中进行数据存储。