西门子S7-300授权总经销商 6ES7390-1AE80-0AA0 异型导轨
6ES7390-1AE80-0AA0 SIMATIC S7-300,异型导轨, 长度:482.6 mm |
使用功能块 以下章节介绍了为功能块分配参数时应注意的事项。 FB 上的 STATUS 指示灯 请注意以下有关功能块上的 STATUS 指示灯的事项: 说明 DONE、NDR、ERROR 和 STATUS 参数仅对一个块周期有效。 要显示 STATUS,应将 STATUS 复制到空闲数据区。 DONE =“1”表示请求已完成且没有错误。 换言之: ● 使用 ASCII 驱动程序时: 已向通讯伙伴发送了请求。 不确保所有数据均已被通讯伙 伴接收到。 ● 使用 3964(R) 程序时: 已向通讯伙伴发送数据并已返回肯定确认。 不确保数据也被 传递到伙伴 CPU。 ● 使用 RK 512 计算机链接时: 已向通讯伙伴发送请求,该操作已将请求转发给伙伴 CPU 且没有错误。 CP 341 点到点通讯、安装和参数分配 130 设备手册, 04/2011, A5E01156022-03 通过功能块进行通讯 配合使用功能块和 3964(R) 程序 6 .3 6.3 配合使用功能块和 3964(R) 程序 可通过 3964(R) 程序连接到通讯伙伴的功能块如下所示: ● FB 8 P_SND_RK,用于传输数据 ● FB 7 P_RCV_RK,用于接收数据 可同时处理的请求 在用户程序中,只能为每个 CP 341 编写一个 FB P_SND_RK 和一个 FB P_RCV_RK。 此外,请切记,您只能: ● 为 FB P_SND_RK 使用 1 个背景数据块, ● 为 FB P_RCV_RK 使用 1 个背景数据块 这是因为 FB 的内部例程所需的状态存储在该背景数据块中。 数据一致性 6.3.1 块大小将 CPU 和 CP 341 之间数据传输的数据一致性限制为 32 个字节。 如果您要传输超过 32 个字节的一致性数据,则必须注意以下事项: ● 发送方: 仅当所有数据均已完整传输 (DONE = 1) 后才会访问发送 DB。 ● 接收方: 仅当收到所有数据 (NDR = 1) 后才会访问接收 DB。 您还必须禁用接收 DB (EN_R = 0),直到数据处理完毕。 S7 向通信伙伴发送数据 FB P_SND_RK 将数据从由 DB_NO、DBB_NO 和 LEN 参数指定的数据块传输到 CP 341。为了进行数据传输,可以循环调用 FB P_SND_RK,也可以在时间控制的程序 中静态(无条件)调用 FB P_SND_RK。 由 REQ 输入处的正跳沿启动数据传输。 根据包含的数据量,数据传输操作可能需要多次 调用(程序周期)。 当 R 参数输入处的信号状态为“1”时,可循环调用 FB P_SND_RK 功能块。 这会取消向 CP 341 的传输并将 FB P_SND_RK 设置为其初始状态。 CP 341 已接收到的数据仍发送 给通信伙伴。 如果 R 输入处的信号状态保持为静态“1”,这意味着已取消激活发送。 LADDR 参数指定要寻址的 CP 341 的地址。 CP 341 点到点通讯、安装和参数分配 设备手册, 04/2011, A5E01156022-03 131 通过功能块进行通讯 6.3 配合使用功能块和 3964(R) 程序 FB P_SND_RK 处的错误显示 DONE 输出显示“请求已完成且没有错误”。 ERROR 指示是否已发生错误。 如果发生了 错误,则在 STATUS 中显示相应的事件编号(请参见“功能块的诊断消息 (页 182)”部 分)。 如果没有发生错误,STATUS 的值为 0。DONE 和 ERROR/STATUS 也在 FB P_SEND RK 的 RESET 处输出(请参见“通过 FB P_RCV_RK 接收数据(被动请求) (页 146)”部分中的图)。发生错误时,二进制结果 BR 复位。 如果块已完成且没有错 误,则二进制结果的状态为“1”。 说明 P_SND_RK 功能块不会进行参数检查。 如果参数分配不正确,则 CPU 可能转至 STOP 模式。 必须先完成 FB P_SND_RK 的 CP-CPU 启动机制,则在 CPU 从 STOP 切换到 RUN 模式后 CP 341 才能处理激活请求(请参见“功能块的诊断消息 (页 182)”部分)。 在此期间启动的任何请求都不会丢失。 完成与 CP 341 的启动协调后便传输这些请求。 块调用 132 STL 表示法 CALL P_SND_RK, I_P_SND_RK LAD 表示法 SF: = REQ: = R: = LADDR: = DB_NO: = DBB_NO: = LEN: = R_CPU_NO: = R_TYP: = R_NO: = R_OFFSET: = R_CF_BYT = R_CF_BIT = DONE: = ERROR: = STATUS: = CP 341 点到点通讯、安装和参数分配 设备手册, 04/2011, A5E01156022-03 通过功能块进行通讯 配合使用功能块和 3964(R) 程序 6 .3 说明 参数 EN 和 ENO 仅存在于图形化表示(LAD 或 FBD)中。 编译器使用二进制结果 BR 处理这些参数。如果块被终止且未出错,则将二进制结果设置为信号状态“1”。 如果有错 误,则将 BR 设置为“0”。 数据区中的分配 FB P_SND_RK 与 I_SND_RK 背景数据块配合使用。 调用时将传递 DB 号。 实例 DB 需 要 414 个字节的装载存储器和 156 个字节的 RAM。不允许访问背景数据块中的数据。 说明 例外情况: 如果出现错误 STATUS = W#16#1E0F,可以参考 SFCERR 变量获取其它详 细信息。 该错误变量只能通过对背景数据块进行符号访问来装载。 FB P_SND_RK 参数 下表列出了 FB P_SND_RK 的参数。 说明 R_CPU_NO、R_TYP、R_NO、R_OFFSET、R_CF_BYT 和 R_CF_BIT 参数与 3964(R) 程序不相关,不必进行分配。 也不必分配 SF 参数,因为缺省情况下将输入表示发送的 “S”。 表格 6- 2 名称 FB P_SND_RK 参数 分类 数据类型 说明 REQ INPUT BOOL 允许的值、备注 在上升沿发出请求 R INPUT BOOL 取消请求 LADDR INPUT INT 取消正在进行的请求。 传输被禁止。 CP 341 起始地址 DB_NO INPUT INT 数据块号 起始地址从 STEP 7 获取。 发送 DB 号: 依 CPU 而定, 不允许为零 DBB_NO INPUT INT 数据字节号 0 ≤ DBB_NO ≤ 8190,从数据字节开始 发送数据 CP 341 点到点通讯、安装和参数分配 设备手册, 04/2011, A5E01156022-03 133 通过功能块进行通讯 6.3 配合使用功能块和 3964(R) 程序 名称 分类 数据类型 说明 允许的值、备注 LEN INPUT INT 数据长度 DONE1 OUTPUT BOOL 1 ≤ LEN ≤ 4096,通过字节数指定 请求完成且没有错误 STATUS 参数 == 16#00; ERROR1 OUTPUT BOOL 请求完成但有错误 STATUS1 OUTPUT WORD 错误规范 错误信息已写入 STATUS 参数。 如果 ERROR == 1,则 STATUS 参数 将包含错误信息。 1 该参数在下次调用 FB 之前一直可用。 FB P_SND_RK 的时序图 下图说明了 DONE 和 ERROR 参数的特性(取决于 REQ 和 R 的输入电路)。 图 6-1 FB 8 P_SND_RK 的时序图 说明 REQ 输入通过沿来触发。 REQ 输入处的上升沿足以将其触发。 在传输过程中的任何时 刻,逻辑运算的结果都不得为“1”。 CP 341 点到点通讯、安装和参数分配 134 设备手册, 04/2011, A5E01156022-03 通过功能块进行通讯 配合使用功能块和 3964(R) 程序 6 .3 6.3.2 S7 从通信伙伴接收数据 FB P_RCV_RK 将数据从 CP 341 发送到由 DB_NO、DBB_NO 和 LEN 参数指定的 S7 数据区中。 为了进行数据传输,可以循环调用 FB P_RCV_RK,也可以在时间控制的程 序中静态(无条件)调用 FB P_RCV_RK。 可以通过将 EN_R 参数处的(静态)信号状态置位为“1”来检查是否可以从 CP 341 读取 数据。可以通过将 EN_R 参数处的信号状态复位为“0”来取消激活的传输。 出现错误消息 (STATUS 输出),已取消的接收请求终止。 只要 EN_R 参数处的信号状态为“0”,就会 禁用接收。 根据包含的数据量,数据传输操作可能需要多次调用(程序周期)。 如果功能块识别出 R 参数处的信号状态“1”,则将取消当前的传输请求并将 FB P_RCV_RK 设置为其初始状态。 只要 R 参数处的信号状态为“1”,就会禁用接收。 LADDR 参数可定义要寻址的 CP 341。 FB P_RCV_RK 处的错误显示 NDR 输出显示“请求已完成且没有错误/数据已接受”(已读取所有数据)。 ERROR 指示 是否已发生错误。 如果发生了错误,则在 STATUS 中显示相应的事件号。 如果没有发生 错误,则 STATUS 的值为 0。还会输出 NDR 和 ERROR/STATUS 以响应 FB P_RCV_RK 的 RESET(LEN 参数 == 16#00)。发生错误时,二进制结果 BR 复位。 如 果块已完成且没有错误,则二进制结果的状态为“1”。 说明 P_RCV_RK 函数块不会进行参数检查。 如果参数分配不正确,则 CPU 可能转至 STOP 模式。 必须先完成 FB P_RCV_RK 的 CP-CPU 启动机制,CP 341 才能在 CPU 从 STOP 切换至 RUN 模式后接收请求。