全国服务热线 15801815554

SIEMENS西门子 操作面板KTP700 6AV2123-2GA03-0AX0

更新时间:2024-07-06 08:00:00
价格:请来电询价
西门子:代理经销商
精智面板:全新原装 假一罚十
德国:现货 实体经营
联系电话:15801815554
联系手机:15801815554
联系人:邓经理
让卖家联系我
详细介绍


           USEND 和 URCV 的编程示例 (S7-1200, S7-1500) 简介 在以下示例中,将在 S7-1500 系列的两个 CPU 间创建一个 S7 连接。将一个字符串(数据类 型 STRING)从 CPU 1 发送到 CPU 2 中。且数据的传送无需通信伙伴应答。ERROR STATUS (十进制) 说明 0 25 已开始通信。作业正在处理。 1 1 发生通信故障。可能的原因: • 连接描述信息未加载(本地或远程) • 连接中断(例如:电缆故障、CPU 关闭或者 CP 处于 STOP 模式) • 尚未与伙伴建立连接 1 4 接收区指针 RD_i 出错,该错误与数据长度或者数据类型有关。 1 10 无法访问本地用户存储器(例如,访问某个已经删除的数据块)。 1 18 R_ID 参数中的值已存在于 ID 参数中指定的连接中(对于连接,R_ID 值必须唯一)。 1 19 通过相关的“USEND (页 5493)”指令发送数据与通过“URCV”将数据复制至接收区相比 速度更快。 1 20 • 已超出并行作业的Zui大数量。 • 该作业正在处理之中,但其优先级较低(首次调用)。 1 W#16#80 C3 (仅 S7-1500) • 已超出并行作业的Zui大数量。 • 该作业当前正在执行,但优先级较低(首次调用)。 示例 相关示例,请参见“USEND 和 URCV 的编程示例 ”。 有关该示例的更多信息和程序代码,请参见“指令的示例库 ” 参见 同步指令和异步指令之间的不同之处 。

           要求 • 两个 S7-1500 系列的 CPU 通过 PROFINET 进行互连,并且组态了一个 S7 连接。 • “> 属性 > 保护”(> Properties > Protection) 中的低保护级别,可确保各 CPU 可进行读写访问。 CPU 1 中的程序 创建以下变量,在全局数据块中进行存储 USEND 的数据: 创建函数块“SLI_FB_USEND”。在该函数中创建以下局部变量。 程序段 1:互连“USEND”指令的参数,如下所示:分配通信连接 连接两个 CPU 的寻址参数和定义指令对的寻址参数必须一致。 • 在任何情况下,所组态 S7 连接中硬件 ID 的十六进制值都将存储到输入参数 ID (“connectionID”)中。 该硬件 ID 位于“连接”(Connections) 中的“网络视图”(Network view) 内。 • 在任何情况下,指令对的自选 ID(十六进制值,单位为字节)都将存储在输入参数 R_ID (“instructionPair”)中。该标识符不得已分配给其它指令对。 CPU 1 的行为 输入参数 REQ(“start”)的信号状态为“TRUE”时,启动指令“USEND”。之后,指令“USEND”将 输入参数 SD_1(“sendData”)中检测到的数据记录复制到 CPU 的工作存储器中。数据记录 成功复制后,输出参数 DONE(“#done”)中的信号状态为“TRUE”。由于输出参数的值仅在 有效时才显示,因此成功状态将保存在变量“done”中。 与输入参数 ID(“connectionID”)和 R_ID(“instructionPair”)相对应,CPU 2 中的指令 “URCV”将作为数据记录接收器(“sendData”),使用“HelloData”值进行寻址。数据将通过 S7 连接继续传送,而无需再执行 USEND(“start”可设置为“FALSE”)。 输出参数 ERROR(“error”)或变量“memErrStatus”)可用于指示本示例中 USEND 的执行过 程是否出错。CPU 2 的行为 CPU 2 通过 S7 连接接收 CPU 1 中的数据记录。与输入参数 ID(“connectionID”)和 R_ID (“instructionPair”)相对应,指令“URCV 将”作为该数据记录的接收器。输入参数 EN_R(“start”)的信号状态为“TRUE”时,启动指令“URCV”且准备就绪可以接收。指 令“URCV”将读取传送的数据记录,并将数据记录复制到输入参数 RD_1(“rcvData”)的数值 区域中。 数据记录成功复制后,输出参数 NDR(“#done”)中的信号状态为“TRUE”。由于输出参数的 值仅在有效时才显示,因此成功状态将保存在变量“done”中。 输出参数 ERROR(“error”)或变量“memErrStatus”)可用于指示本示例中 URCV 的执行过程 是否出错。 程序代码 有关上述示例的更多信息和程序代码,请参见“指令的示例库 ”。BSEND: 发送分段数据 (S7-1500) 说明 "BSEND" 指令将数据发送至 "BRCV (页 5505)" 类型的远程伙伴指令。对于已组态的 S7 连接 而言,这种类型的数据传送与所有其它通信指令相比,可以在通信伙伴之间传送更多数据。 在任何情况下,集成接口和 SIMATIC Net CP 的Zui大数据量均为 65534 字节(标准访问)或 65535 字节(优化访问)。 功能描述 指定具有输入参数 R_ID 的指令对“BSEND”和“BRCV”。相关指令中的参数 R_ID 必须相同。调用该指令并且在控制输入 REQ 上检测到上升沿之后,就会激活该发送作业。调用“BSEND” 后,不在后台对其进行处理,这表示只能在用户程序中读取数据。 要传送的数据区已经分段。各段独立地发送至伙伴。“BRCV (页 5505)”收到每一段后,伙伴 将确认该段。如果数据已分段,则必须多次调用“BSEND”,直到所有段均已传送完。 待发送数据的数据区域通过 SD_1 指定。为了确保数据一致性,只能在当前发送操作完成后 写入当前正在使用的发送区域 SD_1 的一部分。这种情况下,状态参数 DONE 的值将变为“1”。 根据作业的不同,可以使用 LEN 指定发送数据的长度。如果 LEN =“0”,那么将发送所有通过 SD_1 参数寻址的数据。 如果控制输入 R 出现了上升沿,则当前的发送过程会被中止。 由于使用了异步数据传送,只有在伙伴指令调用对先前的数据进行访存之后,才能启动新的 数据传送操作。数据采集完成后,伙伴指令“BRCV”中的状态参数“NDR”将置位。 说明 移植 S7-400 用户程序 S7-400 CPU 将参数 SD_1 解释为指针而非数据区域。 对于 S7-1500,LEN 不能超出 SD1 区域。但在 S7-400 中,可以超出。建议:将参数 LEN 的 Zui大大小(对于集成接口,为 65534 字节)用作参数 SD_1 中数据区域大小。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061